From d90a5ca1cab84b40356dbdc50b20bb66b02c7991 Mon Sep 17 00:00:00 2001 From: Clemens Date: Fri, 14 Jul 2023 16:48:28 +0200 Subject: [PATCH] Extended spec with Note and Collections --- note.json | 56 + outbox-first.json | 907 ++++++++++++++ outbox-last.json | 1084 +++++++++++++++++ .../activity_pub_poc/activitystreams2.clj | 30 +- .../activity_pub_poc/core.clj | 1 + .../activity_pub_poc/core_test.clj | 1 - .../activitystreams2_test.clj | 13 + 7 files changed, 2087 insertions(+), 5 deletions(-) create mode 100644 note.json create mode 100644 outbox-first.json create mode 100644 outbox-last.json create mode 100644 src/test/clj/org/domaindrivenarchitecture/activitystreams2_test.clj diff --git a/note.json b/note.json new file mode 100644 index 0000000..22a612e --- /dev/null +++ b/note.json @@ -0,0 +1,56 @@ +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "ostatus": "http://ostatus.org#", + "atomUri": "ostatus:atomUri", + "inReplyToAtomUri": "ostatus:inReplyToAtomUri", + "conversation": "ostatus:conversation", + "sensitive": "as:sensitive", + "toot": "http://joinmastodon.org/ns#", + "votersCount": "toot:votersCount", + "Hashtag": "as:Hashtag" + } + ], + "id": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2022-03-11T09:38:13Z", + "url": "https://social.meissa-gmbh.de/@team/107937234506182462", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2022-03-11:objectId=358829:objectType=Conversation", + "content": "

Kennt Ihr schon unsere Plastik-Sammelaktion https://meissa-gmbh.de/pages/about_meissa/gemeinwohl/sustainability_microplastic/ ?

Ab sofort unterstützen wir auch Bilder über mastodon - d.h. antwortet auf diesen Post mit einem Bild und wir zeigen das direkt auf unserer Website 🙂

#sustainability #microplastic

", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/sustainability", + "name": "#sustainability" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/microplastic", + "name": "#microplastic" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies", + "items": [] + } + } +} diff --git a/outbox-first.json b/outbox-first.json new file mode 100644 index 0000000..44f3ff3 --- /dev/null +++ b/outbox-first.json @@ -0,0 +1,907 @@ +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "ostatus": "http://ostatus.org#", + "atomUri": "ostatus:atomUri", + "inReplyToAtomUri": "ostatus:inReplyToAtomUri", + "conversation": "ostatus:conversation", + "sensitive": "as:sensitive", + "toot": "http://joinmastodon.org/ns#", + "votersCount": "toot:votersCount", + "Hashtag": "as:Hashtag" + } + ], + "id": "https://social.meissa-gmbh.de/users/team/outbox?page=true", + "type": "OrderedCollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/outbox?max_id=110429139094055508&page=true", + "prev": "https://social.meissa-gmbh.de/users/team/outbox?min_id=110688401901905918&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/outbox", + "orderedItems": [ + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110688401901905918/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-07-10T06:36:16Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110671331405100935/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-07-07T06:15:01Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/jerger", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://social.meissa-gmbh.de/users/jerger/statuses/110663396442450033" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110654311944113983/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-07-04T06:06:44Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://digitalcourage.social/users/digitalcourage", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://digitalcourage.social/users/digitalcourage/statuses/110650405759684392" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-07-03T06:36:15Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://tech.lgbt/users/arisunz" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923", + "type": "Note", + "summary": null, + "inReplyTo": "https://tech.lgbt/users/arisunz/statuses/110629503530280714", + "published": "2023-07-03T06:36:15Z", + "url": "https://social.meissa-gmbh.de/@team/110648765695607923", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://tech.lgbt/users/arisunz" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923", + "inReplyToAtomUri": "https://tech.lgbt/users/arisunz/statuses/110629503530280714", + "conversation": "tag:tech.lgbt,2023-06-29:objectId=74304922:objectType=Conversation", + "content": "

@arisunz absolutely yes !

If you need a setup on k8s having backup & monitoring included have a look at:

https://repo.prod.meissa.de/meissa/c4k-forgejo

For the curious ones we've added an flag to try out federated forgejo :-)

", + "contentMap": { + "en": "

@arisunz absolutely yes !

If you need a setup on k8s having backup & monitoring included have a look at:

https://repo.prod.meissa.de/meissa/c4k-forgejo

For the curious ones we've added an flag to try out federated forgejo :-)

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://tech.lgbt/users/arisunz", + "name": "@arisunz@tech.lgbt" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110648765695607923/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-30T16:59:44Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-30T16:59:44Z", + "url": "https://social.meissa-gmbh.de/@team/110634230411050714", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-30:objectId=872251:objectType=Conversation", + "content": "

How looks a federate git repository?

You may ask

https://federated-repo.test.meissa.de/api/v1/activitypub/repo/jem/federation-test-repo

to find out :-)

If you want to explore the api, visit https://federated-repo.test.meissa.de/api/swagger

Credits to @a:exozy.me and the federation team for the cool work.

#fediverse #forgejo

", + "contentMap": { + "en": "

How looks a federate git repository?

You may ask

https://federated-repo.test.meissa.de/api/v1/activitypub/repo/jem/federation-test-repo

to find out :-)

If you want to explore the api, visit https://federated-repo.test.meissa.de/api/swagger

Credits to @a:exozy.me and the federation team for the cool work.

#fediverse #forgejo

" + }, + "updated": "2023-06-30T17:01:41Z", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/fediverse", + "name": "#fediverse" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/forgejo", + "name": "#forgejo" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110634230411050714/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110633727438806861/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-30T14:51:50Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://infosec.exchange/users/hacks4pancakes", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://infosec.exchange/users/hacks4pancakes/statuses/110629108513964921" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-30T14:47:23Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-30T14:47:23Z", + "url": "https://social.meissa-gmbh.de/@team/110633709992879670", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-30:objectId=872079:objectType=Conversation", + "content": "

