Disjointness of Activity Streams types
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 313
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Description
Activity Streams 2.0 defines 8 core types and a bigger number of extended types. All of them are sub-types of either Object or Link, which are described as disjoint, but specification doesn't say anything about disjointedness of derived types.
There are two situations where disjointness may matter:
- Sub-typing. Is it possible to define a new type that extends two or more core types (e.g.
ActivityandCollection)? - Multi-typing. Is it possible to create an object with two or more extended types (e.g.
["Accept", "Person"])?
Most (if not all) of these combinations don't make sense, and as an implementer I would prefer to not deal with them, and fortunately I don't have to, because existing implementations don't use combinations. However, while there is no guidance on working with combinations of standard types, they are not explicitly forbidden. One of the core types, OrderedCollectionPage, is even defined as a sub-type of both OrderedCollection and CollectionPage, implying that multiple inheritance is possible.
Proposal
- Discourage the use of type combinations in a Primer page (both multiple inheritance and multi-typing). Note that this only applies to standard types; for extension types, multi-typing is required by the standard.
- Make this a requirement in AS-next. Re-define
OrderedCollectionPageas a sub-type ofCollectionPage.
Further work (optional)
- Introduce
Actorcore type, which is disjoint withActivityandCollection(discussion). - Introduce
SpecializedObjectcore type, which extendsObjectand is disjoint withActivity,CollectionandActor.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Activity Streams 2.0 core and vocabulary sections linked in the issue, then review the proposed Primer guidance and AS-next change. Done would mean reaching agreement on how standard-type combinations should be handled and documenting the decision, including the OrderedCollectionPage relationship.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100