Format sieciowy RSS
Transkrypt
Format sieciowy RSS
Format sieciowy RSS Ewa Warsińska Plan prezentacji • Czym jest RSS? • Czytnik kanałów • Syndykacja • Standardy RSS • RSS 2.0 vs. Atom • Plik RSS • Tworzenie pliku RSS • Przykłady czytników RSS • Zalety RSS • Źródła Czym jest RSS? RSS – umowna rodzina języków znacznikowych do przesyłania nagłówków wiadomości i nowości na wybranych przez użytkownika RSS stronach. Wystarczy dodać daną stronę (musi ona obsługiwać system RSS) do czytnika RSS. Wszystkie w większym lub mniejszym zakresie bazują na XML-u Wiadomości RSS można przeglądać w: • specjalnych programach do odczytu wiadomości RSS (w tym również wielu programach pocztowych) • serwisach internetowych • przeglądarkach internetowych: Avant Browser, Flock, Internet Explorer (wer. 7 i 8), K-Meleon, Maxthon, Mozilla Firefox, Google Chrome, Opera oraz Safari. Czytnik kanałów Czytnik kanałów (ang. feed reader lub news aggregator) – program komputerowy do czytania kanałów internetowych w formatach RSS i Atom, opartych na języku XML. Funkcje czytnika kanałów: • • • • • • • • • • Obsługiwanie formatów(standardy) kanałów Sposoby subskrybowania kanałów Rozpoznawanie kanałów na stronie internetowej Import i eksport danych o kanałach (OPML) Wyszukiwarka kanałów w Internecie Kategoryzacja kanałów w czytniku Wbudowany podgląd wiadomości Wyszukiwanie wiadomości według słów kluczowych Aktualizacja kanałów Usuwanie starych wiadomości Syndykacja Syndykacja (ang. web syndication) - rozwiązanie internetowe typu klientserwer, pozwalające na gromadzenie treści przez użytkownika/klienta z wielu różnych źródeł (serwerów). Rolą serwera jest udostępnianie tych treści klientom. Przykład: klientem może być osoba która przegląda informacje prasowe z wielu serwisów internetowych. Osoba ta używa programu, który zbiera informacje z wielu serwerów jednocześnie i udostępnia te informacje w jednym miejscu, przedstawiając je wszystkie w jednym oknie na ekranie komputera. W tym przykładzie, serwerami są serwisy gazet/czasopism które udostępniają swoje artykuły/informacje dla czytelników/klientów. Standardy RSS • RSS 0.91 - Jest najbardziej rozpowszechnioną wersją RSS i najszerzej obsługiwanym formatem RSS w Internecie. • RSS 2.0 - Jest następcą standardu 0.91. Każdy plik formatu 0.91 jest również poprawnym plikiem wersji 2.0 - wystarczy zmienić numer wersji w nagłówku (czyli wersja 2.0 jest kompatybilna w tył). Zaletą wersji 2.0 jest usunięcie ograniczeń w długości pól, przede wszystkim Description. • RSS 1.0 - Powstał na specyfikacji RDF (Rich Data Format) stworzonej przez Word Wide Web Consortium (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. RSS 2.0 vs. Atom RSS 2.0 Specyfikacja przewiduje tylko tekst, a w praktyce używa się HTML "ukrytego" za pomocą encji. Nie ma możliwości użycia XHTML, ani innych typów danych. Przez tę niejasność i ograniczenia RSS jest nazywany formatem stratnym. RSS ma tylko jedno ogólne pole na opis elementu, przez co autorzy czasem budują osobne kanały zawierające tylko streszczenia lub tylko pełne treści wpisów Atom 1.0 Atom dla każdego elementu pozwala jednoznacznie określić typ danych i obsługuje tekst, HTML, XHTML, inne warianty XML oraz załączanie plików. Atom unika tego problemu pozwalając wstawić streszczenia i rozwinięcia do tego samego kanału RSS nie wymaga podania identyfikatorów i dat do wpisów, przez co agregacja i aktualizacja kanałów RSS jest dla czytników skomplikowana Atom wymaga użycia globalnych unikatowych identyfikatorów dla kanału i wpisów, co czyni aktualizacje prostymi i gwarantuje, że wpisy nie będą przypadkiem duplikowane RSS 2.0 jest specyfikacją należącą do Uniwersytetu Harvarda i nie będzie rozwijany RSS występuje w 9 odmianach, które nie są zupełnie zgodne RSS nie ma własnej przestrzeni nazw XML, przez co nie może być osadzony wewnątrz innych dokumentów XML. Ma własny element <language>, nie obsługuje linków relatywnych. RSS jest starszym i przez to popularniejszym od Atom formatem. Stał się de facto standardem i synonimem dla kanałów informacyjnych Atom jest otwartym standardem IETF Atom ma jedną oficjalną wersję 1.0. W sieci można spotkać kanały używające „roboczej” 0.3. Atom poprawnie i w pełni wykorzystuje XML, przez co może być łatwo mieszany z innymi językami XML, korzysta z xml:lang i xml:base. Atom jest młodym standardem, jego specyfikacja osiągnęła wersję 1.0 dopiero pod koniec 2005 roku. Plik RSS • • • • • • • • • • • • • • • • • • • • • • • • • <?xml version="1.0"?> <rss version="2.0"> <channel> <title>EiT News</title> <link>http://eit.agh.edu.pl/akt/wszystkie</link> <description>Aktualnosci ze strony kierunku Elektronika i Telekomunikacja EAIiE AGH</description> <language>pl-PL</language> <copyright>Wszystkie prawa zastrzezone (c) 2005 KT AGH</copyright> <managingEditor>[email protected]</managingEditor> <webMaster>[email protected]</webMaster> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <ttl>15</ttl> <item> <title>Odwołany wykład z JOS</title> <link>http://eit.agh.edu.pl/akt/904</link> <guid>http://eit.agh.edu.pl/akt/904</guid> <description>W najbliższy poniedziałek (23 maja), z powodu wyjazdu na szkolenie, wykład z Języków Opisu Sprzętu nie odbędzie się.</description> <pubDate>Tue, 17 May 2005 21:24:06 +0200</pubDate> </item> ... </channel> </rss> Tworzenie pliku RSS Stworzenie dokumentu RSS, także automatycznie, może być stosunkowo proste. Istnieje możliwość tworzenia ręcznie pliku i tak się robi, jeżeli witryny WWW są małe i rzadko się zmieniają (jeżeli strony nie zmieniają się w ogóle lub prawie wcale praktycznie wcale nie korzystają na technologii RSS). Jeżeli natomiast zawartość stron WWW zmienia się dosyć często, można wspomóc się np. sieciowymi generatorami i walidatorami plików RSS. Jednym z darmowych programów do tworzenia kanałów RSS jest RSS Builder. <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>Wiadomości</title> <link>http://www.firma.pl</link> <description><![CDATA[Informacje o nowościach naszej firmy]]></description> <item> <title>Nowa myszka w sprzedaży!</title> <link>http://www.firma.pl/rss/info001.html</link> <description><![CDATA[Nowa myszka optyczna firmy Mouse Ltd. trafi już jutro na rynek. W ramach promocji przewidziana jest bardzo atrakcyjna cena.]]></description> </item> </channel> </rss> Efekt działania kodu w czytniku FeedDemon Definicja kanału • deklaracja pliku XML <?xml version="1.0" encoding="UTF-8" ?> • właściwy kanał <rss version="2.0"> <channel> ... </channel> </rss>. Kanał • nazwa kanału <title>Wiadomości</title> • adres strony udostępniającej kanał <link>http://www.firma.pl</link> • krótki opis kanału <description <![CDATA[Informacje o nowościach naszej firmy]]></description> Item <item> • tytuł konkretnej wiadomości <title>Nowa myszka w sprzedaży!</title> • link do wiadomości na stronie <link>http://www.firma.pl/rss/info001.html</link> • opis wiadomości, zachęcający do kliknięcia odsyłacza i wczytania pełnej wiadomości <description><![CDATA[Nowa myszka optyczna firmy Mouse Ltd. trafi już jutro na rynek. W ramach promocji przewidziana jest bardzo atrakcyjna cena.]]></description> </item> Opcjonalne znaczniki <generator>Broadcast Builder 1.48 Enterprise (C) Lionhardt Technologies 2003, www.lionhardt.com/bb</generator> określa użyte narzędzie <lastBuildDate>Sat, 20 Dec 2003 21:00:00 GMT</lastBuildDate> określa datę i godzinę ostatniej zmiany w zawartości kanału <language>pl</language> informuje o języku kanału. Wartości to en-us, en, fr, de, pl itd. <copyright>Fathers&Sons Ltd., Warszawa 2003</copyright> informuje o prawach autorskich do kanału. Opcjonalne znaczniki <managingEditor>[email protected] (Paweł Wimmer)</managingEditor> podaje informację o osobie odpowiedzialnej za redagowanie kanału <webMaster>[email protected] (Paweł Wimmer)</webMaster> podaje informację o osobie odpowiedzialnej za techniczną stronę kanału <pubDate>Sat, 20 Dec 2003 20:00:00 GMT</pubDate> informuje o dacie publikacji kanału <ttl>60</ttl> czyli Time To Live, podaje w minutach, jak długo wiadomość ma tkwić w cache'u czytnika RSS przed ewentualnym odświeżeniem z serwera RSS Builder < ?php header('Content-Type: application/xml; charset=utf-8'); include('db.php'); ?> <xml version="1.0" encoding="utf-8"> <rss version="2.0"> <channel> <title>Blog webmasterski | Piotr Nalepa</title> <link>http://blog.piotrnalepa.pl</link> <description>MĂłj blog webmasterski</description> </channel> < ?php $zapytanie = 'SELECT * FROM wpisy ORDER BY data_dodania DESC LIMIT 5'; mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); $wynik = mysql_query($zapytanie) or die(mysql_error()); while($row = mysql_fetch_array($wynik)) { echo ' <item> <title>'.$row["tytul"].'</title> <link>'.$row["link"].'</link> <description>'.$row["opis"].'</description> '; } ?> </rss> </xml> Przykłady czytników RSS - RSS Bandit Przykłady czytników RSS – Mozilla Thunderbird Przykłady czytników RSS – Feedly Przykłady czytników RSS – Digg Przykłady czytników RSS – dynamiczne zakładki w Mozilla Firefox RSS w bibliotekach cyfrowych Zalety RSS • Korzystając z plików RSS można zebrać w jednym miejscu informacje z wielu źródeł na konkretne, interesujące nas tematy. • Nie trzeba oglądać wielu reklam (pliki RSS rzadko zawierają reklamy) i ładować ciężkich stron ze zbędnymi informacjami przed dotarciem do tego, co nas interesuje. Dzięki plikom RSS omijamy spam! • Korzystając z plików RSS nie trzeba ściągać na własny komputer nic więcej, niż "spis treści" wybranych serwisów internetowych - dlatego akronim RSS rozwija się również na Rich Site Summary (Rozszerzony Spis Treści Serwisu). • 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. Źródła • http://webmaster.helion.pl/ • http://blog.piotrnalepa.pl/ • http://www.dbc.wroc.pl/dlibra • http://www.rssboard.org/ • http://www.aplikacje.jezierski.net.pl/ • http://www.mezzoblue.com/ • https://blogtrottr.com/ • http://cyber.law.harvard.edu/ • https://pl.wikipedia.org/ Pytanie na kolokwium • Podaj elementy niezbędne do utworzenia prostego pliku RSS Odpowiedź • Deklaracja wersji XML - xml version • Deklaracja wersji RSS - rss version • Nazwa kanału - <title> </title> • Adres strony kanału - <link> </link> • Opis kanału - <description> </description> • Nazwa wiadomości - <title> </title> • Link do wiadomości - <link> </link> • Opis wiadomości - <description> </description>