Možná se to tu už řešilo, možná to vůbec nejde. Zkoušel jsem hledat, ale nic jsem tu k tomu nenašel.
Dal by se přidat sloupec s datem publikace a třídit podle něj?
Teď třeba vyběhla nová krabička s datem založení 23.8., tj. owner ji dělal 3 měsíce a před publikováním nenastavil aktuální datum. Načetla se mi, ale i když jsem věděl, že je jedna nová, nemohl jsem ji najít v tabulce, při třídění podle data založení byla už dost dole.
Datum publikování je v publish logu a ten mám načtený u všech, kde jsem dal načíst listing i s logy. Chápu, že to nepůjde u těch, kde žádné logy načtené nemám.
Zkoušel jsem editor sloupců, ale nic co by se dalo použít, jsem tam nenašel.
Tridit podle data nejakeho logu nejde. Ono uz jen nacitani by bylo desive pomale, protoze pro kazdou kesku bu se musela prohledavat tabulka s logy, coz je tabulka, ktera je vubec nejvetsi.
Pokud po teto informaci clovek touzi, sel by udelat GG skript, ktery by si udelal patricne serazeny select na tabulku logu, a podle jeho vysledku pak nahledaval kesky a pridaval je do seznamu. V praxi to bude ale dost pomale a neresi to zobrazovani te informace.
Mám "drobně" upravený Combine, že můžu dávat SQL dotazy, tak jsem to vyzkoušel a není to tak zlé. Hlavní problém je, že v db nejsou u všech keší Publish logy … Takže je to VELMI nespolehlivé …
SQL mě taky napadlo, např. vygenerovat to najednou, přidat do tabulky, atd. Ale jednak neznám strukturu té databáze, jednak nevím, jak bych SQL vyvolal, jednak jsem toho v SQL moc neudělal a taky, nechci si dělat něco, co bude fungovat do prvního upgradu GG. A na to, abych to udělal pořádně a nabídl ostatním, znalosti nemám. Ani takové, abych poznal, jestli by to šlo udělat.
pokud publish log neexistuje, vezme datum ulozeni kese z databaze GG.
pro razeni idealni.
Problem je (jak psal osik), ze dle hodnot dodanych vizualskriptem nejde radit. Takze v tabulce to zobrazim, ale neseradim
//Zobrazi datum publikace v custom sloupci. Pokud neexistuje v DB log Published, zobrazi datum ulozeni dle GC.com
//Medwyn_cz
function PluginVisual(value: string): string;
var
geo : TGeo;
s : String;
begin
Result := ' '
if IsValidGc(Geoget_VisID) then
begin
geo := TGeo.Create;
try
geo.LoadByGc(Geoget_VisID);
GEOGET_DB.AddParamText(':id',geo.ID);
s := GEOGET_DB.GetTableString('SELECT dt FROM geolog WHERE id = :id AND type LIKE ''Publish Listing'' ORDER BY dt DESC LIMIT 1;');
if s <> ''
then Result := IntToStr(StrToInt(copy(s,7,2))) + '.' + IntToStr(StrToInt(copy(s,5,2))) + '.' + copy(s,1,4)
else Result := FormatDateTime('d"."m"."yyyy',geo.Hidden);
finally
geo.Free;
end;
end;
end;
OT: jak hodne upraveny? Puvodne jsem chtel SQL doplnit taky, ale pak jsem zjistil, ze je to jednak v GJ, druhak je to dost nebezpecne pro mene znale uzivatele. Takze me zajima, co delas s vracenym vysledkem SQL, aby to bylo uzitecne?
Jen pro info, to pole se ve formuláři přidání/editace cache jmenuje datum umístění. Jako autor nevidím důvod tam uvádět cokoliv jiného než datum, kdy jsem někde schoval krabičku.
Nicméně také nejsem nadšený z tohoto údaje, ostatně Groundspeak už má mnoho návrhů, aby se to změnilo na datum publikace.
Já mám na svých taky datum, kdy jsem to uložil. Jednou to trvalo 3 dni, podruhé týden, protože měl reviewer dovolenou. Ale když si založím 2-3 listingy a pak na nich dělám 3 měsíce, tak krabičku položím stejně až těsně před tím, než odešlu ke schválení.
Logičtější by opravdu bylo, kdyby GS dával datum publikace.