Update Developer Path: Implementing Commons Using ActivityPub, Groups, and Hashtags

master
Admin 2025-05-01 08:37:34 +00:00
parent 8a4d624a37
commit 17e5259291
1 changed files with 115 additions and 1 deletions

@ -77,3 +77,117 @@ Test tag-aliasing with injected metadata.
Write draft UX spec for hashtag/flow abstraction. Write draft UX spec for hashtag/flow abstraction.
Implement basic trust-group logic using existing ActivityPub verbs. Implement basic trust-group logic using existing ActivityPub verbs.
----------------------
DRAFT - OMN Commons System — Developer Roadmap
Phase 1: Foundations
Goals: Understand current Fediverse norms, pick a viable path, lay groundwork.
* Review existing ActivityPub specs
Collections, Groups (FEP-1b12), Update/Delete flows, Object types.
* Decide on a Grouping Approach
Evaluate Lemmy/Peertube models
Choose between implementing FEP-1b12 or a more custom logic using hashtags
* Phase 2: do a working version using Emissary
* Phase 3: Core Object Model
Goals: Build basic ActivityPub-compliant object handling.
Implement UPDATE as primary user interaction
Implement object history/versioning (wiki-style)
Phase 4: Federation
Goals: Federate content using ActivityPub, handle common verbs.
Outbox/Inbox endpoint logic
Signature validation and auth
Object ID resolution and deduplication
Propagation of edits (trust-based or rules-based)
Support federation of UPDATE alongside Create
Phase 5: Group + Commons Logic
Goals: Implement logic for groups, commons access, and authorization.
Group object model (as virtual objects or ActivityPub actors)
Implement group membership flows
Store group-object relationships in DB?
Boolean logic for hashtag-group relations
UX: Display objects by hashtag flow + group context
Define “Commons” group as a writable shared space
Phase 6: Trust + Authorization
Goals: Mediate access to objects based on trust logic.
Define and store "trust flow" data (user-group relationships)
Build auth logic for edit vs. comment rights
Implement permissions at the object and group level
UX feedback for permission errors
Phase 7: Scaling + UX Flows
Goals: Refine UX and scale up the logic.
Metadata injection via instance logic (e.g. grouping hashtags)
Display hashtags abstractly (UX templating of messy tags)
Optimize object retrieval (object IDs by group → fetch only needed)
Caching and pagination for large flows
Tag aliasing/grouping UI tools
Phase 8: Application Launch
Goals: Polish and release a working prototype instance.
“MakingHistory” and “Indymedia” themed templates
MVP instance of federated “commons” publishing
Simple mobile-first UI with edit/comment modes
Editable content histories
Federation with at least 1-2 existing Fediverse projects
**Developer Questions (Ongoing)**
How does our chosen backend implement DB relationships?
Can we implement "groups" using only hashtags and aliasing logic?
How do we scale boolean logic across thousands of hashtags?
Whats the best way to model UPDATE as primary interaction in ActivityPub?
Can we cache and compress federated flows without breaking expected behaviors?
How to handle clashing edits on shared (commons) objects?
What are the best existing tools for ActivityPub testing/debugging?