BizKitHub

RSS kanály

Naposledy aktualizováno 24. dubna 2026

RSS kanály jsou stále živým způsobem, jak se vypořádat s roztříštěností obsahu napříč internetem — průmyslové novinky, blogy konkurence, tiskové agentury i interní firemní zprávy, to vše publikuje své aktualizace tímto kanálem. Modul /rss-feed proto slouží jako centrální místo, kam si organizace připojí všechny externí zdroje, které potřebuje monitorovat. Každý takový zdroj má své vlastní tempo a strukturu a úkolem modulu je sjednotit je všechny tak, aby redakční tým nemusel otevírat desítky záložek v prohlížeči. Stažený obsah zůstává v systému jako zdrojová data pro další zpracování — typicky slouží jako inspirace, základ pro kurátorskou práci nebo vstup do navazujícího workflow, které z RSS položky umí udělat například plnohodnotný článek v redakčním systému.

Přehled RSS kanálů

Hlavní tabulka zobrazuje všechny organizací připojené kanály, u každého z nich pak informace nutné k průběžnému monitoringu. V řádku administrátor uvidí jméno a URL zdroje, jeho status (aktivní / neaktivní), poslední synchronizaci v relativním formátu spolu s HTTP kódem odpovědi, počet importovaných článků a datum nejnovějšího, datum nejstaršího dostupného článku (užitečné pro odhad pokrytí historie) a datum přidání kanálu do systému. Tabulka se automaticky obnovuje každých 30 sekund, takže výsledek právě probíhající synchronizace se objeví bez manuálního zásahu.

Řazení při hromadné synchronizaci

Při spouštění hromadné synchronizace systém prioritizuje kanály, které ještě nikdy nebyly staženy — ty jsou zpracovány jako první, aby co nejrychleji začaly produkovat data. Následují kanály s úspěšnou poslední synchronizací a nakonec kanály s chybami. V rámci skupiny je vždy nejdříve zpracován ten zdroj, který byl naposledy synchronizován nejdříve. Díky tomuto rozvrhu se každý kanál po čase dostane na řadu a žádný z nich nezůstane dlouho bez aktualizace.

Přidání nového kanálu

Tlačítko Přidat v pravém horním rohu otevře formulář pro zadání URL nového RSS zdroje a jeho pojmenování. Modul má při přidávání zajímavou optimalizaci: RSS kanály jsou sdíleny napříč organizacemi. Při vytváření systém ověří, zda daná URL již existuje, a pokud ano, vytvoří pouze nový odkaz mezi organizací a existujícím kanálem, takže se připojíte k již nashromážděným datům. Pokud URL v systému ještě není, vytvoří se zcela nový záznam. V obou případech je kanál pro danou organizaci aktivován.První synchronizace se neprovádí automaticky — je potřeba ji spustit buď individuálně tlačítkem Synchronizovat tento kanál v kontextovém menu, nebo hromadně pomocí Synchronizovat všechny kanály v horní liště. Důvodem této opatrnosti je to, že zdroj v okamžiku vytvoření nemusí být dostupný, a tato pauza dává administrátorovi čas na zvážení.
ℹ️ Sdílení kanálů je záměrné a výhodné — pokud je daný zdroj již v systému využíván někým jiným, vaše organizace se připojí k již staženým datům, což šetří síťový provoz a nároky na cílový server.

Detail kanálu

Kliknutím na kanál se otevře jeho detail se záložkou Články, která zobrazuje všechny příspěvky importované z tohoto zdroje. U každého článku je viditelný titulek, autor, URL, datum publikace převzaté z RSS a datum objevení (tj. okamžik, kdy ho systém poprvé stáhl). Rozdíl mezi těmito dvěma daty je často užitečný: datum publikace udává, kdy zdroj samotný článek publikoval, zatímco datum objevení odpovídá tomu, kdy se o něm dozvěděl náš systém. Pokud je RSS kanál přidán se zpožděním, jsou tyto dvě informace výrazně odlišné a pomáhají pochopit časový kontext.

Jak funguje synchronizace

