Małe i niepozorne, a jednak udało im się opanować ogromną część stron WWW. Najczęściej występują pod postacią znaczka
, po kliknięciu którego otwiera się dokument XML o prostej i czytelnej nawet dla człowieka strukturze. Ten właśnie dokument oznacza się skrótem RSS.
o autorach
Michał Paluchowski CEO, właściciel i redaktor vortalu NetHut.pl. Jego ulubionym tygodnikiem jest Wprost, a na co dzień z przyjemnością czyta Gazetę Wyborczą. Jest zakochany w muzyce i komputerach, czasem nieco ekscentryczny. Zawsze otwarty na nowe znajomości.
Łącznie napisał dla nas 45 artykułów.tych samych autorów
- IMAP w stylu PHP [MP]
- Rodzina XSL [MP]
- Wprowadzenie do XML [MP]
- Rozszerzenia XSSI [MP]
- Dynamiczne generowanie grafiki w PHP [MP]
zobacz również
Nieco trudniej uzgodnić rozwinięcie owego skrótu, ponieważ zależy to od standardu RSS, jaki przyjmiemy. Najbardziej rozpowszechnioną jest wersja 0.91, którą też będziemy się tutaj zajmować. W jej przypadku skrót RSS należy rozwinąć jako Really Simple Syndication. Plik RSS jest listą dowolnych informacji, podaną według specyfikacji XML. Najczęściej wykorzystuje się go jako listę ostatnio opublikowanych news'ów, artykułów itp. Szeroko rozpowszechniony jest w Blogach, zwłaszcza tych prowadzonych przez entuzjastów nowych technologii. Dzięki swojej prostocie i różnorodności zastosowań RSS zdobyło również popularność wśród dużych stron, takich jak BBC, CNet News a z polskich m.in. Jama Mastaha.
Stosując parser XML w dowolnym języku typu server-side, PHP, ASP czy innym, można zawartość pliku RSS umieścić na własnej stronie, dodając dowolne formatowanie. Pliki takie są również mniejsze od tych samych tekstów wyświetlanych na stronie, z której pochodzą, ponieważ usunięto z nich większość znaczników formatowania i rzadko zawierają reklamy. Dlatego popularne są również wśród internautów posiadających odpowiednie programy - czytniki RSS.
Czytniki są niezastąpione, jeśli korzystamy z Internetu poprzez urządzenia bezprzewodowe, jak telefony komórkowe czy palmtopy, gdzie liczy się mały rozmiar ściąganych plików. Na komputery PC polecam program FeedDemon pochodzący od tego samego producenta, co edytor CSS TopStyle. Wystarczy zrobić listę plików RSS z ulubionych stron i zamiast biegać jedna po drugiej w poszukiwaniu nowości, wszystko można zobaczyć w jednym miejscu.
Publikacja własnych plików RSS
W tym miejscu należałoby zadać sobie pytanie, czy potrzebujemy na naszej stronie RSS? Prawda jest taka, że w większości przypadków odpowiedź brzmi 'nie'. Strony, które zmieniają się rzadko nie skorzystają na tej technologii. RSS będzie jednak jak najbardziej pożądany na stronach z wiadomościami, blogach czy innych często aktualizowanych. Sprawdzi się świetnie jako lista wykładów uniwersyteckich, raport o pogodzie, kalendarz imprez czy daty koncertów grupy muzycznej.
Ilość możliwości zastosowań RSS sama w sobie stanowi wytłumaczenie jego rosnącej popularności. W poszukiwaniu list RSS pomogą na pewno ich katalogi, z których najpopularniejsze to Syndic8.com oraz NewsIsFree.com. Zwróćcie również uwagę na obecność pokazanego już znaczka
na waszych ulubionych stronach WWW.
Skoro już zdecydowaliśmy o zastosowaniu RSS na własnej stronie, należałoby się zastanowić nad formatem, w którym ma powstać. Dlaczego wspomniałem wcześniej o 0.91? Przede wszystkim dlatego, ponieważ jest on najpopularniejszym i najszerzej obsługiwanym formatem RSS w Internecie. Wystarczy spojrzeć na rozkład poszczególnych formatów na wykresach Syndic8.com.
Bezpośrednim następcą formatu 0.91 jest RSS 2.0, opublikowany przez tą samą grupę co 0.91 i uzupełniający specyfikację o dodatkowe możliwości. Na początek większości stron zdecydowanie wystarczy zastosowanie wersji 0.91, z czasem gdy przyjdzie potrzeba łatwiej jest przeskoczyć na 2.0.
Inną gałęzią technologii RSS jest format 1.0, który powstał na specyfikacji RDF (Rich Data Format) stworzonej przez Word Wide Web Consortium, czyli znane W3C. W przypadku tej wersji skrót RSS rozwija się jako RDF Site Summary. Praktyczne różnice w porównaniu do wersji 0.91 czy 2.0 są raczej semantyczne, a dodatkowo oparcie o RDF wymaga dłuższego kodu, czego rezultatem będą większe pliki.
Ostateczna decyzja należy do was. Większość gotowych parserów RSS oraz czytników obsługuje wszystkie dostępne formaty, więc w ostatecznym rozrachunku należy wziąć pod uwagę głównie potrzeby i wygodę tworzenia plików.
Zajmijmy się więc czymś konkretnym. Oto wycinek pliku RSS pochodzącego ze strony NetHut.pl:
<?xml version="1.0" ?>
<rss version="0.91">
<channel>
<title>nethut.pl</title>
<link>http://www.nethut.pl</link>
<description>Biblioteka Zdobywców Internetu</description>
<language>pl</language>
<copyright>Copyright 2000-2003, NetHut.pl.</copyright>
<managingEditor>redakcja@nethut.pl</managingEditor>
<pubDate>Sat, 13 Sep 2003 08:00:46 EET</pubDate>
<image>
<title>nethut.pl</title>
<url>http://nethut.pl/graph/logo.gif</url>
<link>http://www.nethut.pl</link>
<width>50</width>
<height>60</height>
<description>Biblioteka Zdobywców Internetu</description>
</image><item>
<title>Czy na stronach WWW trzeba zarabiać?</title>
<link>http://www.nethut.pl/artykul.php/116</link>
<description>
Powszechnie panuje przekonanie, że strony
internetowe tworzy się po to, aby na nich
zarabiać. Na potrzeby tego wymyślono nawet tzw.
Nową Ekonomię. Ta nie za bardzo się sprawdziła,
powróciła stara i teraz trzeba szukać nowych
dróg zarabiania na stronach.
</description>
</item><item>
<title>Przewodnik wyboru firmy hostingowej</title>
<link>http://www.nethut.pl/artykul.php/115</link>
<description>
Dobry serwer to podstawa funkcjonowania każdej
strony WWW. Aby znaleźć taki spośród tysięcy
ofert trzeba umieć je analizować i zadawać
firmom hostingowym odpowiednie pytania.
</description>
</item>
</channel>
</rss>
Nie wygląda tak źle, prawda? Nawet człowiek przy minimalnej znajomości języka angielskiego może to przeczytać. Zgodnie z początkową deklaracją, jest to dokument sformatowany zgodnie z regułami XML. Jedną z podstawowych zasad jest, że każdy otwarty znacznik musi zostać również zamknięty. W drugiej linijce określamy wersję RSS, z której korzystamy. Jest to jednocześnie znacznik otwierający dla całej listy RSS, która zakończona jest przez </rss>. Znacznik <channel> zawiera w sobie 'kanał' informacji, czyli po prostu całą listę. W pliku RSS może być tylko jeden taki 'kanał'.
Następny blok znaczników zawiera informacje o stronie, z której pochodzą dane. <title> zawiera tytuł strony, <link> odnośnik do niej, <description> krótki opis strony, może być slogan reklamowy. <language> podaje język, w którym znajdują się informacje. Wszystkie dotychczas opisane znaczniki tego bloku są obowiązkowe, muszą się więc znaleźć w każdym pliku RSS. Podobnie jest ze znacznikiem <image>, który zazwyczaj zawiera logo strony. Obraz ten ma również podany tytuł, lokalizację (<url>), odnośnik do którego prowadzi, opis oraz wymiary (<width> - maksymalnie 144 px, <height> - maksymalnie 400 px).
Pozostałe znaczniki z pierwszego bloku, <copyright> - informacje o prawach autorskich, <managingEditor> - kontakt z redaktorem, <pubDate> - data publikacji, są znacznikami opcjonalnymi. Listę innych opcjonalnych znaczników znaleźć można w specyfikacji.
Po nagłówku następuje lista kolejnych elementów, które stanowią tą właściwą treść pliku RSS. W tym przypadku jest to lista ostatnio opublikowanych artykułów. Każda pozycja zawiera się w znaczniku <item>. Każdy z elementów obowiązkowo musi zawierać tytuł <title> oraz odnośnik do właściwego tekstu na stronie <link>. Opcjonalnie może również zawierać opis <description>.
Ciekawą możliwością, nie zastosowaną w przykładzie, jest umieszczenie wewnątrz pliku RSS formularza. Jest on oznaczany znacznikiem <textInput>, wewnątrz którego znajdywać się powinny <title> - etykieta dla przycisku 'wyślij', <description> - opis formularza, <name> - nazwa pola tekstowego, <link> - adres skryptu, do którego ma być wysłany formularz.
Prostota formatu RSS ma jednak swoją cenę. Mianowicie jako twórca pliku RSS nie masz możliwości kontrolowania sposobu jego wyświetlania na czyjejś stronie lub w czytniku. Możesz jedynie w ograniczonym stopniu korzystać ze znaczników HTML wewnątrz <description>, kodując je jako CDATA:
<![CDATA[<b>Poważnie</b>]]> zastanów
się nad użyciem znaczników HTML.
Generalnie jednak zalecana jest rezygnacja z wszelkich znaczników HTML.
Gdy już mamy gotowy plik
Zanim ogłosimy jego istnienie szerszej publiczności, warto sprawdzić poprawność kodu, który umieściliśmy w pliku. Dostępne są odpowiednie validatory, np. na stronie Userland.com czy Feeds Archive.
Skoro kod jest poprawny, pozostaje tylko umieścić plik na serwerze i odpowiednio go wypromować. Obecny na początku artykułu znaczek
jest powszechnie rozpoznawanym symbolem, będącym odnośnikiem do pliku RSS. Możesz spokojnie wykorzystać ten obraz na swojej stronie.
Następnie w sekcji <head> kodu HTML twojej strony możesz dodać linijkę:
<link rel="alternate" type="application/rss+xml"
title="RSS" href="adres_pliku_rss" />
Wskaże ona przeglądarkom oraz wyszukiwarkom lokalizację pliku RSS.
Na koniec możesz dopisać się do jednego z wielu katalogów RSS. Dwa największe, Syndic8.com i NewsIsFree wymieniłem już wcześniej. Dalsze możesz z łatwością odnaleźć samemu.
Automatyzacja i rosnące potrzeby
Z czasem, a być może już na początku, opcje oferowane przez wersję 0.91 specyfikacji RSS mogą nie wystarczyć do zaspokojenia potrzeb twojej strony. Czas wtedy pomyśleć o przejściu na wersję 2.0. Wersja ta jest kompatybilna wstecz, więc każdy plik formatu 0.91 jest również poprawnym plikiem wersji 2.0 - wystarczy zmienić numer wersji w nagłówku.
Strony dynamiczne, które tworzone są na bazie PHP czy innych podobnych języków z pewnością zechcą zautomatyzować proces tworzenia plików RSS. Gotowych skryptów wspomagających generowanie RSS jest pod dostatkiem - wystarczy rozejrzeć się po serwisie HotScripts.com.
Wobec postępu technologii tworzenia stron WWW i różnorodnych wynalazków często wątpliwej przydatności, RSS z pewnością jest tą technologią, której zastosowanie warto przemyśleć. Kto wie czy w przyszłości internauci w ogóle zechcą oglądać naszą stronę WWW?