This report describes an API for creating and maintaining a list of an actor's personal places.
This is required.
Geosocial software lets people sharing information about their relationship with places. Activity Streams 2.0 defines a Place object type for representing places.
Places can be defined globally as part of a geographical vocabulary. For example, places.pub is a server that provides places from the OpenStreetMap service in ActivityPub format. These places are a shared resource for all ActivityPub users.
Some geosocial software lets users define personal places, like "Home", "Work", "School", "Favourite Tree" or "Mom's House". These places may be identical to places defined in a public vocabulary, with different and more personal names, images, and descriptions, or they may be distinct from any publicly-defined place.
This document defines how personal places can be created and managed ActivityPub.
This specification addresses the following user stories.
As an ActivityPub user, I'd like to create a place that is important in my own life, so that I can check in, share, comment on, or otherwise engage with the place.
As an ActivityPub user, I want to read the information about a friend's personal place, so that I can understand where she is checking into and what it means to her.
As an ActivityPub user, I want to edit a place, so I can update its location or metadata.
As an ActivityPub user, I want to delete a place I created, so it's no longer visible to anyone.
As an ActivityPub user, I want to get a list of the places that I've created, so I can find one that I'm interested in.
To create a new place, the actor uses the ActivityPub social API. The client posts a Create activity to their own outbox, with a Place object as the object property.
Like other ActivityPub objects, Place objects can be read using the id property.
To edit a place, the actor uses the ActivityPub social API. The client posts a Update activity to their own outbox, with an existing Place object as the object property.
To delete a place, the actor uses the ActivityPub social API. The client posts a Delete activity to their own outbox, with an existing Place object as the object property.
The actor's personal places can be listed in an ActivityPub OrderedCollection. The collection is ordered in reverse chronological order, with the newest places first.
The actor object can have a places property to indicate the user's places.
The collection can have a placesOf property to the actor whose places these are.
There are two new terms defined by this specification. The context document is at https://swicg.github.io/geosocial/geosocial.
| URI: |
https://swicg.github.io/geosocial/geosocial#placesgeosocial:placesplaces
|
| Notes: |
The property value is an OrderedCollection of Place objects.
|
| Domain: | Object (an ActivityPub Actor) |
| Range: | OrderedCollection |
| Functional: | true |
| URI: |
https://swicg.github.io/geosocial/geosocial#placesOfgeosocial:placesOfplacesOf
|
| Notes: |
The property value is an ActivityPub actor for which the collection is the places collection.
|
| Domain: | OrderedCollection |
| Range: | Object (an ActivityPub Actor) |
| Functional: | true |
This is required for specifications that contain normative material.