Skip to content

ActivityPub Integration ​

How Cosmoslide uses ActivityPub to federate slide content.

What is ActivityPub? ​

ActivityPub is a W3C standard for decentralized social networking. Cosmoslide uses it to:

  • Share slides across instances
  • [TODO] Enable social interactions (likes, boosts, comments)
  • Federate with other Fediverse platforms

Slides as ActivityPub Objects ​

Slides are represented as ActivityPub objects with a PDF attachment:

json
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Article",
  "id": "https://instance.example/slides/123",
  "name": "My Presentation Title",
  "content": "A description of the slide deck",
  "published": "2024-01-15T10:00:00Z",
  "attributedTo": "https://instance.example/users/alice",
  "attachment": [
    {
      "type": "Document",
      "mediaType": "application/pdf",
      "url": "https://instance.example/media/slides-123.pdf"
    }
  ]
}

Publishing Flow ​

  1. User uploads PDF with metadata
  2. System creates ActivityPub object with PDF attachment
  3. Object wrapped in Create activity
  4. Activity delivered to followers' inboxes

Social Interactions ​

Standard ActivityPub activities work with slides:

  • [TODO] Like - Appreciation
  • [TODO] Announce - Boost/reshare
  • Note - Comments and replies

Compatibility ​

Cosmoslide works with other Fediverse platforms:

  • Mastodon
  • Pleroma
  • Misskey
  • Other ActivityPub-compliant software

Users on these platforms can view, like, boost, and comment on slides.