@pfefferle@mastodon.social
@pfefferle@mastodon.social avatar

pfefferle

@pfefferle@mastodon.social

web worker, blogger, podcaster, #openweb advocate and citizen of the #indieweb and the #fediverse.

Open Web Wrangler @ #Automattic

I am currently working on the #ActivityPub plugin and several #IndieWeb (mainly #Webmentions) plugins for #WordPress! Besides of that, I maintain some other small Open Web plugins and try to help out on the #pluginkollektiv.

Follow my blog on the fediverse: "@pfefferle"

#fedi22

This profile is from a federated server and may be incomplete. Browse more on the original instance.

decentered, to fediverse
@decentered@social.wedistribute.org avatar

A new episode of is out! We sat down with @pfefferle from Automattic on his effort to bring to the ecosystem!

https://wedistribute.org/podcast/wordpress-matthias-pfefferle/

pfefferle,
@pfefferle@mastodon.social avatar

@decentered oh god, that image 😂

liaizon, to article_interop
@liaizon@wake.st avatar

Lets make articles interoperable!

@article_interop

pfefferle,
@pfefferle@mastodon.social avatar

@liaizon @article_interop oh nice! Count me in!

kev, (edited ) to random
@kev@fosstodon.org avatar

Who dis? New 8-bit profile pic, thanks to @joel

pfefferle,
@pfefferle@mastodon.social avatar

@kev @joel I like it!

cdevroe, to random
@cdevroe@mastodon.social avatar

@pfefferle In your video w/ @nathan I noticed that your author profile says it joined in 2005. Typically that is the date the account joined Mastodon... https://mastodon.social/@pfefferle@notiz.blog. (just in case you hadn't seen that)

pfefferle,
@pfefferle@mastodon.social avatar

@cdevroe @nathan it is the date you created your Mastodon account, isn’t it?

…and I started my blog in 2005!

…and the blog is part of the fediverse way longer than mastodon even exists ☺️

#ostatus

pfefferle,
@pfefferle@mastodon.social avatar

@cdevroe @nathan ☺️

I have chosen the date of the first blogpost, because WordPress has no „installed at“ date.

An alternative might be the date when the first person follows your blog or when you install the plugin!?!

nathan, to random
@nathan@wpbuilds.social avatar
pfefferle,
@pfefferle@mastodon.social avatar

@talksina @nathan let me know if I can help!

pfefferle,
@pfefferle@mastodon.social avatar

@talksina @nathan migration is tricky and there is no standardized way to do it, so I would recommend to start with the real domain! I only works on public sites btw. The site must be accessible by mastodon at al. otherwise it fails to connect.

pfefferle,
@pfefferle@mastodon.social avatar

@talksina @nathan that it is not on a local machine or password protected

pfefferle,
@pfefferle@mastodon.social avatar

@talksina @nathan if you send me the domain then I can check

pfefferle, to random
@pfefferle@mastodon.social avatar
pfefferle, (edited ) to random
@pfefferle@mastodon.social avatar
pfefferle,
@pfefferle@mastodon.social avatar
pfefferle, to fediverse
@pfefferle@mastodon.social avatar

what motivates me to blog more again is the !

I'M GETTING COMMENTS AGAIN!

There are discussions about what I write, everyone can use the tool they like best and it still ends up on my blog!

It feels like 2005 again when I started @notiz.blog@notiz.blog !

Only better!

pfefferle, to wordpress
@pfefferle@mastodon.social avatar

Oh nice! Following a blog using is working like a charm!

Good job @julian

pfefferle,
@pfefferle@mastodon.social avatar

@julian The plugin federates posts and comments.

But for now, a WordPress User can only be followed, I have no idea how to implement the following part nicely (yet).

pfefferle,
@pfefferle@mastodon.social avatar

@julian btw. I would love to understand/support how NodeBB handles categories and groups!

pfefferle,
@pfefferle@mastodon.social avatar

@julian I do that for the blog-wide user. It is from the type group and boosts all posts from every author. But it seems to be not compatible with NodeBB for now?!?

pfefferle,
@pfefferle@mastodon.social avatar

@julian yes, couldn’t follow! It is @notiz.blog@notiz.blog

pfefferle,
@pfefferle@mastodon.social avatar

