Follow

gibt es irgendwo eine Anleitung zum Activypub Protokoll und wie man dieses in eigenen Projekten umsetzen kann? Deutsch oder Englisch ist egal

@zwovierzwo Das W3 bietet da was: w3.org/TR/activitypub/#Overvie Das wäre das Offizielle. (Und das einzige, dass ich kenne.) Ansonsten würd ich die Entwickler der einzelnen Sachen (Mastodon/Friendica/...) direkt ansprechen. Die können dir wahrscheinlich besser weiter helfen als ich.

@reznik
Super - Danke erstmal - ich schaue mir mal die offizielle Anleitung durch. Also bei Friendica habe ich mich schon einmal durch den Quellcode gewühlt, aber so richtig schlau bin ich da nicht geworden.

Mich interessiert da erst einmal die generelle Funktion und dann mache ich mir Gedanken wie ich sowas in mein eigenes Projekt einbauen kann. 🖖

@heluecht
So richtig weiß ich das auch noch nicht. (erstmal ein Konzept, da ich mit den bestehenden Plattformen FD/Mast/Pix nicht so ganz zufrieden bin).

@reznik

@reznik @zwovierzwo Rein instinktiv wuerde ich nach einer Referenzimplementierung gucken, wenn es die in der passenden Programmiersprache gibt und mir zusagt, dann auch nehmen. Meistens ist diese am besten gepflegt und enthaelt meistens auch die neuesten Aenderungen seitens der Spezifikation.

@roland
Nun, das wäre dann der zweite Schritt - aber ich wollte erst einmal das Prinzip verstehen, wie das funktioniert.
Als Sprächen kämen da aktuell eh nur Python und PHP infrage.
@reznik

@zwovierzwo @reznik Okay. :-) Ansonsten wuerden mir als Anleitungen, da es implementierungsabhaengig ist, nur die jeweiligen Dokumentationen einfallen. Auch wuerde ich mal #StackOverflow befragen: stackoverflow.com/search?q=act…

@roland
nun ich schaue gerade so in die offiziellen Dokumentationen.
- huch da wird ja mein ganz böse und meldet einiges was da an geht 😮 😉
@reznik

@zwovierzwo @reznik Jo, NoScript hat hier auch auch "Alarm" geschlagen, da #GoogleAnalytics und #GoogleSyndication gefunden wurden. :-) Die Community ist ein exellenter Anlaufspunkt, da sie kein "Schlaumeier-Forum" ist, sondern durch Hoch- und Heruntervoten die Qualitaet hoch haelt (Anerkennungspunkte gibt fuer Up-Votes).

@reik_kaps
Ja auch eine Möglichkeit - nur her damit - dann kann ich mich durchlesen - dankeschön 🖖

@tommy
jetzt ja - das wurde mir schon vorgeschlagen - danke dir aber trotzdem für den Tipp 🖖
@dansup

@zwovierzwo Find die Mastodon-Dokumentation auch noch ganz gut, insbesondere wenn es darum geht Ideen zu sammeln was man machen kann. (Hier die Seite zur ActivityPub Spec-Compliance)

docs.joinmastodon.org/spec/act

@antonius
Danke - das ist auch noch ein Punkt den man durchlesen kann.
🖖

@antonius @zwovierzwo Allerdings nutzt Mastodon nur einen Teil der Spezifikation und hat auch einige Sachen aus der Spezifikation für eigene Zwecke zweckentfremdet.

@heluecht @zwovierzwo Das war mir tatsächlich nicht klar. Dachte Mastodon wäre da ziemlich dicht dran.

@antonius @zwovierzwo Mastodon stellt z.B. keine Beiträge vom Typ "Article" dar. Auch Events werden nicht unterstützt. Es gibt auch keine spezielle Behandlung von Gruppen-Accounts. HTML in Beiträgen werden nicht gerendert sondern einfach entfernt und das Feld für die Zusammenfassung des Beitrags wird für die Content-Warnung zweckentfremdet.

@heluecht
Gibt es denn überhaupt ein Applikation welche das Protokoll zu 100% unterstützt oder zumindest nix 'zweckentfremdet'
@antonius

@antonius @zwovierzwo Bei Friendica versuchen wir es. Allerdings gibt es bei der Behandlung von Gruppen unterschiedliche Ansätze zwischen den Implementationen, da die Spezifikation nicht festgelegt hat, wie genau mit Gruppen umgegangen werden soll.

@heluecht
ach ja das gab es ja mal ein Projekt (passiert da überhaupt noch was oder ist das eingeschlafen - die Nutzerzahlen sind ja auch sehr sehr gering)

Aber wozu braucht man Gruppen? In Endeffekt ist nur der Inhalt / die Sichtbarkeit / Fav / Teilen / Teilen und Kommentieren wichtig und müssen im Protokoll abgedeckt werden und darauf müsste es doch eine allgemeine Einigung geben?

@antonius

@antonius @zwovierzwo Beziehst Du Dich im ersten Absatz auf Friendica? Wenn ja: Ja, es wird aktiv weiterentwickelt. Wir sind gerade in der RC-Phase. Die kommende Version enthält über 1.000 Commits in Bezug auf die vorhergehende Version von vor drei Monaten.