Wir freuen uns schon auf euch auf der #tübix - wir werden über #k8s, d#evops und das #fediverse vortragen :-)

", + "contentMap": { + "de": "

Wir freuen uns schon auf euch auf der #tübix - wir werden über #k8s, d#evops und das #fediverse vortragen :-)

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/tubix", + "name": "#tubix" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/k8s", + "name": "#k8s" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/fediverse", + "name": "#fediverse" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110633709992879670/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-28T15:55:11Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-28T15:55:11Z", + "url": "https://social.meissa-gmbh.de/@team/110622651916588933", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-28:objectId=869594:objectType=Conversation", + "content": "

We started a #federated #forgejo instance for experiments:

https://federated-repo.test.meissa.de

Feel free to create an account and look around.

The instance will be wiped and recreated from time to time.

", + "contentMap": { + "en": "

We started a #federated #forgejo instance for experiments:

https://federated-repo.test.meissa.de

Feel free to create an account and look around.

The instance will be wiped and recreated from time to time.

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/federated", + "name": "#federated" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/forgejo", + "name": "#forgejo" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110622651916588933/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-28T15:20:39Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-28T15:20:39Z", + "url": "https://social.meissa-gmbh.de/@team/110622516167497343", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-28:objectId=869539:objectType=Conversation", + "content": "

Huhu, wer von euch ist auch auf der #Tubix ?

Wollen wir uns dort treffen?

Wir halten dort Vorträge zum #DevOps #K8s und zum #Fediverse und freuen uns auf echte Gesichter zu den ganzen Followern 😉

", + "contentMap": { + "de": "

Huhu, wer von euch ist auch auf der #Tubix ?

Wollen wir uns dort treffen?

Wir halten dort Vorträge zum #DevOps #K8s und zum #Fediverse und freuen uns auf echte Gesichter zu den ganzen Followern 😉

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/tubix", + "name": "#tubix" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/devops", + "name": "#devops" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/k8s", + "name": "#k8s" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/fediverse", + "name": "#fediverse" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110622516167497343/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110575090467177748/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-20T06:19:41Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://defcon.social/users/mysk", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://defcon.social/users/mysk/statuses/110573066626397762" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110575086022999926/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-20T06:18:33Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://infosec.exchange/users/Em0nM4stodon", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://infosec.exchange/users/Em0nM4stodon/statuses/110493163504089348" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110572084879236042/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-19T17:35:19Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://hostsharing.coop/users/do_foss", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://hostsharing.coop/users/do_foss/statuses/110554801053590138" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-19T06:26:07Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-19T06:26:07Z", + "url": "https://social.meissa-gmbh.de/@team/110569453496913938", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-19:objectId=858501:objectType=Conversation", + "content": "

After your fine expansion work I think it would be cool to have a spec for validating the AP data.

In theory the line from eg. https://www.w3.org/TR/activitystreams-vocabulary/#dfn-name to https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-schema/index.html#ch_langstring should be straight.

a ld2spec converter seems feasible, but ...

* The "range" property in AS-json-ld is missing - are other dialects more complete?
* rdf:schema is not served as json-ld - other dialects to parse?

Do you have an idea for a good way through these difficulties?

#json-ld #clojure #ActivityPub

", + "contentMap": { + "en": "

After your fine expansion work I think it would be cool to have a spec for validating the AP data.

In theory the line from eg. https://www.w3.org/TR/activitystreams-vocabulary/#dfn-name to https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-schema/index.html#ch_langstring should be straight.

a ld2spec converter seems feasible, but ...

* The "range" property in AS-json-ld is missing - are other dialects more complete?
* rdf:schema is not served as json-ld - other dialects to parse?

Do you have an idea for a good way through these difficulties?

#json-ld #clojure #ActivityPub

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/JSON", + "name": "#JSON" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/clojure", + "name": "#clojure" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/activitypub", + "name": "#activitypub" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110569453496913938/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-19T06:15:26Z", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://toot.cat/users/plexus" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994", + "type": "Note", + "summary": null, + "inReplyTo": "https://social.meissa-gmbh.de/users/jerger/statuses/110546824854970500", + "published": "2023-06-19T06:15:26Z", + "url": "https://social.meissa-gmbh.de/@team/110569411448434994", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://toot.cat/users/plexus" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994", + "inReplyToAtomUri": "https://social.meissa-gmbh.de/users/jerger/statuses/110546824854970500", + "conversation": "tag:social.meissa-gmbh.de,2023-06-14:objectId=853127:objectType=Conversation", + "content": "

@plexus ... we did some experiments with your solution .. ld-json & activitypub works fine :-)

https://repo.prod.meissa.de/meissa/activity-pub-poc

Are you interested in small PRs for small improvements?

#json-ld #clojure #ActivityPub

", + "contentMap": { + "en": "

@plexus ... we did some experiments with your solution .. ld-json & activitypub works fine :-)

https://repo.prod.meissa.de/meissa/activity-pub-poc

Are you interested in small PRs for small improvements?

#json-ld #clojure #ActivityPub

" + }, + "updated": "2023-06-19T06:16:36Z", + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://toot.cat/users/plexus", + "name": "@plexus@toot.cat" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/JSON", + "name": "#JSON" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/clojure", + "name": "#clojure" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/activitypub", + "name": "#activitypub" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110569411448434994/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-12T20:42:24Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://mastodon.social/users/kidehen" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348", + "type": "Note", + "summary": null, + "inReplyTo": "https://mastodon.social/users/kidehen/statuses/110531917036824266", + "published": "2023-06-12T20:42:24Z", + "url": "https://social.meissa-gmbh.de/@team/110533184356511348", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://mastodon.social/users/kidehen" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348", + "inReplyToAtomUri": "https://mastodon.social/users/kidehen/statuses/110531917036824266", + "conversation": "tag:mastodon.social,2023-06-12:objectId=466638933:objectType=Conversation", + "content": "

