Book description
ActivityPub is the new standard for connecting social networks together on the social web. This open, decentralized social networking protocol defines an API for sharing activities to a social network and a procedure that servers use to distribute those activities to a subscriber's feed. With this book, you'll learn how to assemble ActivityPub-enabled clients for making new kinds of social apps on top of existing networks and build ActivityPub servers that create new human or automated accounts on the social web.
With those skills under your belt, you can explore other applications of this publish-subscribe technology: content management systems, internet of things, and enterprise automation. With hands-on examples and in-depth knowledge from Evan Prodromou, one of the authors of the protocol, this is the ActivityPub handbook that every social software hacker needs.
- Learn what the social web is and what ActivityPub does
- Represent social network data in the Activity Streams 2.0 format
- Write a simple ActivityPub client and server
- Extend ActivityPub's functionality with new types
- Find in-depth details about the more obscure ActivityPub data structures
Evan Prodromou is a coauthor of the ActivityPub protocol and the Activity Streams 2.0 data format.
Publisher resources
Table of contents
- Preface
- 1. Welcome to the Fediverse
-
2. Activity Streams 2.0
- The First Steps
- Publishers and Consumers
- Type
- Identity
- Vocabulary
- Properties
- Activity Types
- Actor Types
- Object Types
- Collections
- Addressing Properties
- Internationalization
- Timestamps
- Type Hierarchy
- External Vocabularies
- Internet Media Types
- Representation Granularity
- Names
- Using Activity Streams 2.0
- Storing AS2 Documents
- Is It JSON or Linked Data?
- Conclusion
-
3. The ActivityPub API
- Using a Standard API
- Following Rules for ActivityPub Data
- Reading Data: The Actor
- Reading Data: Collections
- Writing Data: Activities as Commands
- Making Things
- Modifying the Social Graph
- Managing Collections
- Reacting
- Ensuring User Safety
- Uploading Files
- Understanding the Authorization Model
- Optimizing the ActivityPub API
- Understanding What’s Missing
- Conclusion
-
4. The ActivityPub Protocol
- Exploring an Extended Example
- Understanding the Shape of Federated Social Networking
- An API Becomes a Protocol
- Using HTTP Signatures
- Implementing WebFinger
- Getting Objects
- Fetching Local Objects
- Delivering Activities
- Receiving Activities
- Caching Remote Data
- Handling Activity Side Effects
- Filtering Activities
- Optimizing Federated Servers
- Following a Server Checklist
- Conclusion
- 5. Extending ActivityPub
- 6. Far Horizons
-
A. Activity Vocabulary Types
- Groups
- Accept
- Activity
- Add
- Announce
- Application
- Arrive
- Article
- Audio
- Block
- Collection
- CollectionPage
- Create
- Delete
- Dislike
- Document
- Event
- Flag
- Follow
- Group
- Ignore
- Image
- IntransitiveActivity
- Invite
- Join
- Leave
- Like
- Link
- Listen
- Mention
- Move
- Note
- Object
- Offer
- OrderedCollection
- OrderedCollectionPage
- Organization
- Page
- Person
- Place
- Profile
- Question
- Read
- Reject
- Relationship
- Remove
- Service
- TentativeAccept
- TentativeReject
- Tombstone
- Travel
- Undo
- Update
- Video
- View
-
B. Activity Streams 2.0 Properties
- Groups
- accuracy
- actor
- alsoKnownAs
- altitude
- anyOf
- attachment
- attributedTo
- audience
- bcc
- bto
- cc
- closed
- content
- contentMap
- context
- current
- deleted
- describes
- duration
- endpoints
- endTime
- first
- following
- followers
- formerType
- generator
- height
- href
- hreflang
- icon
- id
- image
- inbox
- inReplyTo
- instrument
- items
- last
- latitude
- liked
- likes
- location
- longitude
- mediaType
- name
- nameMap
- next
- object
- oneOf
- origin
- outbox
- partOf
- preferredUsername
- prev
- preview
- published
- radius
- rel
- relationship
- replies
- result
- shares
- source
- startIndex
- startTime
- streams
- subject
- summary
- summaryMap
- tag
- target
- to
- totalItems
- type
- units
- updated
- url
- width
- About the Author
Product information
- Title: ActivityPub
- Author(s):
- Release date: September 2024
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098169466
You might also like
book
FastAPI
FastAPI is a young yet solid framework that takes advantage of newer Python features in a …
book
Tidy First?
Messy code is a nuisance. "Tidying" code, to make it more readable, requires breaking it up …
book
Building Micro-Frontends
What's the answer to today's increasingly complex web applications? Micro-frontends. Inspired by the microservices model, this …
book
Designing Event-Driven Systems
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need …