Update Developer Path: Implementing Commons Using ActivityPub, Groups, and Hashtags
parent
8a4d624a37
commit
17e5259291
|
@ -77,3 +77,117 @@ Test tag-aliasing with injected metadata.
|
|||
Write draft UX spec for hashtag/flow abstraction.
|
||||
|
||||
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?
|
||||
|
||||
What’s 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?
|
Loading…
Reference in New Issue