@julian and I have to debug comments... they seem to also be broken :(

Can you maybe give me a level where I can post more often?

pfefferle,
@pfefferle@mastodon.social avatar

@julian ok, comments seem to come through today... maybe a glitch or an issue with missing upvotes?

pfefferle,
@pfefferle@mastodon.social avatar

@julian The HTML version (HTTP Request without Accept header) does redirect to the main page, but if you add the Accept header to get the JSON it will work even without signature. (I have not yet enabled AUTHORIZED_FETCH).

I ran some tests and it seems to work up to the Follow Accept response where I receive a 500 from the NodeBB inbox.

pfefferle,
@pfefferle@mastodon.social avatar

@julian sure, I will send you a DM!

pfefferle,
@pfefferle@mastodon.social avatar

@julian @devnull sure no problem!

pfefferle,
@pfefferle@mastodon.social avatar

@oplik0 🤔 I will also re-check, because the blog-actor should work exactly like a normal actor.

...and thanks a lot for your investigations and for the quick fix and the feedback 🙂

pfefferle,
@pfefferle@mastodon.social avatar

@oplik0 ah, maybe its that we use domain@domain as WebFinger ID?

pfefferle, (edited ) to fediverse German
@pfefferle@notiz.blog avatar

It’s a Thing!

Das Fediverse tut sich schwer, das volle Potential der verschiedenen Activity-Objects auszunutzen, hauptsächlich aus Angst, sie falsch oder schlecht darzustellen und deshalb teilen die meisten großen Netzwerke leider nur Notes.

Dabei könnte es so einfach sein!

@deadsuperhero schreibt auf seinem Blog, dass er eigentlich gerne Articles veröffentlichen will, aber (hauptsächlich) durch Mastodon zu Note gezwungen wird, wenn er sicher gehen will, dass der Text vollständig dargestellt wird.

Here’s the problem, though: the biggest player in the space, Mastodon, does a poor job of supporting Article. Instead, every post Mastodon uses is instead a Note. From a semantic point of view, it might not seem like there’s a lot of difference between the two: both are effectively texts posts that can contain some formatting markup, both can hold an arbitrary amount of characters, and both can effectively be used to represent a full article.

A Content-Fallback Mechanism for the Fediverse

Ironischerweise zeigt Mastodon eine föderierte Note vollständig an, auch wenn der Text weit über die eigentlich erlaubten 500 Zeichen hinaus geht, bei einem Article wird statt dessen aber nur die kurze summary benutzt.

Seine Idee: Ein Content-Fallback Mechanismus!

Das heißt jede Aktivität, egal von welchem Typ, liefert zusätzlich zu dem spezifischen Objekt, eine standardisierte Note (content-fallback):

<span><code class="hljs language-json">{  <span class="hljs-attr">"@context"</span>:[    <span class="hljs-string">"https://www.w3.org/ns/activitystreams"</span>,    {      <span class="hljs-attr">"Hashtag"</span>:<span class="hljs-string">"as:Hashtag"</span>    }  ],  <span class="hljs-attr">"id"</span>:<span class="hljs-string">"https://wedistribute.org/2024/04/iftas-dsa-guide/"</span>,  <span class="hljs-attr">"type"</span>:<span class="hljs-string">"Article"</span>,  <span class="hljs-attr">"content-fallback"</span>: {    <span class="hljs-attr">"content"</span>:<span class="hljs-string">"IFTAS, the dedicated Trust & Safety organization ..."</span>,    <span class="hljs-attr">"mediaType"</span>:<span class="hljs-string">"text/plain"</span>,    <span class="hljs-attr">"summary"</span>:<span class="hljs-string">""</span>,    <span class="hljs-attr">"tag"</span>:[{      <span class="hljs-attr">"href"</span>:<span class="hljs-string">"https://wedistribute.org/tags/fediverse"</span>,      <span class="hljs-attr">"name"</span>:<span class="hljs-string">"#fediverse"</span>,      <span class="hljs-attr">"type"</span>:<span class="hljs-string">"Hashtag"</span>    }],    <span class="hljs-attr">"type"</span>:<span class="hljs-string">"Note"</span>,    <span class="hljs-attr">"updated"</span>:<span class="hljs-string">"2024-04-11T20:55:29Z"</span>  }}</code></span><small class="shcb-language" id="shcb-language-1"><span class="shcb-language__label">Code-Sprache:</span> <span class="shcb-language__name">JSON / JSON mit Kommentaren</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">json</span><span class="shcb-language__paren">)</span></small>

Ich verstehe das Problem und finde die Idee generell nicht schlecht, aber eigentlich bietet ActivityPub alles Nötige schon von Haus aus! ActivityPub oder besser ActivityStreams ist so aufgebaut, dass alle Objekte von einem Art Base-Object abgeleitet werden. Das heißt Article, Note, Event oder Place, haben ein gleiches Minimal-Set an Attributen:

  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attachment">attachment</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-attributedto">attributedTo</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-audience">audience</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-content">content</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-context">context</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-name">name</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon">icon</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-image">image</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-inreplyto">inReplyTo</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-published">published</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-replies">replies</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-summary">summary</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-tag">tag</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-updated">updated</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-url">url</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-to">to</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-bto">bto</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-cc">cc</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-bcc">bcc</a>
  • <a href="https://www.w3.org/TR/activitystreams-vocabulary/#dfn-mediatype">mediaType</a>
  • …und mehr

Und auch wenn beispielsweise Place oder Event einige spezifische Eigenschaften haben, die nicht jede Plattform „kennt“ und „versteht“, sollte es immer möglich sein, die Beschreibung (content oder summary) und den Titel (name) anzuzeigen.

Das Prinzip ist ähnlich wie, wenn nicht sogar inspiriert durch, schema.org/Thing. Auch hier basieren alle Objekte letztendlich auf einem Thing und trotz der wesentlich größeren Anzahl1 an Objekten und Attributen, können Suchmaschinen sich immer sicher sein, dass es zumindest einen name, eine description und eine url zum Anzeigen gibt.

Bevor wir über also über ein content-fallback nachdenken, sollten wir (meiner Meinung nach) erst einmal dafür sorgen, dass die vorhanden Möglichkeiten richtig genutzt werden.

  1. The vocabulary currently consists of 806 Types, 1474 Properties 14 Datatypes, 90 Enumerations and 480 Enumeration members. – https://schema.org/docs/schemas.html ↩︎
pfefferle,
@pfefferle@mastodon.social avatar

@pfefferle @deadsuperhero Nice Article!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Leos
  • tsrsr
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • khanakhh
  • Youngstown
  • everett
  • slotface
  • tacticalgear
  • rosin
  • thenastyranch
  • kavyap
  • PowerRangers
  • normalnudes
  • ethstaker
  • vwfavf
  • GTA5RPClips
  • Durango
  • osvaldo12
  • cisconetworking
  • hgfsjryuu7
  • InstantRegret
  • tester
  • cubers
  • modclub
  • ngwrru68w68
  • anitta
  • All magazines