Portál AbcLinuxu, 1. května 2025 13:57
aneb další větší změna. Yin naimplementoval bug 469, což je podpora více autorů pro jeden článek. Nicméně jsme to vzali zgruntu a vyřešili i další problémy. Například zlepšit výkon při prohlížení článků určitého uživatele, samostatná stránka s hezkým url pro každého autora, autor už nemusí být uživatelem Abíčka, autor si už nemůže svévolně změnit jméno na nějaký nesmysl, u autora ukládáme jeho osobní údaje pro potřebu redakce. První verze vypadá funkčně, snad brzy tuto funkcni vylepšíme a přidáme další funkce, třeba text o autorovi či foto.
Teď me začíná trápit velikost dat v tabulce revize, což je primitivní implementace SCM. Verzování bylo snadné na implementaci a je maximálně rychlé, protože neukládám diffy ale celá data. Objem dat začíná být problém a měl bych jej začít řešit zavčasu. Mohli bychom poskytnout finanční odměnu, kdyby mě toho problému někdo zbavil. Požadavky: pure java, změny se týkají jen starších revizí (tabulka revize), mezi revizemi se ukládají jen diffy, diffy ignorují řádky (když někdo napíše dlouhý odstavec a někdo jiný změní jeden překlep, aby changeset obsahoval jen index a změnu, klasický diff vypíše index, původní řádek a změněný řádek). Pokud se do toho někdo chce pustit, nechť mě kontaktuje a domluvíme se na podrobnostech.
Tiskni
Sdílej:
něco.cz/muj_obsah/uzivatel-1569599
je daleko méně logické než něco.cz/uzivatel-1569599/muj_obsah
.
Představ si to jako souborový systém:
- uživatel - uživatel 1 - uživatelůb obsah - články - komentáře - zprávičky - uživatelův weblog - uživatel 2 - uživatelůb obsah - články - komentáře - zprávičky - uživatelův weblog - články - článek číslo 1 - komentáře - syndikace komentářů (RSS) - článek číslo 2 - komentáře - syndikace komentářů (RSS) - software - skupina software 1 - podskupina software 1 - software číslo 1 - skupina software 2 - podskupina software 3 - software číslo 2A tak dále.
/clanky/nazev-clanku/komentare/
/diskuze/nazev-diskuze/
... namísto /forum/show/12345
. Je to daleko logičtější. (U toho článku bych dokonce dělal URL ve stylu: /clanky/2006/12/nazev-clanku
-- pak to bude ještě lepší.)
Dále, do URL patří pomlčky, ne podtržítka. Má to určitý vliv na vyhledavače, i když ne moc velký. Daleko důležitější jsou HTML tagy <title>. Ty bych tvořil podobně jako ta URL, např.:
- Název článku (ABCLinuxu: Linux na stříbrném podnose)freshmouse (A v kroužku) jabber.org
).
První verze -(diff)> druhá verze -(diff)> třetí verze
Můj přístup:Třetí verze -(diff)> Druhá verze -(diff)> první verze
Pokud přidávám další verzi, udělám pouze diff mezi třetí a čtvrtou verzí a postup při získávání úplně původní revize pak bude
Čtvrtá verze -(diff)> třetí -(diff)> druhá -(diff)> první
v mém případě, nebo
První verze -(diff)> druhá -(diff)> třetí -(diff)> čtvrtá
ve tvém případě při získávání poslední revize. Jak jsem psal, vycházel jsem z toho, že poslední revize by se tahala častěji než první, takže by při jejím získávání nebylo potřeba procházet verzemi od začátku. Pokud je ovšem tabulka revizí používána pouze při přístupu k některé předchozí verzi a při změně textu, je to asi vcelku jedno.
select verze from verze where cesta=? order by kdy desc limit 0,1 select max(verze) from verze where cesta=?IMHO by oba prikazy mely byt ekvivalentni, ale mysql si to zrejme nemysli.
order by verze desc
? Pokud by měl sloupec "kdy" třeba duplicitní hodnoty...
(kód Ábíčka neznám, nestíhám ani vlastní projekty, takže jen odhaduju podle popisu)
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.