abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Sledujte AbcLinuxu.cz na:
facebook favicon logo  Facebooku twitter favicon logo  Twitteru,   identi.ca favicon logo  Identi.ca,   rss logo  RSS
Rozšířené hledání
×
včera 23:33 | Nová verze
Vyšla distribuce Linux Mint 12 v edici s KDE 4.7.4. Nová verze distribuce přináší zejména nové verze aplikací - Firefox a Thunderbird 8.0, LibreOffice 3.4.3 nebo Amarok 2.4.3. Zajímavostí je, že i tato edice přechází na webový vyhledávač DuckDuckGo, neboť ten je prvním, kdo tuto distribuci finančně podporuje.
Luboš Doležel (Doli) | Komentářů: 0
včera 22:46 | Nová verze
Vyšla jádra 3.0.19, 3.2.3 a 2.6.32.56. Všechna obsahují řadu důležitých oprav a Gregovu výzvu o nutnosti aktualizace.
Nicky726 | Komentářů: 2
včera 11:12 | Nová verze
Slashdot informuje o vydání Unicode 6.1.0. Nová verze přináší kromě jiného také 732 nových znaků (týká se například asijských a afrických jazyků a emotikonů). Jejich přehled a další informace o verzi 6.1 naleznete na serveru unicode.org.
Tomáš Heger (geckon) | Komentářů: 13
včera 10:03 | Pozvánky
Lupa.cz zve na panelovou diskusi o ACTA, která se koná 7. února od 9.30 v kině Atlas na Sokolovské ulici v Praze. Mezi pozvanými jsou Mikuláš Ferjenčík (Česká pirátská strana), Alex Ivančo (Ministerstvo průmyslu a obchodu), nezávislý konzultant a publicista Jiří Peterka, Markéta Prchalová (Česká protipirátská unie) a Miloš Šnytr (Úřad pro ochranu osobních údajů). Diskusi bude moderovat šéfredaktor Lupa.cz Patrick Zandl.
Tomáš Heger (geckon) | Komentářů: 24
včera 09:52 | Komunita
Red Hat na žádosti svých zákazníků prodlužuje podporu Red Hat Enterprise Linuxu ve verzích 5 a 6 ze sedmi na deset let. RHEL 5 tak bude podporován do března 2017 a RHEL 6 dokonce do listopadu 2020. Zdroj: ZDNet.
Tomáš Heger (geckon) | Komentářů: 13
včera 09:39 | Bezpečnostní upozornění
Byla vydána nová verze PHP 5.3.10. Opravena je bezpečnostní chyba CVE-2012-0830. Ta se objevila v předchozí verzi PHP 5.3.9 jako důsledek nepovedené opravy bezpečnostní chyby CVE-2011-4885.
Ladislav Hagara | Komentářů: 3
včera 09:06 | Komunita
Ars technica píše, že vývojář jádra Greg Kroah-Hartman opustil SUSE a stal se z něj „Linux Fellow“, což znamená, že je za svou práci placen z fondu Linux Foundation (podobně jako například Linus Torvalds). K jeho práci bude i nadále patřit mimo jiné správa stabilní větve a některých subsystémů linuxového jádra. Greg sám tuto novinku stručně oznámil na svém webu.
Tomáš Heger (geckon) | Komentářů: 4
2.2. 22:32 | Bezpečnostní upozornění
V pondělí 6. února skončí podpora Debianu 5.0 „Lenny“ (oldstable), což znamená konec aktualizací (včetně bezpečnostních). Pokud tuto verzi máte někde nainstalovánu, měli byste systém povýšit na aktuální stable verzi označenou jako Debian 6 „Squeeze“. Zdroj: Debian-linux.cz.
Tomáš Heger (geckon) | Komentářů: 24
2.2. 22:13 | Zajímavý článek
Aaron Seigo zveřejnil seznam odpovědí na časté otázky ohledně tabletu Spark. Spark bude postaven na Linuxu a KDE Plasma Active.
Luboš Doležel (Doli) | Komentářů: 4
2.2. 22:11 | Upozornění
Pracovníci Národního bezpečnostního týmu CSIRT.CZ, který již více než rok působí v rámci sdružení CZ.NIC, vydali včera doporučení pro správce internetových stránek. Tato doporučení souvisejí se stále trvajícími aktivitami skupiny Anonymous, jejíž sympatizanti útočí na vybrané internetové stránky různých institucí. Vydaná opatření mají za cíl snížit dopady útoků typu DDoS a jsou k dispozici na stránkách bezpečnostního týmu CSIRT.CZ.
Vilem Sladek | Komentářů: 6
Servery pro sdílení souborů (typu MegaUpload)
 (38%)
 (50%)
 (12%)
