2.9 KiB
2.9 KiB
Social
Data Modal
classDiagram
User .. Piece
class Piece {
+User owner
+int visibility
}
User .. Activity
class Activity {
+User owner
+int visibility
+Enum action_type
+Piece action_object
+Item target
+Bool is_viewable
}
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.
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 wished / started / done, 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