Weekend Prosjekt: Legg PubSubHubbub Syndication til ditt nettsted eller Blog


Web syndikering formater som RSS og Atom har revolusjonert måten vi få informasjon, men selv om disse formatene er standardisert og utbredt, er syndikering fortsatt i utvikling. PubSubHubbub er en av de mer interessante fremskritt i syndikering teknologi, fordi det faktisk endrer oppdateringen metoden som brukes av kunder, fra trafikk-tung periodisk polling til en utgiver sjokk modell. Heldigvis trenger du ikke å velge det ene eller det andre; du kan legge PubSubHubbub støtte til nettstedets feeder uten å miste kompatibilitet med mer " tradisjonell " lesere. Denne helgen, oppdatere feeds til de nyeste og beste i syndikering og generere din egen ståhei.



Hvordan det fungerer

I Ye Olde- dags Web Syndication av en svunnen tid, var det nøyaktig to spillere i hver samtale: utgiveren (for eksempel en blogg eller et annet område som produserer RSS eller Atom-innhold) og abonnenten (en sluttbruker program, for eksempel en feed-aggregere blogg leser som Google Reader eller TT-RSS, eller en frittstående programvare app). Utgiveren oppdaterte innholdet i sin tilførselen dersom en ny historie eller post gikk live

For å få det nye innholdet, men abonnenten søknaden måtte ". Meningsmåling " fôret, spørring for å se om noen nye elementer hadde blitt publisert. Aggregatorer som abonnerer på masse forskjellige feeds derfor måtte gjøre masse polling, og forlagene måtte svare på masse spørsmål, selv når det ikke var noe nytt.

PubSubHubbub legger til en ny mellommann til mix, hub
, som i hovedsak holder styr på alle som forlegger /abonnent tilstand, og reduserer arbeidsbelastningen på både forlaget og abonnenten. Det har vært mellommann " fôr tjenesteleverandører " i det siste, slik som Burner, og i praksis nav er en slik tjeneste. Utgiveren registrerer sitt fôr med med navet, og sender oppdateringer merknader til navet når nytt innhold er tilgjengelig. Utgiverens fôr er den samme, bortsett fra en ekstra < link > element med rel = " hub " attributt peker til sin hub valg

Abonnenten abonnerer på fôr akkurat som det ville gjort noen tradisjonell RSS eller Atom-feed, men det merknader ". hub " adresse innebygd i innholdet. Det også, registrerer med navet, og i fremtiden hopper det polling det aktuelle feed. I stedet, når en hub får en oppdatering, videre navet det nye innholdet til abonnenten umiddelbart. Ikke bare er det mindre arbeid for både forlaget og abonnenten, men oppdateringene er syndikert i nær sanntid.

Det kan virke rart å forvente bedre ytelse ved å innføre et mellomledd i prosessen, men båndbredden besparelser kommer fra å ha navet effektivt samlede mange utgivere og abonnenter, og eliminere behovet for å gjøre valg helt

Fra programvaresiden, så er det tre komponenter du bør vurdere. tilsette hub støtte til feeds som du allerede publisere, kjører en hub selv, og bruker en PubSubHubbub-aware klient applikasjon for å lese. Alle kan kjøre en hub, og det er ingenting å hindre deg fra å kjøre en hub og publisere en feed på samme tid; du har å administrere hub server, men du vil fortsatt se det totale trafikk besparelser

Pub:. publiseringsverktøy

Takk til redusert belastning sett i PubSubHubbub, mange kommersielle feed-publiseringstjenester allerede støtte publisere en PubSubHubbub-kompatibel feed. Disse inkluderer Wordpress.com, Status.Net, Livejournal, MySpace, Tumblr, Posterous, og mange av de Google-eide eiendommer (Google Code, YouTube, Picasa og Blogger — flere ruller ut regelmessig). Hvis du bruker noen av disse tjenestene personlig, har du sannsynligvis ikke trenger å gjøre noe for å begynne å bruke PubSubHubbub, kanskje bortsett velge navet du ønsker å bruke.

For de områdene som du kjører, blir en PubSubHubbub utgiver innebærer to deler: å sørge for at uansett hva pakken eller innholdsstyringssystem (CMS) produserer feeds riktig tags din Atom- eller RSS-innhold med < link rel = " hub " ... > element, og sørge for at den sender oppdateringsmeldinger eller " ping " til navet når det er nytt innhold. De fleste CMS og plugins støtter begge, men det finnes måter å implementere dem separat hvis nødvendig.

Det er to separate Publisher plugins for Wordpress, oppkalt PubSubHubbub og WP PubSubHubbub. Begge støtter pinge flere huber, og tagge alle feeds og fôr formater som Wordpress produserer (inkludert kommentar feeds og flere versjoner av RSS, for eksempel). Den plugin som heter rett og slett PubSubHubbub er litt nyere, og er kompatibel med Wordpress utgivelser opp til 2.9.2. . WP PubSubHubbub støtte opp til Wordpress 2.8.4

Den nyeste versjonen av Drupal CMS støtter PubSubHubbub out-of-the-box, som en del av " Feeds " modul. Det er også en tredjeparts plugin som heter fastwebfeed som kan interessere Drupal brukere som kjører eldre utgivelser.