Celkem 308 hlasů
 Komentářů: 25, poslední včera 09:54
Rozcestník
Reklama
Autoškola testy online Levný benzín

<guid> v RSS - malej, ale šikovnej

17.2.2007 23:55 | Přečteno: 1774× | Web | poslední úprava: 22.2.2007 08:49

Malý, nenápadný, ale velmi šikovný element, to je <guid>. Je proto s podivem, že ho spousta webmasterů ignoruje.

Pokud nepíšete RSS kanály ručně (ahoj, Žirafko :-) ), nepíšete generátor RSS kanálů ani se nechystáte RSS kanály zpracovávat, asi Vám příspěvek k ničemu nebude.

Element <guid> se může nacházet v RSS kanálu jako potomek elementu <item>

Přestože specifikace praví, že element je nepovinný, domnívám se, že je silně doporučený a zkusím jeho (ne)použití demonstrovat krátkým příkladem.

Scénář 1: Nepoužívám <guid>

  1. Napíšu článek (třeba, zdroj, fotku, či cokoliv, co přijde do RSS feedu.
  2. V RSS feedu se objeví nová položka, uživatelé si ji přečtou
  3. V diskusi pod článkem se kromě obligátních vět jako "Úroveň tohoto .... upadá" objeví i upozornění na překlep.
  4. Autor překlep opraví, překlep byl ale v perexu článku, takže se projeví i v RSS feedu.
  5. RSS čtečka zjistí, že existuje nějaká nová položka a upozorní uživatele.[1]
  6. Uživatel se podívá a diví se, že má ve čtečce dva články se stejným nadpisem. Ten zvídavější zjistí, že se v perexu liší o jedno písmenko.
  7. Na laskavém čtenáři tohoto zápisku nechávám rozhodnout, jestli se bude uživatel naštvaný na autora čtečky, na majitele blogu nebo na ještírky.

Pokud často opravuji chyby v kanálech, míra frustrace uživatele roste s počtem oprav. Je věcí dalšího výzkumu, kde přesně se nachází hranice, po které si uživatel smaže kanál z čtečky.

Pěknou ukázkou "nepoužití" elementu guid byla například oblíbená Latrína v období, když ladili automatický generátor textů - několikrát denně se měnil perex a tak pro moji čtečku byl dgx produktivnější než iDNES, iHNED a iLblog dohromady.

Scénář 2: Používám <guid>

dtto jako nahoře, protože však feed obsahuje u položek item element guid s jedinečným identifikátorem článku. Inteligentní čtečka pak při aktualizaci pozná, že článek není nový, ale pouze opravený a uživatel se nebude divit.

Ukázka ve feedu

Ukázka z živého feedu - nezajímavé elementy (date a category) odstraněny.

<item>
   <title>Expedice Sacha 2006</title>
   <link>http://www.cestovatel.cz/clanky/expedice-sacha-2006/</link>
   <guid isPermaLink="false">7571-cestovatel.cz</guid>
   <description>&lt;p&gt;Po společné expedici do Mongolska za Olgojem Chorchojem v roce 2004 jsme
              se dohodli s Ivanem Mackerlem na cestě do severských lesů ruské tajgy,
              kde podle legend vyprávěných jakutskými lovci se nachází podivná obydlí &ndash; kotle z neznámého
              velice tvrdého načervenalého kovu.&lt;/p&gt;</description>
   <comments>http://www.cestovatel.cz/clanky/expedice-sacha-2006/nazory/</comments>
</item>

Obsahem elementu guid je unikátní identifikátor publikovaného článku (resp.zdroje). Obvykle bývá obsahem elementu trvalý odkaz na článek, nepředpokládá se, že článek bude po publikaci měnit svoji adresu. Pokud se adresa občas mění, je možné elementu guid přidat atribut isPermaLink="false" a jako obsah elementu použít libovolný rozumný identifikátor - například interní číslo dokumentu, apod. - podobně jako to je použité v ukázce

Poznámka: pokud použijete jako obsah elementu pouze číslo, pravděpodobně na vás Feed Validator zakřičí, že nepoužíváte dostatečně unikátní hodnotu a doporučí něco, co obsahuje jméno Vašeho webu.

Závěr

Pro testování feedu na obvyklé nectnosti (včetně absence tagu guid) jsem spáchal jednoduchou aplikaci: http://rss.na-mytince.cz/. Motivací pro zveřejnění byla kromě jiného také včerejší diskuse u Artura Denta.


[1] - čtečka teoreticky může za guid považovat adresu článku. Tato myšlenka však padá v okamžiku, kdy existuje web, kde je adresa všech článků stejná a mění se pouze perex.

       

Hodnocení: 100 %

        špatnédobré        

Anketa

Používáte element <guid>
 (40 %)
 (25 %)
 (3 %)
 (30 %)
 (2 %)
Celkem 63 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

18.2.2007 08:26 lukipuki | skóre: 4 | blog: Pieskoviny | Pezinok
Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
No ja používam Atom 1.0 a tak sa mi marí, že tam je element <id> povinný.
/dev/null: Permission denied
Luk avatar 18.2.2007 14:23 Luk | skóre: 46 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
Nic ve zlém, ale to testovátko nějak blbne. Hlásí mi to tohle:
Posílá hlavičku Etag: 1d23a3437ffb470b CHYBA: Špatně implementovaná hlavička Etag, feed byl znovu stažen.
Posílá hlavičku Last-Modified: (2007, 2, 15, 10, 34, 31, 3, 46, 0) CHYBA: Špatně implementovaná hlavička Last-Modified:, feed byl znovu stažen.
A přitom obě hlavičky jsou implementovány přesně podle RFC 2616. Posílané hodnoty jsou navíc v pořádku (Last-Modified odpovídá poslední změně, ETag se počítá jako hash z unikátního identifikátoru stránky a času poslední změny).
Věroš avatar 18.2.2007 21:53 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
Můžu prosím dostat adresu testovaného feedu?

Pro testování používám feedparser, stránka ho pouze pěkně zabalí.
Tak jsem si taky napsalredakční systém Do kterého klubu se mám přihlásit?
Luk avatar 18.2.2007 23:52 Luk | skóre: 46 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
Tady: http://www.cgym-kh.cz/rss2.php

BTW pro toho Cestovatele (toto) to také funguje divně, protože pro přítomný ETag to chybu nehlásí, kdežto pro Last-Modified to nenapíše nic, přestože ho server zjevně neposílá (ověřeno telnetem).

Něco mě napadlo - nemůže být třeba problém s case senzitivitou (u hlavičky ETag)? Totiž podle RFC 2616 je správně ETag (což posílám a testovač to nesežere), kdežto u Cestovatele je Etag (což, jak vidno, prochází).
Věroš avatar 19.2.2007 00:24 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
Přečetl jsi ten odkazovaný článek HTTP Conditional Get for RSS Hackers?

Co se testuje:
  • Podpora Etag nebo Last-Modified (kvůli šetření pásmem). Pokud feed správně alespoň jednu z metod, tak je shledán uspokojivým, neb slušná čtečka podporuje obě dvě metody (popsané v tom anglickém čálánku).
  • guid - ten je popsaný v tomhle blogspotu. S tím navíc nemáme problém, takže ho dále ignorovat.

  • Proč tedy zmíněné feedy projdou či neprojdou:
  • http://www.cgym-kh.cz/rss2.php neprojde, protože inzeruje podporu HTTP hlavičky Etag (aktuálně 1d23a3437ffb470b), ale pokud pošlu dotaz s HTTP hlavičkou If-None-Match: 1d23a3437ffb470b, dostanu znovu vygenerovaný feed (a HTTP status: 200 OK), což je špatně. Správně bych měl dostat HTTP status 304 Not modified a klient i server by ušetřili za přenos.
  • dtto Last-Modified, pouze v requestu je posílám hlavičku If-Modified-Since: Thu, 15 Feb 2007 11:34:31 CET.
  • Cestovatel podporuje pouze Etag, ale podporuje ho správně (tedy pokud se feed nezměnil, pošle 304. Last-Modified podporovaný není, ale testovadlo to nepovažuje za chybu.

  • Stačí tak?
    Tak jsem si taky napsalredakční systém Do kterého klubu se mám přihlásit?
    Luk avatar 19.2.2007 00:45 Luk | skóre: 46 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
    22.2.2007 22:29 Acci
    Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
    Dá se to ale řešit i bez elementu guid, stačí jen například porovnávat jak nadpis, tak perex a třeba ještě odkaz. Je ale pravda, že s použitím guid je svět o něco lepší ;)
    Věroš avatar 23.2.2007 08:32 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: <guid> v RSS - malej, ale šikovnej
    Ne, nedá.

    Zkus popsat tvůj algoritmus porovnávání nové / změněné a já ti vymyslím příklad generování feedu, na kterém zklame. :-)
    Tak jsem si taky napsalredakční systém Do kterého klubu se mám přihlásit?

    Založit nové vláknoNahoru

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2011 Argonit s. r. o. Všechna práva vyhrazena.