{"id":5420,"date":"2013-07-16T12:52:16","date_gmt":"2013-07-16T10:52:16","guid":{"rendered":"http:\/\/notizblog.org\/?p=5420"},"modified":"2024-03-28T14:14:32","modified_gmt":"2024-03-28T13:14:32","slug":"anderungen-in-pubsubhubbub-v0-4","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2013\/07\/16\/anderungen-in-pubsubhubbub-v0-4\/","title":{"rendered":"\u00c4nderungen in PubSubHubbub v0.4"},"content":{"rendered":"\n<figure class=\"wp-block-image alignright\"><img decoding=\"async\" src=\"\/\/notiz.blog\/wp-content\/uploads\/2013\/07\/pubsubhubbub-logo.png\" alt=\"pubsubhubbub-logo\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Seit ein paar Wochen scheint die <a href=\"http:\/\/pubsubhubbub.github.io\/PubSubHubbub\/pubsubhubbub-core-0.4.html\" data-type=\"URL\" data-id=\"http:\/\/pubsubhubbub.github.io\/PubSubHubbub\/pubsubhubbub-core-0.4.html\">Version 0.4<\/a> von <a href=\"https:\/\/github.com\/pubsubhubbub\/PubSubHubbub\">PubSubHubbub<\/a> relativ stabil zu sein&#8230; immerhin so stabil, dass <a href=\"https:\/\/developers.googleblog.com\/2013\/07\/pubsubhubbub-feeds-and-feed-api.html\">Google<\/a> und <a href=\"http:\/\/blog.superfeedr.com\/pubsubhubbub-04\/\">Superfeedr<\/a> ihre Hubs an die neue Spec angepasst haben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die wesentlichen Unterschiede zu der Vorg\u00e4ngerversion sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alle Datentypen werden unterst\u00fctzt: Neben RSS\/Atom k\u00f6nnen jetzt auch vCards, beliebige XML oder JSON Datein oder auch Bilder ge-push-t werden<\/li>\n\n\n\n<li>Statt HTML\/Atom-Links werden <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc5988\">HTTP-Link-Header<\/a> benutzt<\/li>\n\n\n\n<li>Der Pubslisher-Prozess ist nicht mehr \u00fcber die Spezifikation definiert<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die zwei gro\u00dfen Hubs sollte es reichen wenn ihr eure Feed-&lt;link \/&gt;s (&#8222;hub&#8220; und &#8222;self&#8220;):<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-meta\">&lt;?xml version=\"1.0\"?&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">atom:feed<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">link<\/span> <span class=\"hljs-attr\">rel<\/span>=<span class=\"hljs-string\">\"hub\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"http:\/\/myhub.example.com\/endpoint\"<\/span> \/&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">link<\/span> <span class=\"hljs-attr\">rel<\/span>=<span class=\"hljs-string\">\"self\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"http:\/\/publisher.example.com\/happycats.xml\"<\/span> \/&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">atom:feed<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">&#8230;zus\u00e4tzlich \u00fcber die HTTP-Header ausliefert:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTTP\" data-shcb-language-slug=\"http\"><span><code class=\"hljs language-http\">HTTP\/1.1 <span class=\"hljs-number\">200<\/span> OK\n<span class=\"hljs-attribute\">Date<\/span>: Tue, 03 Apr 2012 08:02:19 GMT\n<span class=\"hljs-attribute\">Content-Type<\/span>: text\/html\n<span class=\"hljs-attribute\">Content-Length<\/span>: 11261\n<span class=\"hljs-attribute\">Link<\/span>: &lt;http:\/\/http:\/\/myhub.example.com\/endpoint&gt;; rel=\"hub\"\n<span class=\"hljs-attribute\">Link<\/span>: &lt;http:\/\/publisher.example.com\/happycats.xml&gt;; rel=\"self\"<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">HTTP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">http<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Leider ist die Version 0.4 aber nicht 100% abw\u00e4rts-kompatibel&#8230; Die wahrscheinlich gr\u00f6\u00dfte (und f\u00fcr mich entt\u00e4uschendste) \u00c4nderung ist das bewusste Weglassen des <a href=\"https:\/\/web.archive.org\/web\/20170719160939\/https:\/\/superfeedr-misc.s3.amazonaws.com\/pubsubhubbub-core-0.4.html\">Publisher-Prozesses<\/a>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">The publisher MUST inform the hubs it previously designated when a topic has been updated. The hub and the publisher can agree on any mechanism, as long as the hub is eventually able send the updated payload to the subscribers.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Auf der einen Seite kann das ein enormer Vorteil f\u00fcr Publisher sein, da Hubs in Zukunft auch per E-Mail, SMS, Pingbacks\/Trackbacks oder XMPP \u00fcber Updates informieren werden k\u00f6nnten. Auf der anderen Seite ist es aber auch sehr Wahrscheinlich, dass man f\u00fcr jedes v0.4 Hub eine individuelle Implementierung ben\u00f6tigt. Bisher unterst\u00fctzen beide gro\u00dfen Hubs (Google und Superfeedr) aber weiterhin das alte <a href=\"http:\/\/pubsubhubbub.github.io\/PubSubHubbub\/pubsubhubbub-core-0.3.html\">Verfahren<\/a>, also kein Grund sich jetzt schon Sorgen zu machen&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alles in allem finde ich die \u00c4nderungen aber ganz nett und hoffe dass &#8222;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Polling_(computer_science)\">Polling<\/a>&#8220; bald der Vergangenheit angeh\u00f6rt&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seit ein paar Wochen scheint die Version 0.4 von PubSubHubbub relativ stabil zu sein&#8230; immerhin so stabil, dass Google und Superfeedr ihre Hubs an die neue Spec angepasst haben. Die wesentlichen Unterschiede zu der Vorg\u00e4ngerversion sind: F\u00fcr die zwei gro\u00dfen Hubs sollte es reichen wenn ihr eure Feed-&lt;link \/&gt;s (&#8222;hub&#8220; und &#8222;self&#8220;): &#8230;zus\u00e4tzlich \u00fcber die [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":"","atmosphere_disabled":false,"atmosphere_custom_text":"","atmosphere_reply_restriction":[]},"categories":[2],"tags":[105,5171,123,840,103,996],"class_list":["post-5420","post","type-post","status-publish","format-standard","category-web","tag-atom","tag-fediblog","tag-google","tag-pubsubhubbub","tag-rss","tag-superfeedr","h-entry","hentry"],"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/5420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/comments?post=5420"}],"version-history":[{"count":5,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/5420\/revisions"}],"predecessor-version":[{"id":25152,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/5420\/revisions\/25152"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=5420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=5420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=5420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}