diff --git a/architecture design proposal.md b/architecture design proposal.md index a0cdd77..afca260 100755 --- a/architecture design proposal.md +++ b/architecture design proposal.md @@ -16,22 +16,22 @@ The following terms are used: ## Content related - **post type:** post types and custom post types within WordPress -- **Object Type:** ActivityPub [object type](https://www.w3.org/TR/activitystreams-vocabulary/#object-types) -- **Transformers:** a piece of code that converts items of particular WordPress post types to an ActivityPub object. For example a transformer that can transform: +- **object type:** ActivityPub [object type](https://www.w3.org/TR/activitystreams-vocabulary/#object-types) +- **transformers:** a piece of code that converts items of particular WordPress post types to an ActivityPub object. For example a transformer that can transform: - every post type to a `Note` - `post` or `page` to `Note`, `Article`, `Image`, `Audio` or `Article` depending on the [post-format](https://wordpress.org/documentation/article/post-formats/) - `tribe_events` (Event post the of [The Event Calendar](https://wordpress.org/plugins/the-events-calendar/)) to `Event` - `podcast` (Podcast post of [Podlove Podcast Publisher](https://github.com/podlove/podlove-publisher)) to `PodcastEpisode` (as proposed and [implemented by Castopod](https://code.castopod.org/adaures/castopod/-/blob/main/app/Libraries/PodcastEpisode.php)) ## Actor related -- **Actors:** ActivityPub [Actor Objects](https://www.w3.org/TR/activitypub/#actor-objects) -- **Actor Types:** ActivityPub [Actor Types](https://www.w3.org/TR/activitystreams-vocabulary/#actor-types) +- **actors:** ActivityPub [Actor Objects](https://www.w3.org/TR/activitypub/#actor-objects) +- **actor types:** ActivityPub [Actor Types](https://www.w3.org/TR/activitystreams-vocabulary/#actor-types) - **WordPress actor types:** Things on WordPress that can be mapped to actors: - WordPress users →`Person` - Whole Blog →`Application` or `Group` - post types → e.g., `Organization` - custom definitions → custom actor types -- **Mapping:** Which WordPress actor types are mapped to any ActivityPub actors at all and to which ones. +- **mapping:** Which WordPress actor types are mapped to any ActivityPub actors at all and to which ones. ## General - **publish/dispatch:** Sending a `Create`, `Update` or `Announce` [Activity](https://www.w3.org/TR/activitypub/#create-activity-outbox). @@ -59,7 +59,7 @@ The WordPress ActivityPub plugin The aim of the event federations project is to enable seamless federation of events created within an event plugin as an ActivityPub object with Type `Event` and accompanying meta-data, as typically seen in common ActivityPub implementations like Mobilizon. This will guarantee optimal compatibility between various services. ## Tangential Objectives: -Nevertheless, we see a lot of other cases that can benefit, if the primary goals of the event federation project are achieved this using a modularized approach as proposed below. The following list indicates examples what might be those other benefits: +Nevertheless, we see a lot of other cases that can benefit, if the primary goals of the Event Federation project are achieved this using a modularized approach as proposed below. The following list indicates examples what might be those other benefits: - Other types of content get federated in a more feature rich way: - `PodcastEpisode` [as proposed by CastoPod](https://code.castopod.org/adaures/castopod/-/blob/main/app/Libraries/PodcastEpisode.php) - `Question` @@ -152,7 +152,7 @@ Use WordPress's hook system or a public API function to let other plugins regist - Highly unlikely: don't use an interface with implementations, (miss)use class extensions. -# Mapping: Actors and Dispatching +# Mapping: Actors and Dispatching (early draft) More comprehensive actor management would benefit our project aims and potentially meet the needs of others in the future. Nevertheless, **its importance is considerably lower than that of Transformer management**. In the future, the following factors may become more important when larger websites should be using the ActivityPub plugin.