@kidehen do you have a link for the RelAuthMe protocol?

", + "contentMap": { + "en": "

@kidehen do you have a link for the RelAuthMe protocol?

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://mastodon.social/users/kidehen", + "name": "@kidehen@mastodon.social" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110533184356511348/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-12T07:08:12Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://soc.schuerz.at/profile/jakob", + "https://social.kernel.org/users/monsieuricon", + "https://floss.social/users/forgejo" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770", + "type": "Note", + "summary": null, + "inReplyTo": "https://soc.schuerz.at/objects/4edd2508-1264-8619-917e-fe2251696494", + "published": "2023-06-12T07:08:12Z", + "url": "https://social.meissa-gmbh.de/@team/110529982801165770", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://soc.schuerz.at/profile/jakob", + "https://social.kernel.org/users/monsieuricon", + "https://floss.social/users/forgejo" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770", + "inReplyToAtomUri": "https://soc.schuerz.at/objects/4edd2508-1264-8619-917e-fe2251696494", + "conversation": "https://social.kernel.org/contexts/239705b3-7e38-42f2-a426-775664964970", + "content": "

@jakob @monsieuricon @forgejo

On the road along we've some pieces already in place:

* Mirror your repos and communicate about (with a terraform-poc): https://repo.prod.meissa.de/meissa/federate-your-repos
* federated forgejo setup on k8s in order to make first experiences more accessible (we will release this in short): https://repo.prod.meissa.de/meissa/c4k-forgejo

Our next step will be a #clojure based #ForgeFed implementation to play around.

Free our GitHub & GitLab stars to the federated world is our asap goal :-)

", + "contentMap": { + "en": "

@jakob @monsieuricon @forgejo

On the road along we've some pieces already in place:

* Mirror your repos and communicate about (with a terraform-poc): https://repo.prod.meissa.de/meissa/federate-your-repos
* federated forgejo setup on k8s in order to make first experiences more accessible (we will release this in short): https://repo.prod.meissa.de/meissa/c4k-forgejo

Our next step will be a #clojure based #ForgeFed implementation to play around.

Free our GitHub & GitLab stars to the federated world is our asap goal :-)