Movable Type krever en plugin, utviklet av en tredjepart. Interessant nok har den åpen kildekode-derivat av Movable Type heter Melody brettes samme plugin i sin kjerne, slik at den kan fungere som en utgiver automatisk.

Zend, også har en plugin som gjør det mulig for publisering og pinging.

I en litt annen stemning, Venus blog aggregator som brukes for å produsere mange offentlige " planet " sider har også lagt Publisher støtte i nyere bygg.

Utenfor de pre-pakket CMSer, kan de fleste custom eller hjemmebrygget sider legge PubSubHubbub publisering støtte med en passende fôr bibliotek. Den Google Code prosjektet wiki opprettholder en ganske-komplett liste – det er godt støttet pakker for Perl, PHP, Ruby, Java og Python, blant andre alternativer. Til slutt, hvis alt annet mislykkes, og du må manuelt sette inn < link rel = " hub " ... > element i innmat mal, kan du manuelt pinge hub med en liten bookmarklet, levert av Google Code prosjektet

Hub.: offentlig tilgjengelig huber, og drive din egen

Det er litt upraktisk at skaperne av protokollen sammen sitt navn out-of-order: Pub kommer først, etterfulgt av Hub, og
under, trekke opp bak (" Bub " ble antagelig valgt bare for å øke tungens-twister faktor ...). Dermed, når du har din side kan acing som utgiver, må du enten velge eller sette opp en hub for å samle ping, grip oppdateringer fra strømmen, og videresende dem til abonnenter.

Det er tre store " offentlig " huber i øyeblikket, åpen for alt innhold. Den mest kjente er " referanseimplementasjon " drevet av Google på pubsubhubbub.appspot.com. Bare gå til publisere linken og legge til fôr detaljer.

Etter tett bak Googles offentlige hub er Superfeedr hub, som var den første ikke-Google hub til lansering. Det krever å sette opp en Superfeedr konto for å bruke, men. Sist men ikke minst, Feedburner (som nå eies av Google) tilbyr Hub støtte til sine fôr-publisering brukere også. Instruksjoner er på stedet.

For de som ønsker å kjøre sin egen hub, hub plugins finnes for både Wordpress og Django. Dette Wordpress plugin, PuSHPress, fungerer både som forlegger og en hub, så installerer den utelukker behovet for å også installere enten en av de tidligere diskutert Wordpress plugins. Med PuSHPress, vil din Wordpress nettstedet direkte sende real-time oppdateringer til dine PubSubHubbub abonnenter. Django plugin er ikke fullt så integrert; du manuelt sende oppdateringene fra Hub komponent når du ønsker å publisere. Merk også at Django plugin støtter bare Atom-feeds.

Det er også Hub biblioteker for ulike webutvikling språk, inkludert Ruby, Perl og Python. Igjen er den beste listen opprettholdes på PubSubHubbub wiki

Sub:. Hvorfor feed hvis du ikke kan lese

Til slutt, ville det være lite bruk for å støtte PubSubHubbub hvis det ikke var mate? avlesnings kunder der ute som kunne forstå det. Selv om ikke alle fôr krevende applikasjoner er ennå om bord, flere og flere kunder er tilgjengelig. Du kan hjelpe fart vedtakelsen av protokollen ved å bruke en av dem for din egen feed-leser. Så langt, Google Reader, Google Buzz, Netvibes, og Friend er hoved PubSubHubbub-abonnementer " sluttbruker klient " applikasjoner. Google Reader, selvfølgelig, er den eneste av den gjengen som er designet fra grunnen av for å være en nyheter
leser; resten er fokusert på mer varierte kilder til Atom- eller RSS-innhold.

PubSubHubbub støtte billetter har blitt arkivert for noen åpen kildekode feed lesere, inkludert Tiny Tiny RSS og Akgregator. Mens du venter, men det er noen interessante open source verktøy som du kan bruke for å få tilgang til PubSubHubbub feeds. Mihai Parparita push Bot er en PubSubHubbub krevende XMPP gateway; du kan bruke den til å se live oppdateringer fra en PubSubHubbub feed i chat-klient. Brian Stoner Tornado CouchDB Aggregator forbruker PubSubHubbub feeds og bekker dem leve til en webside.

For utviklere er det PubSubHubbub-abonnement klientbiblioteker for flere CMS rammeverk, fra Drupal til Django til Rails, som du kan bygge en web-front-end feed-leser. Som du kanskje forventer, er det nok av lavere nivå bibliotekene også, for Perl, Python, Ruby, og mange andre.

PubSubHubbub har egentlig bare vært tilgjengelig i naturen for et år, og uten tvil det faktum at det er støttet av Google har bidratt mye til spredning. Men det er ikke så verst; Google kan lett stresse-test av systemet på sine høy trafikk tjenester som Google Reader og Blogger.

Som for resten av oss, vil du sannsynligvis se noen båndbredde reduksjoner ved å aktivere støtte som utgiver på dine egne feeds . For øyeblikket kjører din egen hub innebærer noen overhead, så jobber med en av de eksisterende offentlige huber er kanskje en tryggere innsats. Den beste delen, men det at du kan enkelt og billig eksperimentere. PubSubHubbub kan utvikle seg eller bli erstattet, men det koster deg ingenting å bidra til å finne en bedre løsning på den pågående Web syndikering diskusjon. Anmeldelser