Synchronizace je proces, při kterém systém stahuje aktuální obsah RSS adresy a aktualizuje lokální databázi. Začíná stažením URL s přísným 15sekundovým timeoutem — pokud zdroj do té doby neodpoví nebo vrátí chybu, systém uloží HTTP kód a čas pokusu, ale obsah se nemění. Když obsah dorazí úspěšně, systém spočítá jeho kontrolní součet (hash) a porovná ho s hashem z poslední úspěšné synchronizace. Pokud se obsah od minule nezměnil, aktualizuje se pouze čas a HTTP kód a články se vůbec znovu nezpracovávají — tato optimalizace šetří výpočetní výkon při častých synchronizacích zdrojů, které publikují nepravidelně.Pokud je obsah nový, systém jej parsuje jako XML (RSS nebo Atom — oba formáty jsou podporovány) a zpracovává všechny položky. Každý článek je identifikován svým unikátním GUID, nebo URL, pokud GUID chybí. Nové články jsou přidány, existující jsou aktualizovány (titulek, popis, autor, datum publikace). Článek, který již v novém XML není (například proto, že zdroj archivuje jen posledních deset položek), zůstává v databázi — systém aktivně nemaže historii, aby redakční tým měl k dispozici kompletní časovou osu.

Podporované formáty

Systém rozpoznává a parsuje dva formáty. RSS 2.0 je klasický RSS formát se strukturou <channel><item>, který je standardem pro zpravodajské weby. Atom je alternativní formát, používaný například WordPressem. Pro oba se extrahují stejná pole: titulek, popis nebo shrnutí, autor (včetně dc:creator), datum publikace a URL článku. Jiné formáty — jako například JSON Feed — nejsou podporovány.

Akce s kanálem

Modul nabízí na několika místech akce, které pokrývají rutinní administraci. Synchronizovat všechny kanály v horní liště iniciuje kontrolu všech aktivních kanálů organizace najednou — to je typická akce, kterou administrátor provádí ráno nebo dle potřeby. Synchronizovat tento kanál v kontextovém menu řádku aktualizuje pouze jeden vybraný kanál (užitečné po přidání nového zdroje nebo při pokusu o opravu chyby). Smazat odebere kanál z organizace — odstraní se pouze propojení, zatímco samotný záznam kanálu může existovat dál pro jiné organizace.

Monitorování chyb

Každá synchronizace zaznamenává HTTP kód odpovědi, který rychle prozradí, zda je se zdrojem něco v nepořádku. 200 znamená, že vše proběhlo v pořádku. 301 a 302 jsou přesměrování, která systém automaticky následuje. 403 značí, že server odepřel přístup (často kvůli omezením na User-Agent nebo IP adresu). 404 znamená, že zdroj neexistuje a URL je potřeba opravit nebo kanál smazat. Kódy 500, 502 a 503 značí chybu na straně zdrojového serveru, což obvykle znamená počkat a zkusit to později. Prázdný sloupec znamená, že kanál nebyl nikdy synchronizován.Pokud selže parsování XML (například kvůli neplatnému formátu nebo poškozenému obsahu), systém uloží stažená data do cache pro pozdější analýzu, ale nové články nepřidá. Všechny takové chyby se zapisují do interního logu s úrovní varování, takže je lze snadno sledovat.

Neaktivní kanály

Kanál lze pro organizaci deaktivovat, aniž by došlo k jeho smazání. Neaktivní kanály nejsou zahrnuty do hromadné synchronizace, zůstávají viditelné v seznamu se šedým praporkem a jejich dříve stažené články jsou stále prohledávatelné. Deaktivace je vhodná všude tam, kde zdroj dočasně nefunguje a nechcete opakovaně zaplavovat log chybami, nebo kde kanál dlouhodobě produkoval obsah, který už není zajímavý — přesto ho nechcete trvale odebrat, protože historie se může v budoucnu hodit.

Duplicitní články

Články jsou identifikovány kombinací kanálu a GUID. Pokud různé kanály publikují stejný článek (například když web publikuje do vlastního kanálu a zároveň do agregátoru), systém jej importuje samostatně pro každý kanál — duplicita se kontroluje pouze v rámci jednoho kanálu. Pokud zdroj GUID neposkytuje, použije se jako identifikátor URL článku.
⚠️ Pokud zdroj neočekávaně změní strukturu GUID (například přejde na jiný formát identifikátoru), systém bude všechny jeho články považovat za nové a provede kompletní reimport. V takovém případě se doporučuje kanál smazat a znovu vytvořit, aby historie zůstala přehledná.