Die Gruppen verwenden wir bei Friendica z.B. für unser Support-Forum, bzw. für die Kommunikation der Server-Betreiber untereinander. Man muss dabei nur dem Gruppen(/Forum)-Account folgen, dann erhält man alle Posts, die an diese Gruppe gesendet werden. Das ist sehr praktisch. Das Problem bei den Gruppen ist nur, dass alleine schon das abonnieren nicht in der Spezifikation festgelegt wurde, und auch die Verteilung der Beiträge wurde nicht erläutert - und da gibt es viele kleine Details, die es komplex machen.

@heluecht
Ja ich bezog mit auf Friendica. Die Oberfläche fand ich nicht gut.
(ist die im neuen Release besser?)

Nun das mit den Gruppen ist aber Friendica spezifisch. Das muss ja auch nicht global ausgerollt werden. Hier muss doch nur ein Dämon laufen der dann alle Beitrage an diesem Forum Account an alle Abonnenten verteilt. (Quasi wie wenn jemand das manuell verteilen würde) - Jedenfalls stelle ich mir das so technisch vor. Für Programmieren braucht man dann nur ein paar extra Tabellen usw.

@zwovierzwo Das mit den Gruppen ist schon merklich komplexer, da gibt es viele Detailfragen bezüglich insbesondere auch der Verteilung der Antworten. Im Speziellen wird es interessant, wenn es sich um Gruppen handelt, die nicht öffentlich sind. Da gibt es "nette" Berechtigungsprobleme. Auch ist bei der Implementation die Frage, ob man die Gruppen so gestalten möchte, dass sie eben auch von anderen Systemen genutzt werden können. Beim Verteilen muss das Problem bezüglich des Signieren des Beitrags gelöst werden. Die LD-Signaturen werden nicht von allen Systemen unterstützt.

@heluecht
Wie gesagt ich hab mir das nie so richtig angeschaut (auch im Code nur mal kurz überflogen) weil mir das System von der Oberfläche nicht gefällt - wirkt wenn ich das so sagen darf "altbacken" und nicht innovativ. 🤔
Klar gibt es da Detailfragen mit den Berechtigungen - aber wozu muss man einen Beitrag signieren, erschließt sich mir nicht der Account ist doch eindeutig (normalerweise auch mit Unique Key) aber das sind Detail spezifische Dinge in denen ich keinen Einblick habe. 🖖

@zwovierzwo Eine Signatur, entweder des Beitrags (per LD-Signatur) oder der Übertragung (per HTTP-Signatur) wird benötigt, damit geprüft werden kann, ob der Beitrag tatsächlich vom Absender kommt. Gibt es keine diesbezügliche Signatur kann der Beitrag mit einem (signierten) HTTP-Request vom Originalsystem geholt werden. Das klappt aber nur bei öffentlichen Beiträgen, bzw. wenn der holende Account dazu berechtigt ist. Und bei nicht öffentlichen Foren kann der absende Account nicht wissen, welche Empfänger berechtigt sind, deswegen würde ein HTTP-Request abgelehnt werden.

Die "Detailfragen" sind die Teile, die wirklich Kopfzerbrechen erzeugen und die Sache kompliziert machen.

Bezüglich der Oberfläche von Friendica: Da benötigen wir Leute, die Lust haben, mal was dran zu drehen. Ich bin ein Back-End-Mensch. Und auch die anderen Programmierer des Projekts kümmern sich lieber um die Verarbeitung.

@heluecht
Ich verstehe – ein digitaler Fingerabdruck.
Ja das ist klar der Teufel steckt immer im Detail – das kenne ich auch bei der Software in meinem Job.
Dann wird es schwierig mit der Akzeptanz und den Nutzern, denn die Leute interessiert nicht wie gut das Backend läuft (das sehen sie ja nicht) – Das Frontend muss „Hand und Fuß“ haben, denn das ist was die Nutzer sehen und tagtäglich nutzen.
Meine Erfahrung zeigt bei geilen Frontend sehen die Nutzer auch über manche Bugs im Backend hinweg.

@zwovierzwo BTW: Da Friendica große Teile der Mastodon-API unterstützt, kann man praktisch jeden Mastodon-Client verwenden, auch Desktop-Clients. Den Beitrag hier habe ich z.B. mit "Kurotodon" erstellt 😀

@heluecht
Nun ich wollte nicht unbedingt noch eine extra Client auf dem Desktop haben. Mein Mastodon hab ich im Browser laufen mit Styles (addon) angepasst.
Kurotodon (da finde ich nur was im Google Store) oder hast du da einen Link für?
Ansonsten eine extra Weboberfläche bauen mit API zugriff 🤔 Ähnlich wie bei einem Webmailer (da nutze ich auch immer lieber RoundCube) als einen Fat Client ... Was heißt große Teile? Was fehlt?

@zwovierzwo Wir unterstützen derzeit keine Abstimmungen, deswegen fehlt z.B. dieser Teil. Siehe hier: github.com/friendica/friendica…

Jepp, Kurotodon ist das Teil im Google Store.

@heluecht
Das läuft dann wohl nicht mit FF und den Google Browser nutze ich bewusst nicht. OK Abstimmungen "nice to have" sage ich da mal - den link schaue ich mir auf jeden Fall an - danke dir ... 🖖
Die Lösung mit der Api und einer eigenen Webseite gefällt mir aktuell auch ganz gut bzw. könnte man in meine Projekt Ideen mit einfließen lassen. 🤔

Show newer
Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!