{"id":25083,"date":"2024-03-21T13:31:26","date_gmt":"2024-03-21T12:31:26","guid":{"rendered":"https:\/\/notiz.blog\/?p=25083"},"modified":"2024-03-21T16:44:27","modified_gmt":"2024-03-21T15:44:27","slug":"enable-mastodon-apps","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2024\/03\/21\/enable-mastodon-apps\/","title":{"rendered":"Enable Mastodon Apps"},"content":{"rendered":"\n<p>Ich war am Wochenende auf dem CloudFest Hackathon und hatte zum <a href=\"https:\/\/notiz.blog\/2022\/04\/03\/cloudfest-2022-hackathon-indieweb-for-wordpress\/\">zweiten Mal<\/a> die Change ein Projekt zu betreuen. Die Idee zu &#8222;<a href=\"https:\/\/github.com\/akirk\/enable-mastodon-apps\">Enable Mastodon Apps<\/a>&#8220; stammt von <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/alex.kirk.at\/author\/alex\/\">@alex<\/a> und ich freue mich sehr, dass er mir sein &#8222;Baby&#8220; f\u00fcr den Hackathon anvertraut hat!<\/p>\n\n\n\n<p>Hier ist unser Pitch:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n\t\t<div class=\"embed-privacy-container is-disabled embed-youtube\" data-embed-id=\"oembed_d28d20a3e5d33945b9e5b10fdd62338e\" data-embed-provider=\"youtube\" style=\"background-image: url(https:\/\/notiz.blog\/wp-content\/uploads\/embed-privacy\/thumbnails\/youtube-VJWdzeZz-ok-maxresdefault.jpg?ver=1.12.4); aspect-ratio: 700\/394;\">\t\t\t\t\t\t<button type=\"button\" class=\"embed-privacy-enable screen-reader-text\">\u201eEnable Mastodon Apps for WordPress and its Plugins\u201c von YouTube anzeigen<\/button>\t\t\t\t\t\t<div class=\"embed-privacy-overlay\">\t\t\t\t<div class=\"embed-privacy-inner\">\t\t\t\t\t<div class=\"embed-privacy-logo\" style=\"background-image: url(https:\/\/notiz.blog\/wp-content\/plugins\/embed-privacy\/assets\/images\/embed-youtube.png?ver=1.12.4);\"><\/div>\t\t<p>\t\tHier klicken, um den Inhalt von YouTube anzuzeigen.\t\t\t\t\t<br>\t\t\t\t\tErfahre mehr in der <a href=\"https:\/\/policies.google.com\/privacy?hl=de\" target=\"_blank\">Datenschutzerkl\u00e4rung von YouTube<\/a>.\t\t<\/p>\t\t<p class=\"embed-privacy-input-wrapper\">\t\t\t<input id=\"embed-privacy-store-youtube-d28d20a3e5d33945b9e5b10fdd62338e\" type=\"checkbox\" value=\"1\" class=\"embed-privacy-input\" data-embed-provider=\"youtube\">\t\t\t<label for=\"embed-privacy-store-youtube-d28d20a3e5d33945b9e5b10fdd62338e\" class=\"embed-privacy-label\" data-embed-provider=\"youtube\">\t\t\t\tInhalt von YouTube immer anzeigen\t\t\t<\/label>\t\t<\/p>\t\t\t\t\t\t<\/div>\t\t\t\t\t\t\t\t<div class=\"embed-privacy-footer\"><span class=\"embed-privacy-url\"><a href=\"https:\/\/www.youtube.com\/watch?v=VJWdzeZz-ok\">\u201eEnable Mastodon Apps for WordPress and its Plugins\u201c direkt \u00f6ffnen<\/a><\/span><\/div>\t\t\t<\/div>\t\t\t\t\t\t<div class=\"embed-privacy-content\">\t\t\t\t<script>var _oembed_d28d20a3e5d33945b9e5b10fdd62338e = '{\\\"embed\\\":\\\"&lt;iframe title=&quot;Enable Mastodon Apps for WordPress and its Plugins&quot; width=&quot;700&quot; height=&quot;394&quot; src=&quot;https:\\\\\/\\\\\/www.youtube-nocookie.com\\\\\/embed\\\\\/VJWdzeZz-ok?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;\\\\\/iframe&gt;\\\"}';<\/script>\t\t\t<\/div>\t\t<\/div>\t\t\n<\/div><\/figure>\n\n\n\n<p>Ich bin begeistert von der Idee!<\/p>\n\n\n\n<p>Das Nachbauen der Mastodon-API stellt eine relativ einfache L\u00f6sung f\u00fcr das aktuelle &#8218;App-Problem&#8216; von WordPress dar. Die g\u00e4ngigen Apps zielen darauf ab, den Nutzern das traditionelle Bloggen zu erm\u00f6glichen. Allerdings haben soziale Medien im Allgemeinen und Twitter im Speziellen, die Art und Weise wie wir im Internet kommunizieren, ma\u00dfgeblich ver\u00e4ndert. Es geht nicht mehr um lange Artikel, sondern um kurze Nachrichten ohne Titel mit dem Fokus auf Bilder oder Videos.<\/p>\n\n\n\n<p>Ein weiterer Nebeneffekt sind die sozialen Interaktionen wie Kommentieren (die WordPress \u00fcber die letzten Jahre sp\u00e4rlich vernachl\u00e4ssigt hat), Liken, Boosten und Bookmarken (die WordPress nativ gar nicht unterst\u00fctzt), welche die Mastodon Apps von Haus aus schon mit bringen.<\/p>\n\n\n\n<p>&#8222;Enable Mastodon Apps&#8220; stellt aber nur die Endpunkte f\u00fcr diese Interaktionen bereit, um sie nutzen zu k\u00f6nnen, braucht es weitere Plugins, wie z.B. <a href=\"https:\/\/wordpress.org\/plugins\/friends\/\">Friends<\/a> und\/oder <a href=\"https:\/\/wordpress.org\/plugins\/activitypub\/\">ActivityPub<\/a>. Mehr dazu hier: <a href=\"https:\/\/wordpress.tv\/2023\/10\/22\/matthias-pfefferle-alex-kirk-friends-with-activitypub-deine-nachhaltige-identitaet-im-web\/\">Friends with ActivityPub \u2013 Deine nachhaltige Identit\u00e4t im\u00a0Web<\/a>.<\/p>\n\n\n\n<p>Das Projekt hat mich sehr an die fr\u00fchen Twitter-Jahre erinnert. Die Twitter-API galt lange als der de-facto Standard f\u00fcr Micro-blogging und Automattic\/<a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@photomatt\">@photomatt<\/a> hat damals schon die Vorteile f\u00fcr sich erkannt und die API f\u00fcr WordPress.com nach gebaut:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Of course one of the coolest things about Twitter right now is the client applications, particularly the mobile\/iPhone ones. I use <a href=\"http:\/\/www.atebits.com\/tweetie-iphone\/\">Tweetie 2<\/a> on my iPhone every day. Wouldn\u2019t it be cool if you could get all your blog subscriptions and post to your WordPress.com blog from apps like Tweetie? Well here\u2019s an early Christmas present\u2026<\/p>\n\n\n\n<p>We\u2019ve enabled posting to and reading of WordPress.com blogs via the Twitter API. Any app that allows you to set a custom API URL will work.<\/p>\n<cite><a href=\"https:\/\/wordpress.com\/blog\/2009\/12\/12\/twitter-api\/\">Post and Read via Twitter\u00a0API<\/a><\/cite><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Hackathon<\/h2>\n\n\n\n<p>Wir waren zwar nur 4 Personen, aber ich sag nur &#8222;Qualit\u00e4t statt Quantit\u00e4t&#8220;!<\/p>\n\n\n\n<p>Vielen Dank <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/dewp.space\/@Drivingralle\">@Drivingralle<\/a>, <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/dewp.space\/@matze\">@matze<\/a> und <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/mastodon.social\/@obenland\">@obenland<\/a>, es war super produktiv und hat gro\u00dfen Spa\u00df gemacht \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"675\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-900x675.jpg\" alt=\"\" class=\"wp-image-25095\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-900x675.jpg 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-700x525.jpg 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-768x576.jpg 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-1536x1152.jpg 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/IMG_2312-2048x1536.jpg 2048w\" \/><figcaption class=\"wp-element-caption\">Von links nach rechts: <a href=\"https:\/\/www.drivingralle.de\/\">Ralf Wiechers<\/a>, ich, <a href=\"https:\/\/kittmedia.com\/\">Matthias Kittsteiner<\/a> und <a href=\"https:\/\/konstantin.obenland.it\/\">Konstantin Obenland<\/a><\/figcaption><\/figure>\n\n\n\n<p>Was wir erreicht haben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die meisten Mastodon-API-Endpunkte wurden implementiert.<\/li>\n\n\n\n<li>&#8222;Hooks&#8220; und &#8222;Actions&#8220; f\u00fcr den internen Gebrauch.<\/li>\n\n\n\n<li>Dokumentation aller Hooks.<\/li>\n\n\n\n<li>Grundlegende Beispielimplementierungen in ActivityPub und im Friends Plugin.<\/li>\n\n\n\n<li>Testen von zus\u00e4tzlichen Clients.<\/li>\n<\/ul>\n\n\n\n<p>Und hier ein paar Statistiken von den zweieinhalb Tagen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3 new contributors to the plugin<\/li>\n\n\n\n<li>4,101 lines added<\/li>\n\n\n\n<li>911 lines removed<\/li>\n\n\n\n<li>213 commits<\/li>\n\n\n\n<li>34 files changed<\/li>\n\n\n\n<li>25 PRs merged<\/li>\n\n\n\n<li>7 PRs almost merged<\/li>\n\n\n\n<li>0 Social Media posts<\/li>\n<\/ul>\n\n\n\n<p>Und hier der Pull Request in seiner ganzen Pracht: <a href=\"https:\/\/github.com\/akirk\/enable-mastodon-apps\/pull\/93\">Collection of changes from the CloudFest Hackathon<\/a><\/p>\n\n\n\n<p>Vielen Dank auch an @bart@moth.social und das Team von <a href=\"https:\/\/getmammoth.app\/\">Mammoth<\/a>, die uns im Vorfeld unterst\u00fctzt haben. Mammoth funktioniert jetzt wunderbar mit WordPress und Alex und ich hatten einen Einblick in die App-Entwicklung und deren Eigenheiten \ud83d\ude42<\/p>\n\n\n\n<p>Hier ein paar Bilder:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"719\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"25103\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-900x719.png\" alt=\"\" class=\"wp-image-25103\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-900x719.png 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-700x560.png 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-768x614.png 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-1536x1228.png 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.33.56-2048x1637.png 2048w\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"719\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"25101\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-900x719.png\" alt=\"\" class=\"wp-image-25101\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-900x719.png 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-700x560.png 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-768x614.png 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-1536x1228.png 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-09.34.48-2048x1637.png 2048w\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"719\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"25104\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-900x719.png\" alt=\"\" class=\"wp-image-25104\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-900x719.png 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-700x560.png 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-768x614.png 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-1536x1228.png 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-19-at-19.48.40-2048x1637.png 2048w\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"719\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"25102\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-900x719.png\" alt=\"\" class=\"wp-image-25102\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-900x719.png 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-700x560.png 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-768x614.png 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-1536x1228.png 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-20-at-20.47.16-2048x1637.png 2048w\" \/><\/figure>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ich war am Wochenende auf dem CloudFest Hackathon und hatte zum zweiten Mal die Change ein Projekt zu betreuen. Die Idee zu &#8222;Enable Mastodon Apps&#8220; stammt von @alex und ich freue mich sehr, dass er mir sein &#8222;Baby&#8220; f\u00fcr den Hackathon anvertraut hat! Hier ist unser Pitch: Ich bin begeistert von der Idee! Das Nachbauen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":25084,"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":""},"categories":[946],"tags":[1080,1963,1961,1960,1168,5171,1169,1094],"class_list":{"0":"post-25083","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-wordpress","8":"tag-activitypub","9":"tag-app","10":"tag-cfhack","11":"tag-cfhack2024","12":"tag-cloudfest","13":"tag-fediblog","14":"tag-hackathon","15":"tag-mastodon","16":"h-entry","17":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25083","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=25083"}],"version-history":[{"count":5,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25083\/revisions"}],"predecessor-version":[{"id":25116,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/25083\/revisions\/25116"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media\/25084"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=25083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=25083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=25083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}