Vrámci zdokonalování tohoto blogu jsem do nového roku přidal několik
usnadnění jak sdílet a agregovat moje články.
Agregace
Box s možností přidat si tyhle stránky do své
oblíbené čtečky najdete na konci stránky. Nejprve jsem přidal (vrátil)
pár odkazů na přidání RSSka do Googlu,
Windows Live a na Seznam.cz, což jsou nejpoužívanější
portály mých návštěvníků. Pak jsem přidal možnost zaregistravat si můj FriendFeed, kde můžete sledovat
nejen moje blogové příspěvky, ale i štěbetání a další aktivity
v rámci sociální sítě. A když už jsem byl v tom, tak jsem ještě
prolezl logy a podíval se z jakých agregátorů sem ještě lidi chodí a
vyšlo mi z toho, že ještě musím přidat Bloglines, Netvibes a Newsgator, abych svým čtenářům
registraci do jejich čtečky usnadnil. Tak jsou tam…
Sdílení
U každého článku jsem měl v zápatí odkaz na sdílení v Delicious a v českém Linkuj! a když už jsem byl u toho
FriendFeedu tak jsem přidal možnost na něm sdílet i samotné články.
Jenže hodně lidí používá hlavně Facebook, tak proč nejít „stádu“
naproti? :) Pak je tu ještě Digg a českej
Jagg. Tak doufám, že teď budete mít,
drazí čtenáři, snažší sdílet mé bombastické články se svými
přáteli.
Jaké služby používáte k agregaci a sdílení vy?
Google Reader byl konečně obdařen funkcí, která nejen mně hodně
chyběla. Konečně i v Google Readeru
lze v agregovaných příspěvcích vyhledávat. Kromě toho lze i hledání
omezit pouze na určité složky/štítky.
OpenSearch je otevřený formát založený na XML, jehož vývoj iniciovala
a podporuje firma Amazon. V současné době existuje Draft 3 verze 1.1,
kterou implementují i nejnovější verze oblíbených prohlížečů Internet Explorer
7 a Firefox 2.0 nebo vyhledávač A9 právě od Amazonu. OpenSearch je sada
specifikací z nichž nejdůležitější jsou formáty OpenSearch Description
a OpenSearch Response. Tyto formáty jsou určeny k popisu vyhledávaciho
stroje a popisu nalezených výsledků.
OpenSearch Description
Tento formát je, jak už název napovídá, určen k popisu vyhledávacího
stroje. Základní elementy patří do jmenného prostoru
http://a9.com/-/spec/opensearch/1.1/ a kořenovou značkou je
OpenSearchDescription. Tato obsahuje následující
subelementy:
- ShortName
- Název vyhledávacího stroje
- Musí být v dokumentu právě jednou a jeho obsah je omezen na 16 znaků
čistého textu.
- Description
- Popis vyhledávacího stroje
- Musí být v dokumentu právě jednou a jeho obsah je omezen na
1024 znaků čistého textu.
- Url
- URL hledaného datazu
- Musí být v dokumentu alespoň jednou, nejedná se o párovou značku,
obsah je definován následujícímí atributy.
- povinný atribut template definuje šablonu url datazu, šablona je
parametrizována pomocí OpenSearch URL template
syntaxe, povinný je parametr
{searchTerms}, který je
nahrazován hledanou frází
- povinný atribut type určuje MIME typ výstupu hledání
- nepovinné atriuty indexOffset a pageOffset slouží
k posunutí indexu prvního výsledku nebo první stránky, oba jsou
přednastaveny na jedničku. Ovlivňují počítání nepovinných parametrů
{startIndex?} a {startPage?}.
- Contact
- Nepovinný element definující kontakt na adminstrátorara. Element může
obsahovat pouze e-mailovou adresu a v dokumentu se může vyskytovat
maximálně jednou.
- Tags
- Nepovinný element obasující klíčová slova oddělená mezerou. Délka
je omezena na 255 znaků a element se může v dokumentu vyskytovat
maximálně jednou.
- LongName
- Název vyhledávacího stroje ve formě čitelné pro lidi
- Může se v dokumentu vyskytovat maximálně jednou a měl by být
preferovaný pro zobrazování před ShortName. Délka je omezena na
48 znak.
- Image
- Ubsahuje URL obrázku, grafické ikonky, spojené s vyhledávačem.
- Počet výskytů není omezen, jednotlivé obrázky se mohou lišit ve
velikosti a MIME typu, které jsou specifikovány následujícími volitelnými
atributy.
- Atribut width určuje šířku obrázku
- Atribut height určuje šířku obrázku
- Atribut type určuje MIME typ obrázku
- Language
- Definuje jazyk výsledku hledání, obsah může obsahovat pouze zkratku
jazyka podle XML nebo asterix (*) pro všechny jazyky.
- InputEncoding
- Znaková sada přijímaná vyhledávacím strojem. Pokud nejí určeno
použije se UTF-8 kódování.
- OutputEncoding
- Znaková sada výstupu hledání.
Sepecifikace definuje ještě několik dalších elementů pro definici práv
k dokumentu, ochrana mladistvích apod. které se používají ve specifických
případech a jejich použití není zas tak běžné. Nyní si ještě
doplníme výčet URL parametru.
OpenSearch URL parameters
Parametry se používají v atributu template značky
Url a jsou nahrazovány konkrétními daty dotazu. Syntaxe
parametru je velice jednoduchá: název pramatru je uzavřen ve složených
závrokách a nepovinnost parametru je vyjádřena otazníkem před uzavírací
závorkou. Příklad: {povinnyParametr} a
{nepovinnyParametr?}. Parametry mohou být rozšířeny o vlastní
sady pomocí XML jmenných prostorů. Ukázka <Url
xmlns:moje="urn:moje-rozsireni"
template="http://example.com/?q={searchTerms}&neco={moje:neco}"
....
- searchTerms
- Parametr je nahrazen hledanou frází
- count
- Parametr je nahrazen počtem výsledků na stránku
- startIndex
- Parametr je nahrazen indexem výsledku
- startPage
- Parametr je nahrazen číslem stránky
- language
- Parametr je nahrazen jazykem
- inputEncoding
- Parametr je nahrazen vstupním kódováním
- outputEncoding
- Parametr je nahrazen výstupním kódováním
Ukázku kódu najdete v prvním díle této mini
série. Tímto bych ukončil popis formátu OpenSearch Description a příště
bych rád něco o formátu OpenSearch Response.
O formát OpenSearch jsem se začal zajímat někdy najaře letošního roku
z velmi prostého důvodu – lze v něm snadno definovat vlastní
vyhledávací modul pro Internet Explorer 7.0 a Firefox 2.0. To však není
vše, co tento formát umí a k čemu je určený.
Definice vyhledávacího modulu
Pokud máte na svém webu implementováno vyhledávání, můžete svým
návštěvníkům zkrátit cestu přidáním vlastního modulu, který se
přidá do seznamu vyhledávacích strojů ve vašem prohlížeči. Jak na to
vám vysvětlí následující odstavce :)
Nejprve je nutné napsat OpenSearch Description dokument s definicí vašeho
modulu. Malá ukázka:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Web Search</ShortName>
<Description>Use Example.com to search the Web.</Description>
<Tags>example web</Tags>
<Contact>admin@example.com</Contact>
<Url type="text/html"
template="http://example.com/?q={searchTerms} "/>
<Url type="application/rss+xml"
template="http://example.com/?q={searchTerms}&format=rss"/>
</OpenSearchDescription>
Ukázka popisuje fiktivní vyhledávač, který poskytuje výsledky hledání
ve formě HTML a RSS (dva elementy Url s definovaným
content-typem), důležitým parametrem je {searchTerms}, který
klient (např. prohlížeč) nahradí svým dotazem, další
parametry . Obsah elementu ShortName určuje název
vyhledávacího stroje – tento se bude zobrazovat v seznamu vyhledávacích
modulů. Další elementy jen přidávají další metadata pro
autodiscovery.
Pak stačí přidat do vašich stránek element link, který
odkazuje na soubor vytvořený v předešlém kroku. Připojení je obdobné
s připojováním RSS nebo Atom kanálu. Příklad:
<link rel="Search"
href="http://www.example.com/opensearch.xml"
type="application/opensearchdescription+xml"
title="Example Search" />
Pokud pak navštívíte takovou stránku,
prohlížeč vám dá vědět, že našel modul rozsvícením tlačítka pro
výběr modulu.
Další možností, jak modul vytvořit je použít generátor.
Související
Díky možnosti vidět do zákulisí služby Weblogy.cz mám k dispozici
zajímavá statistická data ohledně správnosti RSS výstupu jednotlivých
zdrojů. Více než půlka uspěla. To je ta dobrá zpráva.
Většinou jde o výstupy kvalitních redakčních systémů a veřejných
blogovacích služeb. To jsou ti machři. A co naše sněženky?
Nejčastější chybou je entitování entit, kdy v kódu najdete něco jako
&nbsp; na místě, kde by měla být nedělitelná mezera.
Další častou chybou je vkládání HTML do description nebo
ještě lépe HTML v description uzavřít do <![CDATA[
]]> což je taktéž chybou. Další, již méně častou
chybou, je použití jmenných entit, které nejsou v XML podporovány, bez
použití DOCTYPE.
Tak se milé sněženky polepšete, ať jste také mezi námi, machry :D
V článku Dobrý
web je naším vzorem na La Trine došlo i na téma Weblogy.cz a personalizace. Někdo si
posteskl, že se na této službě vyskytují články, o které nemá zájem,
a že by některé zdroje neměly být v této službě agregovány.
Pokud tedy nechcete články z některého ze zdrojů na Weblozích vidět,
stačí si v seznamu zdrojů
nežádaný zdroj zablokovat pomocí volby blokovat, za jménem zdroje. Málo
kdo však ví, že podobně jde personalizovat i RSS export z této
služby.
Konkrétně DGX
si posteskl, že to nejde. No a dnešní článek je otom, že to jde. :)
Jak na to?
Například pokud se vám nelíbí články z mého blogu, přidejte si do
adresy RSS exportu Weblogů
parametr blacklist=146. Kde 146 je id mého blogu. Toto id
zjistíte právě v URL tlačítka blokovat. Takže výsledný export bez
Rarouš Weblogu bude mít URL:
http://www.weblogy.cz/export/rss/?blacklist=146. Parametr blacklist
přijímá kolekci idček oddělených čárkou, takže tímto způsobem
můžete zakázat více zdrojů.
A to je vše.
„Kdo?“ „Néé, co!“
Odedneška mám dovolenou (až do konce příštího týdne) a tak jsem se
podíval na zoubek mým
ztraceným komentářům. Postup jak na to jsem si už dopředu vymyslel.
Využil jsem toho, že si všechny komentáře syndikuju v Google Readeru. Přepsané komentáře jsem
si v GR označil labelem a využil možnosti takový label sdílet (ve formátu
Atom). Napsal jsem si importér z Atomu do SQL Update příkazu a začal
sosat data.
Ano sosat jsem musel postupně, protože GR exporty mají jen dvacet položek
a já potřeboval těch komentářů vysosnout zhruba 200 :) Takže jsem musel
ručně odštítkovat naimportované komentáře a opět provést import. No
alespoň část toho procesu se mi povedlo zautomatizovat a ušetřit tak pár
hodin práce :)
Důležité však je, že většina komentářu je zase ve své původní
podobě a na spráném místě. Bohužel přibližně deset komentářů jsem
v onen osudný den nestihl nasyndikovat. Ty jsou asi nenávratně pryč, teda
pokud je někdo nemá někde v útrobách své čtečky :) Kdyby je náhodou
někdo našel, prosím o jejich vrácení :D
Děkuji za pozornost.
Dnes se internetem šíří samé podivné zprávy. Nejprve RSS team
zveřejnil informaci, že ikonka pro
feedy v novém Internet Exploreru bude stejná jako ve Firefoxu, na čemž
se domluvili zástupci obou stran (Microsoft a Mozilla Foundation). Takovýto
postup prý není ojedinělým. Předtím se takto domluvili na podbarvení
adresního řádku ve výjimečných situacích.
Další neuvěřitelnou zprávou je, že Microsoft spojí své
síly s Googlem, Sunem a univerzitou Berkley. Ke spojení sil dojde pouze
na akademické půdě, jde totiž o vytvoření výzkumné laboratoře, kde se
budou vyvíjet a testovat technologie pro RAD systémy.
V ostatních případech zůstanou tyto firmy rivaly.