Možné chyby při přidávání

Systém odmítne přidat kanál s prázdnou URL. Pokud URL neobsahuje validní RSS nebo Atom obsah, kanál se sice vytvoří, ale při první synchronizaci obdrží chybový HTTP kód. Validita zdroje se tedy ověřuje až při prvním pokusu o stažení — z tohoto důvodu se doporučuje synchronizaci ihned po přidání nového kanálu spustit a zkontrolovat výsledek.

Využití importovaných článků

Importované články se automaticky nepřevádějí do modulu Příspěvky — zůstávají v tabulce RSS kanálů jako zdrojová data. Mohou být dále zpracovány (např. automaticky převedeny na vlastní příspěvek), ale to je záležitost workflow a není to součástí této stránky. Článek z RSS je tak potenciální surovina, nikoli hotový redakční výstup.

Doporučené postupy

Při práci s RSS kanály se osvědčuje několik pravidel. Spouštějte hromadnou synchronizaci pravidelně — frekvence závisí na rytmu zdrojů; u zpravodajských serverů několikrát denně; u firemních blogů stačí jednou denně či méně. Monitorujte HTTP kódy — pokud zdroj opakovaně hlásí 403 nebo 500, je vhodné jej prověřit nebo deaktivovat, aby se systém nezatěžoval zbytečnými pokusy. Pojmenovávejte kanály jasně — ačkoli systém přebírá název z RSS, může se lišit od toho, jak zdroj interně pojmenováváte v administraci. A nakonec, nepřidávejte kanály s identickým obsahem — to zbytečně zatěžuje jak systém, tak zdrojové servery.

Struktura stažených dat

Každý stažený článek ukládá sadu metadat, která dohromady tvoří minimální popis potřebný pro další zpracování. Patří sem unikátní identifikátor (GUID) převzatý z RSS, URL odkazu vedoucího na originál, titulek, popis nebo shrnutí (podle zdroje se může jednat o výtah nebo plný text), autor (pokud zdroj tuto informaci poskytuje), datum publikace převzatý z RSS a datum objevení, což je okamžik, kdy systém článek poprvé stáhl.

Bezpečnost a ochrana

Stahování obsahu z externích zdrojů nese rizika, proti kterým se modul brání několika opatřeními. Je nastaven patnáctisekundový timeout na odpověď zdroje, aby se synchronizace nezasekla na pomalém nebo nefunkčním serveru. Systém ukládá pouze metadata článků, nikoli celý HTML obsah cílových stránek — ten zůstává dostupný pouze přes URL. Dále jsou všechny chyby synchronizace logovány s úrovní varování, což umožňuje jejich sledování v přehledu logů a pravidelné monitorování zdraví kanálů.
⚠️ Pokud RSS zdroj vyžaduje autentizaci (např. HTTP Basic Auth nebo přihlášení), systém jej nedokáže stáhnout. Podporovány jsou pouze veřejně dostupné RSS a Atom kanály bez autentizační vrstvy.

Řešení problémů

Během provozu modulu se mohou opakovat některé typické problémy, se kterými se administrátor může setkat. Pokud se kanál nesynchronizuje, prvním krokem je zkontrolovat HTTP kód poslední synchronizace – ten obvykle ukáže, kde je chyba. Dalším krokem je otevřít URL v prohlížeči a ověřit, zda vrací validní XML; pokud ano, ručně spustit synchronizaci a sledovat změnu HTTP kódu.Pokud se články nepřidávají i přes úspěšnou synchronizaci, ověřte, zda XML obsahuje buď pole <guid> nebo alespoň <link> pro každou položku. Bez identifikátoru systém položku ignoruje. Zkontrolujte také formát – RSS a Atom jsou podporovány, ostatní (např. JSON Feed) nikoli.Pokud se články duplikují, příčinou je téměř jistě to, že zdroj mění své GUIDy mezi synchronizacemi (generuje náhodné identifikátory při každém generování kanálu). Takové zdroje se nedoporučují používat, protože při každé synchronizaci nafukují databázi neexistujícími duplikáty.