{"id":21816,"date":"2022-04-03T22:14:09","date_gmt":"2022-04-03T20:14:09","guid":{"rendered":"https:\/\/notiz.blog\/?p=21816"},"modified":"2023-07-24T20:45:21","modified_gmt":"2023-07-24T18:45:21","slug":"cloudfest-2022-hackathon-indieweb-for-wordpress","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2022\/04\/03\/cloudfest-2022-hackathon-indieweb-for-wordpress\/","title":{"rendered":"CloudFest Hackathon:  WordPress and the IndieWeb"},"content":{"rendered":"\n<p>Vom 19. bis 21. M\u00e4rz fand der <a href=\"https:\/\/www.cloudfest.com\/hackathon\" data-type=\"URL\" data-id=\"https:\/\/www.cloudfest.com\/hackathon\">CloudFest Hackathon<\/a> in Rust statt und ich hatte die Chance ein <a href=\"https:\/\/web.archive.org\/web\/20220803031609\/https:\/\/www.cloudfest.com\/project\/wordpress-and-the-indieweb\" type=\"URL\" id=\"https:\/\/www.cloudfest.com\/project\/wordpress-and-the-indieweb\">Projekt<\/a> einzureichen und zu leiten:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>WordPress and the IndieWeb<\/strong><\/p><p>The IndieWeb is a community of individual personal websites, connected by simple standards, based on the principles of owning your domain, using it as your primary identity, to publish on your own site (optionally syndicate elsewhere), and own your data.<\/p><p>There are a variety of WordPress-plugins implementing these standards and principles, to help people to stay independent. Most of these plugins are very basic, have no or only little documentation with a poor user experience. Help the movement to mature and gain a broader audience.<\/p><\/blockquote>\n\n\n\n<p>Ich hatte mir im Vorfeld nicht viel Gedanken zum Hackathon gemacht, hab aber insgeheim gehofft, der <a href=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/tree\/5.X\" data-type=\"URL\" data-id=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/tree\/5.X\">Version 5.0<\/a> vom <a href=\"https:\/\/wordpress.org\/plugins\/webmention\/\" data-type=\"URL\" data-id=\"https:\/\/wordpress.org\/plugins\/webmention\/\">Webmention Plugin<\/a> (einer nahezu kompletten \u00dcberarbeitung an der <a href=\"https:\/\/david.shanske.com\/\">David Shanske<\/a> und ich schon eine halbe Ewigkeit arbeiten) ein wesentliches St\u00fcck n\u00e4her zu kommen&#8230; Das Wochenende lief dann aber doch etwas anders&#8230; auch gro\u00dfartig, aber anders \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Tag<\/h2>\n\n\n\n<p>Wir waren eine wild zusammengew\u00fcrfelte Truppe von 8 Leuten mit den verschiedensten Lebensl\u00e4ufen und ich hab mir den ersten Tag viel M\u00fche gegeben, das <a href=\"https:\/\/indieweb.org\/\" data-type=\"URL\" data-id=\"https:\/\/indieweb.org\/\">IndieWeb<\/a> und <a href=\"https:\/\/webmention.net\/\" data-type=\"URL\" data-id=\"https:\/\/webmention.net\/\">Webmentions<\/a> zu erkl\u00e4ren. Die Diskussionen waren spannend und hitzig und gingen sogar so weit, dass ich zwischendurch den generellen Sinn und Zweck des Webmention Plugins verteidigen musste.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"506\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/04\/signal-2022-03-22-212819_017-900x506.jpeg\" alt=\"Hackathon Gruppe\" class=\"wp-image-21903\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/04\/signal-2022-03-22-212819_017-900x506.jpeg 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/04\/signal-2022-03-22-212819_017-700x394.jpeg 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/04\/signal-2022-03-22-212819_017-768x432.jpeg 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/04\/signal-2022-03-22-212819_017.jpeg 1024w\" \/><\/figure>\n\n\n\n<p>Letztendlich haben aber nicht meine Argumente die Gruppe \u00fcberzeugt, sondern eine Pr\u00e4sentation des Plugins mit all seinen aktuellen Features. Wer diesen Erkenntnisprozess nachvollziehen m\u00f6chte, kann gerne Hagen Grafs &#8222;<a href=\"https:\/\/twitter.com\/search?q=%40hagengraf%20%23CFHack2022&amp;src=typed_query&amp;f=live\" data-type=\"URL\" data-id=\"https:\/\/twitter.com\/search?q=%40hagengraf%20%23CFHack2022&amp;src=typed_query&amp;f=live\">Webmention Journey<\/a>&#8220; auf Twitter verfolgen \ud83d\ude42 (<a href=\"https:\/\/web.archive.org\/web\/20220409164616\/https:\/\/hagen.cocoate.com\/2022\/04\/09\/cloudfest-hackathon-2022\/\" type=\"URL\" id=\"https:\/\/hagen.cocoate.com\/2022\/04\/09\/cloudfest-hackathon-2022\/\">Nachtrag: Hagen hat seine Journey mittlerweile auch &#8222;verbloggt&#8220;<\/a>)!<\/p>\n\n\n\n<p>Meine Fazit des ersten Tages?<\/p>\n\n\n\n<p>Man muss nicht die Geschichte des IndieWebs verstehen und auch nicht den <a href=\"https:\/\/www.w3.org\/TR\/webmention\/\" data-type=\"URL\" data-id=\"https:\/\/www.w3.org\/TR\/webmention\/\">Webmention Standard<\/a> gelesen haben um von der Funktionalit\u00e4t begeistert zu werden, vor allem in der Kombination mit <a href=\"https:\/\/brid.gy\/\" data-type=\"URL\" data-id=\"https:\/\/brid.gy\/\">Brid.gy<\/a> (Brid.gy schl\u00e4gt eine Br\u00fccke zwischen dem Webmention Standard und den propriet\u00e4ren APIs der bekannten Social Networks. So landen dann auch Likes auf Facebook und Kommentare auf Twitter, im eigenen Blog).<\/p>\n\n\n\n<p>Ich werde Versuchen mich zuk\u00fcnftig weniger auf Geschichte und Technologie zu konzentrieren und auf Vortr\u00e4gen und Hackathons mehr Fokus auf die Funktionalit\u00e4t zu legen.<\/p>\n\n\n\n<p>Ich hab die Plugins in erster Linie erstmal f\u00fcr mich Gebaut. Frei nach dem Motto &#8222;<a href=\"https:\/\/indieweb.org\/dogfood\">eat your own dogfood<\/a>&#8222;. Das hat f\u00fcr die IndieWeb Community ganz gut funktioniert, aber um eine breitere Masse anzusprechen, muss das Plugin verst\u00e4ndlicher werden.<\/p>\n\n\n\n<p>F\u00fcr den Hackathon haben wir uns deshalb dazu entschieden, die <em>Usability<\/em> und die <em>User Experience<\/em> des Plugin zu beleuchten und (im besten Fall) zu verbessern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Webmention-Settings<\/h3>\n\n\n\n<p>Die Einstellungen setzen relativ viel Kenntnisse \u00fcber die Funktionsweise von Webmentions voraus. Ein Teil der Gruppe hat sich daran gemacht, die Seite zu \u00fcberarbeiten und zu vereinfachen.<\/p>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full is-style-default\"><a href=\"https:\/\/notiz.blog\/?attachment_id=21835\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"1536\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"21835\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011.jpeg\" alt=\"\" class=\"wp-image-21835\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011.jpeg 2048w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011-700x525.jpeg 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011-900x675.jpeg 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011-768x576.jpeg 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_011-1536x1152.jpeg 1536w\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/notiz.blog\/?attachment_id=21833\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"767\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" data-id=\"21833\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_005.jpeg\" alt=\"\" class=\"wp-image-21833\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_005.jpeg 1024w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_005-700x524.jpeg 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_005-900x674.jpeg 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_005-768x575.jpeg 768w\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>Das Resultat ist eine Art <em>Wizard<\/em>, der beim ersten Aufruf gestartet wird und den User Schritt f\u00fcr Schritt durch die Einstellungen f\u00fchrt und sie ausf\u00fchrlich erkl\u00e4rt. Der Wizard soll nur beim ersten Laden starten und die klassischen Einstellungen nicht ersetzen.<\/p>\n\n\n\n<p>(Der Pull Request dazu: <a href=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/pull\/328\" data-type=\"URL\" data-id=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/pull\/328\">#328<\/a>)<\/p>\n\n\n\n<p>Die zweite Idee war Brid.gy tiefer in das Webmentions Plugin zu integrieren. Die aktuelle Diskussion dazu findet auf <a href=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/issues\/329\" data-type=\"URL\" data-id=\"https:\/\/github.com\/pfefferle\/wordpress-webmention\/issues\/329\">GitHub<\/a> statt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Response-Types<\/h2>\n\n\n\n<p>Im Gegensatz zu Trackbacks und Pingbacks, m\u00fcssen Webementions nicht immer &#8222;nur&#8220; ein simpler <em>ping<\/em> sein. Es ist auch m\u00f6glich dezentrale <em>Likes<\/em>, <em>Bookmarks<\/em>, <em>RSVPs<\/em> oder <em>Reposts<\/em> zu verschicken.<\/p>\n\n\n\n<p>Aktuell muss man dazu im Block-Editor auf die HTML Ansicht wechseln und dem Link eine CSS-Klasse hinzuf\u00fcgen:<\/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\">a<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"u-like-of\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"http:\/\/example.com\/\"<\/span>&gt;<\/span>Example<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">a<\/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>Das ist nicht praktikabel und in keiner Weise anwenderfreundlich. Aus diesem Grund hat eine zweite Gruppe, an einem <em>User Interface<\/em> f\u00fcr den <em>Response-Type<\/em> gearbeitet.<\/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\/2022\/03\/signal-2022-03-22-212819_004-900x675.jpeg\" alt=\"\" class=\"wp-image-21834\" srcset=\"https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_004-900x675.jpeg 900w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_004-700x525.jpeg 700w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_004-768x576.jpeg 768w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_004-1536x1152.jpeg 1536w, https:\/\/notiz.blog\/wp-content\/uploads\/2022\/03\/signal-2022-03-22-212819_004.jpeg 2048w\" \/><figcaption>Response-Types f\u00fcr Links im Block Editor<\/figcaption><\/figure>\n\n\n\n<p>Am Ende des Hackathons gab es auch einen ersten Draft, mit der man Links als <em>Likes<\/em> auszeichnen konnte. Den PR gibt es leider noch nicht, aber ich werde ihn nachreichen wenn es soweit ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tw-target-text\">Webmaininnat suomeksi<\/h2>\n\n\n\n<p id=\"tw-target-text\">&#8230;ja Carolinan ansiosta Webmaininnat-laajennus on nyt saatavilla my\u00f6s suomeksi! Kiitos paljon \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Es war extrem spannend mit Leuten, au\u00dferhalb der IndieWeb und (teilweise) auch au\u00dferhalb der WordPress-Community, \u00fcber das <a href=\"https:\/\/indieweb.org\/\">IndieWeb<\/a> im Allgemeinen und das <a href=\"https:\/\/wordpress.org\/plugins\/webmention\/\">Webmention Plugin<\/a> im Speziellen zu sprechen.<\/p>\n\n\n\n<p>Vielen Dank an <a href=\"https:\/\/github.com\/moritzbappert\" data-type=\"URL\" data-id=\"https:\/\/github.com\/moritzbappert\">Moritz Bappert<\/a>, Stefan Euchenhofer, <a href=\"https:\/\/github.com\/derHerrFeldmann\" data-type=\"URL\" data-id=\"https:\/\/github.com\/derHerrFeldmann\">Marko Feldmann<\/a>, Hagen Graf, <a href=\"https:\/\/www.linkedin.com\/in\/carolili\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/carolili\/\">Carolina Lindqvist<\/a>, <a href=\"https:\/\/www.jasonna.de\/\" data-type=\"URL\" data-id=\"https:\/\/www.jasonna.de\/\">Jason Rouet<\/a> und <a href=\"https:\/\/www.linkedin.com\/in\/janvogt\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/in\/janvogt\/\">Jan Vogt<\/a> f\u00fcr eure tolle Arbeit! Danke f\u00fcr die neue Perspektive und f\u00fcr euer Feedback!<\/p>\n\n\n\n<p>Danke auch an <a href=\"https:\/\/profiles.wordpress.org\/nullbyte\/\" data-type=\"URL\" data-id=\"https:\/\/profiles.wordpress.org\/nullbyte\/\">Robert Windisch<\/a> und <a href=\"https:\/\/www.alainschlesser.com\/\" data-type=\"URL\" data-id=\"https:\/\/www.alainschlesser.com\/\">Alain Schlesser<\/a>, mit denen ich viel \u00fcber das <a href=\"https:\/\/core.trac.wordpress.org\/ticket\/35435\" data-type=\"URL\" data-id=\"https:\/\/core.trac.wordpress.org\/ticket\/35435\">Potential von Webmentions im WordPress Core<\/a> geredet habe.<\/p>\n\n\n\n<p>Die 5.0er Version des Webmention Plugins wird gro\u00dfartig!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vom 19. bis 21. M\u00e4rz fand der CloudFest Hackathon in Rust statt und ich hatte die Chance ein Projekt einzureichen und zu leiten: WordPress and the IndieWeb The IndieWeb is a community of individual personal websites, connected by simple standards, based on the principles of owning your domain, using it as your primary identity, to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":21820,"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":[1076,2],"tags":[1168,5171,1169,992,994,57],"class_list":{"0":"post-21816","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-event","8":"category-web","9":"tag-cloudfest","10":"tag-fediblog","11":"tag-hackathon","12":"tag-indieweb","13":"tag-webmention","14":"tag-wordpress","15":"h-entry","16":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/21816","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=21816"}],"version-history":[{"count":5,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/21816\/revisions"}],"predecessor-version":[{"id":24048,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/21816\/revisions\/24048"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media\/21820"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=21816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=21816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=21816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}