" + }, + "updated": "2023-06-12T07:47:44Z", + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://soc.schuerz.at/profile/jakob", + "name": "@jakob@soc.schuerz.at" + }, + { + "type": "Mention", + "href": "https://social.kernel.org/users/monsieuricon", + "name": "@monsieuricon@social.kernel.org" + }, + { + "type": "Mention", + "href": "https://floss.social/users/forgejo", + "name": "@forgejo@floss.social" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/clojure", + "name": "#clojure" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/forgefed", + "name": "#forgefed" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110529982801165770/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-09T08:17:20Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-09T08:17:20Z", + "url": "https://social.meissa-gmbh.de/@team/110513267680550054", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-09:objectId=847471:objectType=Conversation", + "content": "

c4k-forgejo is now version 3.0.0! 🎉

Create a small scale, production ready forgejo deployment in no-time.

c4k-forgejo now offers a federation configuration flag. So you can experiment
with the latest federated version of forgejo.

https://gitlab.com/domaindrivenarchitecture/c4k-forgejo/

#forgejo #git #federation #c4k
#devops #dda

", + "contentMap": { + "en": "

c4k-forgejo is now version 3.0.0! 🎉

Create a small scale, production ready forgejo deployment in no-time.

c4k-forgejo now offers a federation configuration flag. So you can experiment
with the latest federated version of forgejo.

https://gitlab.com/domaindrivenarchitecture/c4k-forgejo/

#forgejo #git #federation #c4k
#devops #dda

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/forgejo", + "name": "#forgejo" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/git", + "name": "#git" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/federation", + "name": "#federation" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/c4k", + "name": "#c4k" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/devops", + "name": "#devops" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/dda", + "name": "#dda" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110513267680550054/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-06-01T07:35:41Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-06-01T07:35:41Z", + "url": "https://social.meissa-gmbh.de/@team/110467805445903214", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-06-01:objectId=837607:objectType=Conversation", + "content": "

Lust auf Domain Driven Design?
Dann macht doch mit bei unserem online Workshop ...

Wir schauen uns Entities, Values und Services an - mit vielen Beispielen.

Bei Interesse bitte PM

#PeerLearning #Reutlingen #DevOps

", + "contentMap": { + "de": "

Lust auf Domain Driven Design?
Dann macht doch mit bei unserem online Workshop ...

Wir schauen uns Entities, Values und Services an - mit vielen Beispielen.

Bei Interesse bitte PM

#PeerLearning #Reutlingen #DevOps

" + }, + "updated": "2023-06-01T07:38:08Z", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/peerlearning", + "name": "#peerlearning" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/reutlingen", + "name": "#reutlingen" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/devops", + "name": "#devops" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110467805445903214/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110435717164189654/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-26T15:35:13Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://mastodon.green/users/mondstern", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://mastodon.green/users/mondstern/statuses/110434942443317196" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-25T11:42:19Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-05-25T11:42:19Z", + "url": "https://social.meissa-gmbh.de/@team/110429139094055508", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-05-25:objectId=830209:objectType=Conversation", + "content": "

Morgen um 10:00 - 11:30 schauen wir uns ActivityPub an. Wir finden es wichtig, das ein wenig besser zu verstehen.

Mag einer von euch (online) mitmachen ?

Dann gerne per PM melden ...

#PeerLearning #Federation

", + "contentMap": { + "en": "

Morgen um 10:00 - 11:30 schauen wir uns ActivityPub an. Wir finden es wichtig, das ein wenig besser zu verstehen.

Mag einer von euch (online) mitmachen ?

Dann gerne per PM melden ...

#PeerLearning #Federation

" + }, + "updated": "2023-05-25T14:44:35Z", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/federation", + "name": "#federation" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/peerlearning", + "name": "#peerlearning" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110429139094055508/replies", + "items": [] + } + } + } + } + ] +} diff --git a/outbox-last.json b/outbox-last.json new file mode 100644 index 0000000..be8a9f4 --- /dev/null +++ b/outbox-last.json @@ -0,0 +1,1084 @@ +{ + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "ostatus": "http://ostatus.org#", + "atomUri": "ostatus:atomUri", + "inReplyToAtomUri": "ostatus:inReplyToAtomUri", + "conversation": "ostatus:conversation", + "sensitive": "as:sensitive", + "toot": "http://joinmastodon.org/ns#", + "votersCount": "toot:votersCount", + "Hashtag": "as:Hashtag" + } + ], + "id": "https://social.meissa-gmbh.de/users/team/outbox?min_id=0&page=true", + "type": "OrderedCollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/outbox?max_id=107937234506182462&page=true", + "prev": "https://social.meissa-gmbh.de/users/team/outbox?min_id=110390392806754054&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/outbox", + "orderedItems": [ + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110390392806754054/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-18T15:28:38Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.tchncs.de/users/Billie", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://social.tchncs.de/users/Billie/statuses/110385072623069794" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-13T09:46:59Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.tchncs.de/users/kuketzblog" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223", + "type": "Note", + "summary": null, + "inReplyTo": "https://social.tchncs.de/users/kuketzblog/statuses/110356554203948630", + "published": "2023-05-13T09:46:59Z", + "url": "https://social.meissa-gmbh.de/@team/110360737852126223", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.tchncs.de/users/kuketzblog" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223", + "inReplyToAtomUri": "https://social.tchncs.de/users/kuketzblog/statuses/110356554203948630", + "conversation": "tag:social.tchncs.de,2023-05-12:objectId=94288296:objectType=Conversation", + "content": "

@kuketzblog Warum gibt es nicht längst ein Urteil gegen die ständigen Datenschutzverstoßer?

Ich meine Netguard hilft vielleicht - aber warum muss jeder einzelne Mühe investieren und die Bahn verstößt fröhlich weiter gegen unsere Rechte?

", + "contentMap": { + "de": "

@kuketzblog Warum gibt es nicht längst ein Urteil gegen die ständigen Datenschutzverstoßer?

Ich meine Netguard hilft vielleicht - aber warum muss jeder einzelne Mühe investieren und die Bahn verstößt fröhlich weiter gegen unsere Rechte?

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://social.tchncs.de/users/kuketzblog", + "name": "@kuketzblog@social.tchncs.de" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110360737852126223/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110350011112918733/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-11T12:19:02Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://fosstodon.org/users/openandroidinstaller", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://fosstodon.org/users/openandroidinstaller/statuses/110348863769311173" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-10T06:32:43Z", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://chaos.social/users/johnny", + "https://emacsen.net/users/emacsen" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160", + "type": "Note", + "summary": null, + "inReplyTo": "https://chaos.social/users/johnny/statuses/110342968455959754", + "published": "2023-05-10T06:32:43Z", + "url": "https://social.meissa-gmbh.de/@team/110342987025958160", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://chaos.social/users/johnny", + "https://emacsen.net/users/emacsen" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160", + "inReplyToAtomUri": "https://chaos.social/users/johnny/statuses/110342968455959754", + "conversation": "tag:emacsen.net,2023-05-09:objectId=1078639:objectType=Conversation", + "content": "

@johnny @emacsen

Ich schätze mal am 19.5., wir treffen uns per jitsi und jeder bekommt vorab Lese-Hausaufgaben.

Genaueres kann ich sagen, wenn ich mich mit dem Rest-Team besprochen habe 🙂

meissa team // Michael

", + "contentMap": { + "de": "

@johnny @emacsen

Ich schätze mal am 19.5., wir treffen uns per jitsi und jeder bekommt vorab Lese-Hausaufgaben.

Genaueres kann ich sagen, wenn ich mich mit dem Rest-Team besprochen habe 🙂

meissa team // Michael

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://chaos.social/users/johnny", + "name": "@johnny@chaos.social" + }, + { + "type": "Mention", + "href": "https://emacsen.net/users/emacsen", + "name": "@emacsen@emacsen.net" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110342987025958160/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-10T06:06:27Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://emacsen.net/users/emacsen" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308", + "type": "Note", + "summary": null, + "inReplyTo": "https://emacsen.net/users/emacsen/statuses/110340291836876177", + "published": "2023-05-10T06:06:27Z", + "url": "https://social.meissa-gmbh.de/@team/110342883739874308", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://emacsen.net/users/emacsen" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308", + "inReplyToAtomUri": "https://emacsen.net/users/emacsen/statuses/110340291836876177", + "conversation": "tag:emacsen.net,2023-05-09:objectId=1078639:objectType=Conversation", + "content": "

@emacsen We plan a ActivityPub Workshop (explore the data model, maybe implement some relevant parts in clojure) for our own education in the next 2 weeks.

As our team is located in Germany it will be German ...

But maybe you are also & willing to join?

#ActivityPub #Learn #Clojure

", + "contentMap": { + "en": "

@emacsen We plan a ActivityPub Workshop (explore the data model, maybe implement some relevant parts in clojure) for our own education in the next 2 weeks.

As our team is located in Germany it will be German ...

But maybe you are also & willing to join?

#ActivityPub #Learn #Clojure

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://emacsen.net/users/emacsen", + "name": "@emacsen@emacsen.net" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/activitypub", + "name": "#activitypub" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/learn", + "name": "#learn" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/clojure", + "name": "#clojure" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110342883739874308/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-02T16:49:06Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://digitalcourage.social/users/digitalcourage" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042", + "type": "Note", + "summary": null, + "inReplyTo": "https://digitalcourage.social/users/digitalcourage/statuses/110299469036001006", + "published": "2023-05-02T16:49:06Z", + "url": "https://social.meissa-gmbh.de/@team/110300112260946042", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://digitalcourage.social/users/digitalcourage" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042", + "inReplyToAtomUri": "https://digitalcourage.social/users/digitalcourage/statuses/110299469036001006", + "conversation": "tag:social.meissa-gmbh.de,2023-05-02:objectId=801554:objectType=Conversation", + "content": "

@digitalcourage

Vielen Dank zurück 🙂

Das Zensur-Argument hatten wir schon befürchtet. Einen DNS-Server mit Blacklist ist vrmtl. eine gute Lösung für das Dilemma.

Falls euch DevOps Know-How hilft, durft Ihr uns im Zuge einer Umsetzung gerne ansprechen.

Ansonsten finden wir eine "völlig technische" chip-serien-nummer für hinreichend bedenklich ...

Gibt es hier denn jemanden, der bei einer fundierten Untersuchung mitmachen wöllte?

#Qalcom #Datenschutz

", + "contentMap": { + "de": "

@digitalcourage

Vielen Dank zurück 🙂

Das Zensur-Argument hatten wir schon befürchtet. Einen DNS-Server mit Blacklist ist vrmtl. eine gute Lösung für das Dilemma.

Falls euch DevOps Know-How hilft, durft Ihr uns im Zuge einer Umsetzung gerne ansprechen.

Ansonsten finden wir eine "völlig technische" chip-serien-nummer für hinreichend bedenklich ...

Gibt es hier denn jemanden, der bei einer fundierten Untersuchung mitmachen wöllte?

#Qalcom #Datenschutz

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://digitalcourage.social/users/digitalcourage", + "name": "@digitalcourage@digitalcourage.social" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/qalcom", + "name": "#qalcom" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/datenschutz", + "name": "#datenschutz" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110300112260946042/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-02T06:50:48Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.nitrokey.com/users/nitrokey" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-05-02T06:50:48Z", + "url": "https://social.meissa-gmbh.de/@team/110297759660928456", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.nitrokey.com/users/nitrokey" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-05-02:objectId=801566:objectType=Conversation", + "content": "

@nitrokey Hi, do found also how Qualcom firmeware resolves the name "izatcloud.net" ?

Maybe you captured also the DNS traffic?

", + "contentMap": { + "en": "

@nitrokey Hi, do found also how Qualcom firmeware resolves the name "izatcloud.net" ?

Maybe you captured also the DNS traffic?

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://social.nitrokey.com/users/nitrokey", + "name": "@nitrokey@nitrokey.com" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110297759660928456/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-05-02T06:34:54Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://digitalcourage.social/users/digitalcourage" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-05-02T06:34:54Z", + "url": "https://social.meissa-gmbh.de/@team/110297697130373425", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://digitalcourage.social/users/digitalcourage" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-05-02:objectId=801554:objectType=Conversation", + "content": "

@digitalcourage

Huhu, in unserer Anleitung verwenden wir eueren DNS Server (vielen Dank für euer Engagement :)

https://repo.prod.meissa.de/meissa/lineageos-fairphone/src/branch/main/Guides/3.%20DegoogleLineageOS.md#1-dns

Allerdings können wir auf der Ebene gegen Qualcoms Spionage nix ausrichten!

Meint Ihr, es währe eine gute Idee wenn Ihr "izatcloud.net" auf euerem DNS ins Leere laufen lassen würdet?

Dann müsste man ja nur noch die Qalcom-Firmware dazu bringen, eueren DNS zu verwenden ...

Oder habt Ihr vlt. noch eine bessere Idee dazu?

#Fairphone #Datenschutz #Qualcom

", + "contentMap": { + "de": "

@digitalcourage

Huhu, in unserer Anleitung verwenden wir eueren DNS Server (vielen Dank für euer Engagement :)

https://repo.prod.meissa.de/meissa/lineageos-fairphone/src/branch/main/Guides/3.%20DegoogleLineageOS.md#1-dns

Allerdings können wir auf der Ebene gegen Qualcoms Spionage nix ausrichten!

Meint Ihr, es währe eine gute Idee wenn Ihr "izatcloud.net" auf euerem DNS ins Leere laufen lassen würdet?

Dann müsste man ja nur noch die Qalcom-Firmware dazu bringen, eueren DNS zu verwenden ...

Oder habt Ihr vlt. noch eine bessere Idee dazu?

#Fairphone #Datenschutz #Qualcom

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://digitalcourage.social/users/digitalcourage", + "name": "@digitalcourage@digitalcourage.social" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/fairphone", + "name": "#fairphone" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/datenschutz", + "name": "#datenschutz" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/qualcom", + "name": "#qualcom" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110297697130373425/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-27T10:52:27Z", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://social.tchncs.de/users/bekopharm" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508", + "type": "Note", + "summary": null, + "inReplyTo": "https://social.tchncs.de/users/bekopharm/statuses/110270354718786600", + "published": "2023-04-27T10:52:27Z", + "url": "https://social.meissa-gmbh.de/@team/110270398278617508", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "cc": [ + "https://www.w3.org/ns/activitystreams#Public", + "https://social.tchncs.de/users/bekopharm" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508", + "inReplyToAtomUri": "https://social.tchncs.de/users/bekopharm/statuses/110270354718786600", + "conversation": "tag:social.meissa-gmbh.de,2023-04-27:objectId=795786:objectType=Conversation", + "content": "

@bekopharm The k8s setup reduces the cost of maintainance about 5 times compared to plain server run costs (at least that's true for us - as we are DevOps :).

And yes, k8s is not a plain simple thing, and yes again, operating a system will never get as simple as the salesman suggests ...

But if there is interest in federation experience we can easily setup a small test instance ... for friends, to play around.

", + "contentMap": { + "en": "

@bekopharm The k8s setup reduces the cost of maintainance about 5 times compared to plain server run costs (at least that's true for us - as we are DevOps :).

And yes, k8s is not a plain simple thing, and yes again, operating a system will never get as simple as the salesman suggests ...

But if there is interest in federation experience we can easily setup a small test instance ... for friends, to play around.

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://social.tchncs.de/users/bekopharm", + "name": "@bekopharm@social.tchncs.de" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110270398278617508/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-27T10:31:55Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.tchncs.de/users/bekopharm" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032", + "type": "Note", + "summary": null, + "inReplyTo": "https://social.tchncs.de/users/bekopharm/statuses/110270275394061250", + "published": "2023-04-27T10:31:55Z", + "url": "https://social.meissa-gmbh.de/@team/110270317556980032", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://social.tchncs.de/users/bekopharm" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032", + "inReplyToAtomUri": "https://social.tchncs.de/users/bekopharm/statuses/110270275394061250", + "conversation": "tag:social.meissa-gmbh.de,2023-04-27:objectId=795786:objectType=Conversation", + "content": "

@bekopharm Totally agree. We will keep track on the forgejo / gitea front.

Our next step will be to enable our selfhosting module (https://repo.prod.meissa.de/meissa/c4k-forgejo) to easily tryout out the federation stuff.

So maybe the whole thing will get handy enough to bring back the joy of operating an own instance :-)

", + "contentMap": { + "en": "

@bekopharm Totally agree. We will keep track on the forgejo / gitea front.

Our next step will be to enable our selfhosting module (https://repo.prod.meissa.de/meissa/c4k-forgejo) to easily tryout out the federation stuff.

So maybe the whole thing will get handy enough to bring back the joy of operating an own instance :-)

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://social.tchncs.de/users/bekopharm", + "name": "@bekopharm@social.tchncs.de" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110270317556980032/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-27T08:50:50Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://fosstodon.org/users/slink" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490", + "type": "Note", + "summary": null, + "inReplyTo": "https://fosstodon.org/users/slink/statuses/110269898717544354", + "published": "2023-04-27T08:50:50Z", + "url": "https://social.meissa-gmbh.de/@team/110269920077927490", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://fosstodon.org/users/slink" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490", + "inReplyToAtomUri": "https://fosstodon.org/users/slink/statuses/110269898717544354", + "conversation": "tag:social.meissa-gmbh.de,2023-04-27:objectId=795786:objectType=Conversation", + "content": "

@slink That's just an artifact of the way how we created the diagrams (mermaid).

If you find a way to remove the term "Enterprice" we welcom your PR.

Just the box is intended, Enterprise is not 😉

", + "contentMap": { + "en": "

@slink That's just an artifact of the way how we created the diagrams (mermaid).

If you find a way to remove the term "Enterprice" we welcom your PR.

Just the box is intended, Enterprise is not 😉

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://fosstodon.org/users/slink", + "name": "@slink@fosstodon.org" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110269920077927490/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269808131889287/activity", + "type": "Announce", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-27T08:22:22Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://eupolicy.social/users/ilumium", + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": "https://eupolicy.social/users/ilumium/statuses/110260788930401211" + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-27T07:17:38Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-04-27T07:17:38Z", + "url": "https://social.meissa-gmbh.de/@team/110269553608504980", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-04-27:objectId=795786:objectType=Conversation", + "content": "

Dear OpenSource Maintainers!

With every second we are working on OpenSource we also donate our invest to unpleasant platforms.

With this situation we are quite not happy. So we think "federating repositories" will be a nice workaround for this situation.

We've described here our ideas: https://repo.prod.meissa.de/meissa/federate-your-repos

What do you think about?

#Federation #OpenSource #Maintainer #terraform #devops

", + "contentMap": { + "en": "

Dear OpenSource Maintainers!

With every second we are working on OpenSource we also donate our invest to unpleasant platforms.

With this situation we are quite not happy. So we think "federating repositories" will be a nice workaround for this situation.

We've described here our ideas: https://repo.prod.meissa.de/meissa/federate-your-repos

What do you think about?

#Federation #OpenSource #Maintainer #terraform #devops

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/federation", + "name": "#federation" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/opensource", + "name": "#opensource" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/Maintainer", + "name": "#Maintainer" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/Terraform", + "name": "#Terraform" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/devops", + "name": "#devops" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110269553608504980/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-21T16:12:27Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-04-21T16:12:27Z", + "url": "https://social.meissa-gmbh.de/@team/110237682702868485", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-04-21:objectId=788789:objectType=Conversation", + "content": "

We just released a new version of our c4k-forgejo (formerly known as c4k-gitea):

https://gitlab.com/domaindrivenarchitecture/c4k-forgejo/-/releases/v2.0.1

c4k-forgejo provides a k8s manifest to install a forgejo instance on k8s in one shot. Our c4k app modules allow manifest creation by using cli or by using our single page webapp.

A next step on our roadmap is to provide an option to create forgejo instances prepared for federation. Stay tuned 🙂

#devops #clojure #forgejo #gitea

", + "contentMap": { + "en": "

We just released a new version of our c4k-forgejo (formerly known as c4k-gitea):

https://gitlab.com/domaindrivenarchitecture/c4k-forgejo/-/releases/v2.0.1

c4k-forgejo provides a k8s manifest to install a forgejo instance on k8s in one shot. Our c4k app modules allow manifest creation by using cli or by using our single page webapp.

A next step on our roadmap is to provide an option to create forgejo instances prepared for federation. Stay tuned 🙂

#devops #clojure #forgejo #gitea

" + }, + "updated": "2023-04-21T16:14:21Z", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/devops", + "name": "#devops" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/clojure", + "name": "#clojure" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/forgejo", + "name": "#forgejo" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/gitea", + "name": "#gitea" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110237682702868485/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-18T06:30:03Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-04-18T06:30:03Z", + "url": "https://social.meissa-gmbh.de/@team/110218405736616831", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-04-18:objectId=783498:objectType=Conversation", + "content": "

"G7-Umweltminister vereinbaren ... und weniger Plastikmüll."

Hört sich gut an ... allerdings finden wir, dass damit bis zum Jahr 2040 zu warten keine gute Idee ist!

Falls Ihr da zustimmt, dann helft doch bei unserer Plastiksammelaktion mit:

https://meissa.de/pages/about_meissa/gemeinwohl/sustainability_microplastic/

#Microplastik

", + "contentMap": { + "en": "

"G7-Umweltminister vereinbaren ... und weniger Plastikmüll."

Hört sich gut an ... allerdings finden wir, dass damit bis zum Jahr 2040 zu warten keine gute Idee ist!

Falls Ihr da zustimmt, dann helft doch bei unserer Plastiksammelaktion mit:

https://meissa.de/pages/about_meissa/gemeinwohl/sustainability_microplastic/

#Microplastik

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/microplastik", + "name": "#microplastik" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110218405736616831/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-18T06:26:42Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903", + "type": "Note", + "summary": null, + "inReplyTo": "https://chaos.social/users/Kurt/statuses/110207168892356878", + "published": "2023-04-18T06:26:42Z", + "url": "https://social.meissa-gmbh.de/@team/110218392520335903", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903", + "inReplyToAtomUri": "https://chaos.social/users/Kurt/statuses/110207168892356878", + "conversation": "tag:social.meissa-gmbh.de,2023-04-14:objectId=779230:objectType=Conversation", + "content": "

@Kurt Falls das für eine installation ohne jegliches microG gilt, dann mach gerne einen PR ...

", + "contentMap": { + "de": "

@Kurt Falls das für eine installation ohne jegliches microG gilt, dann mach gerne einen PR ...

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://chaos.social/users/Kurt", + "name": "@Kurt@chaos.social" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110218392520335903/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-15T12:55:36Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339", + "type": "Note", + "summary": null, + "inReplyTo": "https://chaos.social/users/Kurt/statuses/110201248960068603", + "published": "2023-04-15T12:55:36Z", + "url": "https://social.meissa-gmbh.de/@team/110202934818077339", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339", + "inReplyToAtomUri": "https://chaos.social/users/Kurt/statuses/110201248960068603", + "conversation": "tag:social.meissa-gmbh.de,2023-04-14:objectId=779230:objectType=Conversation", + "content": "

@Kurt ... bzgl. Messaenger: Das sind Fehler die uns Benutzer gemeldet haben.

Wir selbst nutzen kein telegram / whatsapp o.ä. ...

Hätte ja keinen Sinn sich um Trackingfreiheit zu bemühen und danach die Tracking-Weltmeister zu installieren, oder?

", + "contentMap": { + "de": "

@Kurt ... bzgl. Messaenger: Das sind Fehler die uns Benutzer gemeldet haben.

Wir selbst nutzen kein telegram / whatsapp o.ä. ...

Hätte ja keinen Sinn sich um Trackingfreiheit zu bemühen und danach die Tracking-Weltmeister zu installieren, oder?

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://chaos.social/users/Kurt", + "name": "@Kurt@chaos.social" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110202934818077339/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-15T12:51:28Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166", + "type": "Note", + "summary": null, + "inReplyTo": "https://chaos.social/users/Kurt/statuses/110201248960068603", + "published": "2023-04-15T12:51:28Z", + "url": "https://social.meissa-gmbh.de/@team/110202918592904166", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers", + "https://chaos.social/users/Kurt" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166", + "inReplyToAtomUri": "https://chaos.social/users/Kurt/statuses/110201248960068603", + "conversation": "tag:social.meissa-gmbh.de,2023-04-14:objectId=779230:objectType=Conversation", + "content": "

@Kurt Schau Dir doch die Unterschiede in den Anleitungen an ...

Die offizielle Anleitung lässt vieles ungesagt.

", + "contentMap": { + "de": "

@Kurt Schau Dir doch die Unterschiede in den Anleitungen an ...

Die offizielle Anleitung lässt vieles ungesagt.

" + }, + "attachment": [], + "tag": [ + { + "type": "Mention", + "href": "https://chaos.social/users/Kurt", + "name": "@Kurt@chaos.social" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110202918592904166/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2023-04-14T14:37:43Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2023-04-14T14:37:43Z", + "url": "https://social.meissa-gmbh.de/@team/110197674019612994", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2023-04-14:objectId=779230:objectType=Conversation", + "content": "

LineageOS 20 fürs neue Fairphone 4 !

Wir haben uns das neue LineageOS 20 und das neue Fairphone 4 angeschaut und unsere Installationsanleitung aktualisiert:

https://repo.prod.meissa.de/meissa/lineageos-fairphone

Die Appliaktionen funktionieren und wir freuen uns über die Verbesserungen von LineageOS 20 🙂

Ein Wehrmutstropfen bleibt allerdings, wir haben keinen Weg gefunden, das OEM-Loack wieder einzuschalten ...

Vielleicht hat einer von euch dazu eine Lösung?

#Datenschutz #Fairphone #LineageOS

", + "contentMap": { + "de": "

LineageOS 20 fürs neue Fairphone 4 !

Wir haben uns das neue LineageOS 20 und das neue Fairphone 4 angeschaut und unsere Installationsanleitung aktualisiert:

https://repo.prod.meissa.de/meissa/lineageos-fairphone

Die Appliaktionen funktionieren und wir freuen uns über die Verbesserungen von LineageOS 20 🙂

Ein Wehrmutstropfen bleibt allerdings, wir haben keinen Weg gefunden, das OEM-Loack wieder einzuschalten ...

Vielleicht hat einer von euch dazu eine Lösung?

#Datenschutz #Fairphone #LineageOS

" + }, + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/datenschutz", + "name": "#datenschutz" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/fairphone", + "name": "#fairphone" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/lineageos", + "name": "#lineageos" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/110197674019612994/replies", + "items": [] + } + } + } + }, + { + "id": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/activity", + "type": "Create", + "actor": "https://social.meissa-gmbh.de/users/team", + "published": "2022-03-11T09:38:13Z", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "object": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462", + "type": "Note", + "summary": null, + "inReplyTo": null, + "published": "2022-03-11T09:38:13Z", + "url": "https://social.meissa-gmbh.de/@team/107937234506182462", + "attributedTo": "https://social.meissa-gmbh.de/users/team", + "to": [ + "https://www.w3.org/ns/activitystreams#Public" + ], + "cc": [ + "https://social.meissa-gmbh.de/users/team/followers" + ], + "sensitive": false, + "atomUri": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462", + "inReplyToAtomUri": null, + "conversation": "tag:social.meissa-gmbh.de,2022-03-11:objectId=358829:objectType=Conversation", + "content": "

Kennt Ihr schon unsere Plastik-Sammelaktion https://meissa-gmbh.de/pages/about_meissa/gemeinwohl/sustainability_microplastic/ ?

Ab sofort unterstützen wir auch Bilder über mastodon - d.h. antwortet auf diesen Post mit einem Bild und wir zeigen das direkt auf unserer Website 🙂

#sustainability #microplastic

", + "attachment": [], + "tag": [ + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/sustainability", + "name": "#sustainability" + }, + { + "type": "Hashtag", + "href": "https://social.meissa-gmbh.de/tags/microplastic", + "name": "#microplastic" + } + ], + "replies": { + "id": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies", + "type": "Collection", + "first": { + "type": "CollectionPage", + "next": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies?only_other_accounts=true&page=true", + "partOf": "https://social.meissa-gmbh.de/users/team/statuses/107937234506182462/replies", + "items": [] + } + } + } + } + ] +} diff --git a/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/activitystreams2.clj b/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/activitystreams2.clj index e11e1ca..b93acb8 100644 --- a/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/activitystreams2.clj +++ b/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/activitystreams2.clj @@ -6,10 +6,13 @@ (def objectAndLinkTypes #{; Object Types "Article" "Audio" + "Collection" "Document" "Event" "Image" "Note" + "Object" + "OrderedCollection" "Page" "Place" "Profile" @@ -19,7 +22,7 @@ ; Link Types "Mention"}) -(defn match-type +(defn match-type [type] #(= (:type %) type)) @@ -28,8 +31,10 @@ :map (s/and (s/keys :req-un [::id ::type] :opt-un [::attributedTo ::und-mehr]) - #(not (match-type "Link"))))) + (match-type "Object")))) (s/def ::id core/uri-string?) + +; TODO: type can have multiple values!! Affects also the fct match-type and all specs that uses it! (s/def ::type #(or (core/uri-string? %) (contains? objectAndLinkTypes %))) (s/def ::Link (s/and (s/keys @@ -39,13 +44,30 @@ (s/def ::Relationship (s/keys :req-un [::object ::und-mehr])) +; #### Collection #### +(s/def ::Collection (s/and ::Object + (s/keys + :opt-un [::totalItems ::current ::first ::last ; FUNCTIONAL properties! + ::items]) ;"items" is not a FUNCTIONAL property! + (match-type "Collection"))) +; Side note: A property marked as FUNCTIONAL does not mean that this property is required for the respective Object. +; Example: The property "replies" is FUNCTIONAL for "Object" but is an optional property for "Object". + +(s/def ::OrderedCollection (s/and ::Collection + (match-type "OrderedCollection"))) + ; #### NOTE #### ; Specialities of mastodon statuses: https://docs.joinmastodon.org/spec/activitypub/#status (s/def ::Note (s/and ::Object - (match-type "Note"))) + (match-type "Note") + (s/keys + :opt-un [::likes]))) + +(s/def ::likes (s/or :collection ::Collection + :ordered-collection ::OrderedCollection)) ; #### ACTIVITY #### -(s/def ::Activity (s/merge +(s/def ::Activity (s/and ::Object (s/keys :req-un [::actor ::object] diff --git a/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/core.clj b/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/core.clj index 180e2e8..c55b42d 100644 --- a/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/core.clj +++ b/src/main/clj/org/domaindrivenarchitecture/activity_pub_poc/core.clj @@ -14,6 +14,7 @@ [lambdaisland.uri :as uri])) (def team-url "https://social.meissa-gmbh.de/users/team") +(def outbox-url "https://social.meissa-gmbh.de/users/team/outbox") (def like-url "https://www.w3.org/ns/activitystreams#Like") (def name-url "https://www.w3.org/ns/activitystreams#name") diff --git a/src/test/clj/org/domaindrivenarchitecture/activity_pub_poc/core_test.clj b/src/test/clj/org/domaindrivenarchitecture/activity_pub_poc/core_test.clj index 0b9c6ac..fe26849 100644 --- a/src/test/clj/org/domaindrivenarchitecture/activity_pub_poc/core_test.clj +++ b/src/test/clj/org/domaindrivenarchitecture/activity_pub_poc/core_test.clj @@ -17,4 +17,3 @@ "actor" "https://social.bla/alyssa/", "object" "posts/234s23-2g34234-2hhj536"} (sut/generate-like-map test-like-data)))) - diff --git a/src/test/clj/org/domaindrivenarchitecture/activitystreams2_test.clj b/src/test/clj/org/domaindrivenarchitecture/activitystreams2_test.clj new file mode 100644 index 0000000..8565ceb --- /dev/null +++ b/src/test/clj/org/domaindrivenarchitecture/activitystreams2_test.clj @@ -0,0 +1,13 @@ +(ns org.domaindrivenarchitecture.activity-pub-poc.activitystreams2-test + (:require + [clojure.test :refer [deftest is are testing run-tests]] + [clojure.spec.test.alpha :as st] + [clojure.spec.alpha :as s] + [org.domaindrivenarchitecture.activity-pub-poc.activitystreams2 :as sut])) + +(deftest Note-test + (is (s/valid? + ::sut/Note + {:id "https://social.bla/alyssa/status/RANDOMHASH" + :type "Note" + :content "text"}))) \ No newline at end of file