{"id":1958,"date":"2009-09-18T19:01:06","date_gmt":"2009-09-18T17:01:06","guid":{"rendered":"http:\/\/notizblog.org\/?p=1958"},"modified":"2020-07-08T19:48:33","modified_gmt":"2020-07-08T17:48:33","slug":"activitystrea-ms-extension-for-wordpress","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2009\/09\/18\/activitystrea-ms-extension-for-wordpress\/","title":{"rendered":"ActivityStrea.ms Extension for WordPress"},"content":{"rendered":"\n<p>Ich habe mal ein kleines <a href=\"http:\/\/wordpress.org\/extend\/plugins\/activitystream-extension\/\">Plugin<\/a> geschrieben welches den WordPress-Atom-Feed mit der <a href=\"https:\/\/web.archive.org\/web\/20100301111824\/http:\/\/martin.atkins.me.uk:80\/specs\/activitystreams\/atomactivity\">ActivityStream-Syntax<\/a> erweitert.<\/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-tag\">&lt;<span class=\"hljs-name\">entry<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>https:\/\/notiz.blog\/?p=1775<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">author<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">name<\/span>&gt;<\/span>Matthias Pfefferle<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">name<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">uri<\/span>&gt;<\/span>https:\/\/notiz.blog<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">uri<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">author<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">...<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:verb<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/post<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:verb<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:object<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/blog-entry<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/article<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>tag:notiz.blog,2009-07-13:\/post\/1775<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"html\"<\/span>&gt;<\/span>&lt;!&#91;CDATA&#91;Matthias Pfefferle posted a new blog-entry]]&gt;<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/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\">\"alternate\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/html\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"https:\/\/notiz.blog\/2009\/07\/14\/webstandards-kolumne\/\"<\/span> \/&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:object<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">entry<\/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>Die Syntax ist dazu gedacht, dem Feed-Parser\/Feed-Reader zu erkl\u00e4ren um was f\u00fcr einen Eintrag es sich handelt. Bei WordPress sind die <code>&lt;entry \/><\/code>s ausschlie\u00dflich Blogposts\/Artikel&#8230;<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/blog-entry<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/article<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:object-type<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><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>&#8230;die gepostet wurden.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">activity:verb<\/span>&gt;<\/span>http:\/\/activitystrea.ms\/schema\/1.0\/post<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">activity:verb<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><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>Und f\u00fcr die Dienste wie <a href=\"https:\/\/pfefferle.org\/\">NoseRub<\/a>, die die Aktivit\u00e4t gerne in einen Satz packen, gibt&#8217;s das ganze auch noch in Prosa.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"html\"<\/span>&gt;<\/span>&lt;!&#91;CDATA&#91;Matthias Pfefferle posted a new blog-entry]]&gt;<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><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>Das <a href=\"https:\/\/web.archive.org\/web\/20100301113659\/http:\/\/martin.atkins.me.uk:80\/specs\/activitystreams\/activityschema\">ActivityStream Schema<\/a> definiert \u00fcbrigens noch &#8217;ne ganze Reihe an weiteren Objekten und Verben, die auf alle m\u00f6glichen Aktionen im Netz passen. Falls ihr also noch welche findet, die zu WordPress passen k\u00f6nnten&#8230; lasst es mich wissen \ud83d\ude09<\/p>\n\n\n\n<p>Es gibt leider aber auch ein paar <a href=\"https:\/\/openwebpodcast.de\/107\/episode-14-was-bringt-eigentlich-data-portability\/\">Probleme mit der Syntax und diversen Feed-Readern<\/a>, die das zweite <code>&lt;title \/><\/code> im <code>&lt;activity-object \/><\/code> mit interpretieren und dann beide Titel ausgeben&#8230; aber da ja auch <a href=\"https:\/\/web.archive.org\/web\/20120827190657\/http:\/\/wiki.developer.myspace.com:80\/index.php?title=Standards_for_Activity_Streams\">MySpace<\/a> und <a href=\"https:\/\/web.archive.org\/web\/20090701093546\/http:\/\/wiki.developers.facebook.com\/index.php\/Using_Activity_Streams\">Facebook<\/a> die ActivityStream-Syntax einsetzen ist dieser Fehler sicherlich bald bei jedem Feed-Reader behoben \ud83d\ude09<\/p>\n\n\n\n<p>Viel Spa\u00df beim ausprobieren!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe mal ein kleines Plugin geschrieben welches den WordPress-Atom-Feed mit der ActivityStream-Syntax erweitert. Die Syntax ist dazu gedacht, dem Feed-Parser\/Feed-Reader zu erkl\u00e4ren um was f\u00fcr einen Eintrag es sich handelt. Bei WordPress sind die &lt;entry \/>s ausschlie\u00dflich Blogposts\/Artikel&#8230; &#8230;die gepostet wurden. Und f\u00fcr die Dienste wie NoseRub, die die Aktivit\u00e4t gerne in einen Satz [&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":"","footnotes":""},"categories":[2],"tags":[578,616,105,480,579,603,571,181,57],"class_list":{"0":"post-1958","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-web","7":"tag-activities","8":"tag-activity-stream","9":"tag-atom","10":"tag-facebook","11":"tag-feed","12":"tag-myspace","13":"tag-noserub","14":"tag-plugin","15":"tag-wordpress","16":"h-entry","17":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/1958","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=1958"}],"version-history":[{"count":1,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/1958\/revisions"}],"predecessor-version":[{"id":20234,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/1958\/revisions\/20234"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=1958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=1958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=1958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}