3.2 KiB
3.2 KiB
Social
Data Modal
classDiagram
User .. Piece
class Piece {
+User owner
+int visibility
}
User .. Activity
class Activity {
+User owner
+int visibility
+Piece action_object
}
Activity .. Piece
Activity .. Item
class Item {
+str title
+str brief
-enum type
}
Activities
Activity data may be used for:
- time line view of user and her friends
- chronological view of user's action about an item
- ActivityStreams
OrderedCollection
for ActivityPub
However, 2 is currently implemented separately via ShelfLogManager
in journal
app, because users may want to change these records manually.
Local Timeline
Local Timeline Activities | action object class |
---|---|
Add an Item to Shelf | ShelfMember |
Create a Collection | Collection |
Like a Collection | Like |
Create a Review | Review |
Activity Streams
These are list of activities should be either shown in the site or delivered as ActivityStreams or both:
Add
/Remove
an Item to / from a List:- add / remove Item to / from a user Collection
- mark Item as wishlist / progress / complete, which are essentially add to / remove from user's predefined Collection
Create
/Update
/Delete
a user CollectionCreate
/Update
/Delete
a Content with anObject Link
to ItemCreate
/Update
/Delete
a Comment or ReviewCreate
/Update
/Delete
a Quote or Note
Create
/Update
/Delete
a Reply to another ContentAnnounce
/Like
a Content / Collection, orUndo
that- Social Graph interaction
Follow
/Unfo
Follow
Accept
/Reject
Block
/Undo
Block
Supporting these activities above will be essential to a reasonable ActivityPub server implementation.
There are additional activities not made into ActivityPub MVP but technically possible to support in future:
Create
/Update
/Delete
a Content in different flavors, without link to ItemNote
orArticle
without link to Item- DM (
Note
) Question
Article
Page
Image
Audio
Video
Event
Add
Content
to /Remove
Content
from a user Collection- Pin / Unpin
Move
/Delete
account
ActivityPub
TBA
References:
- https://www.w3.org/TR/activitypub/
- https://www.w3.org/TR/activitystreams-core/
- https://www.w3.org/TR/activitystreams-vocabulary/
- https://www.w3.org/TR/json-ld/
- https://codeberg.org/fediverse/fep/src/branch/main/feps/fep-e232.md
- https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479
- https://docs.joinmastodon.org/spec/activitypub/
- https://docs.joinbookwyrm.com/activitypub.html
- https://github.com/Podcastindex-org/podcast-namespace/blob/main/proposal-docs/social/social.md#socialinteract-element
- https://dev.funkwhale.audio/funkwhale/funkwhale/-/tree/develop/docs/developer_documentation/federation
- https://github.com/inventaire/inventaire/issues/187
- https://github.com/inventaire/inventaire/issues/533