This document includes errata for the Activity Streams and Activity Vocabulary documents.
-
Section 4.2 lists the possible properties of a
Linkobject. This list omitsnameMap,preview, andattributedTo. The full list should be:id|name|nameMap|hreflang|mediaType|rel|height|width|preview|attributedTo. -
In Section 2.3 "Dates and Times", the definition of
as2-partial-timeallows specifying atime-secfracportion even iftime-secondis not defined. One candidate correction for this error is to replace the ABNF definition ofas2-partial-timewith a structure that requirestime-secondfortime-secfracto be used:as2-partial-time = time-hour ":" time-minute [":" time-second [time-secfrac]] -
Example 29 uses
idas an alias for the@idproperty even though the Activity Streams 2.0 context has not been used, so that alias is not set up. The correct code would be:{ "@context": { "ex": "http://example.org/", "term": { "@type": "@id", "@id": "ex:term" } }, "term": "ex:Foo" } -
Section 5.1 incorrectly refers to the
idalias for the@idproperty, and thetypealias of the@typeproperty. Paragraph 4 should read, in part, ''In JSON-LD, Compact URI expansion of values applies to properties explicitly defined as "@type": "@id" in the @context definition.'' -
Example 2 has an incorrect value for the
@vocabproperty. The correct example should be:{ "@context": { "@vocab": "https://www.w3.org/ns/activitystreams#", "ext": "https://canine-extension.example/terms/", "@language": "en" }, "summary": "A note", "type": "Note", "content": "My dog has fleas.", "ext:nose": 0, "ext:smell": "terrible" } -
Section 8.1, "The application/activity+json Media Type", does not mention considerations for fragment identifiers. In the absence of any defined considerations, one default is to fall back on the same treatment as with JSON-LD. One way to make this explicit is to add this sentence to the end of section 8.1: "Fragment identifiers used with application/activity+json are treated as in RDF syntaxes, as per RDF 1.1 Concepts and Abstract Syntax [RDF11-CONCEPTS]."
-
Example 150 has
latitudeandlongitudeproperties with string values. The range of these properties isxsd:float. A correct example would be:{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Place", "name": "San Francisco, CA", "longitude": 122.4167, "latitude": 37.7833 } -
Example 80 has
Imageobjects withwidthandheightproperties, which are only allowed onLinkobjects. One alternative is to useLinkobjects with the correctheightandwidthas theurlproperty for eachImageobject.{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "A simple note", "icon": [ { "type": "Image", "summary": "Note (16x16)", "url": { "type": "Link", "href": "http://example.org/note1.png", "width": 16, "height": 16 } }, { "type": "Image", "summary": "Note (32x32)", "url": { "type": "Link", "href": "http://example.org/note2.png", "width": 32, "height": 32 } } ] } -
The range of the
unitsproperty is given as an enumerated set of values. Due to a formatting error, some of these values are shown with an incorrect leading space character. The correct range is:"cm" | "feet" | "inches" | "km" | "m" | "miles" | xsd:anyURI -
Example 58 includes a
summaryproperty on aMentionobject, which is not allowed. A corrected example:{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Mention", "href": "http://example.org/joe", "name": "Joe" } -
Unlike
latitudeandlongitude, the domain of thealtitudeterm is theObjecttype. Thealtitudeterm should be included in the list of properties of anObject. Becausealtitudeis primarily documented as a property of aPlace, publishers should not includealtitudeon objects that are not of typePlace, and consumers should accept objects with this property that aren't of typePlace. -
Example 60, for the
Tombstonetype, is missing the@contextproperty. The correct example should be:{ "@context": "https://www.w3.org/ns/activitystreams", "type": "OrderedCollection", "totalItems": 3, "name": "Vacation photos 2016", "orderedItems": [ { "type": "Image", "id": "http://image.example/1" }, { "type": "Tombstone", "formerType": "Image", "id": "http://image.example/2", "deleted": "2016-03-17T00:00:00Z" }, { "type": "Image", "id": "http://image.example/3" } ] } -
The domain of the
attributedToproperty is bothLinkandObject.attributedToshould be included in the list of properties of aLink. -
Example 79 has an
Imageobject withwidthandheightproperties, which only indicateLinkin their Domain. One alternative is to use aLinkobject with the correctheightandwidthas theurlproperty for eachImageobject.{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A simple note", "type": "Note", "content": "This is all there is.", "icon": { "type": "Image", "name": "Note icon", "url": { "href": "http://example.org/note.png", "type": "Link", "width": 16, "height": 16 } } } -
The Notes for the
toproperty do not correctly identify the functionality (one or more) of the values of the property. The notes should read: "Identifies one or more entities that are part of the public primary audience of this Object." -
The Notes for the
btoproperty do not correctly identify the functionality (one or more) of the values of the property. The notes should read: "Identifies one or more entities that are part of the private primary audience of this Object." -
The Notes for the
ccproperty do not correctly identify the functionality (one or more) of the values of the property. The notes should read: "Identifies one or more entities that are part of the public secondary audience of this Object." -
The Notes for the
bccproperty do not correctly define the range of the property, limiting it to only theObjecttype. The notes should read: "Identifies one or more entities that are part of the private secondary audience of this Object." -
The description of the
audienceproperty should read "Identifies one or more entities that represent the total population of entities for which the object can be considered to be relevant." -
Example 157 is not valid JSON because the
contentproperty extends over multiple lines. The correct example is:{ "@context": "https://www.w3.org/ns/activitystreams", "name": "A thank-you note", "type": "Note", "content": "Thank you <a href='http://sally.example.org'>@sally</a> for all your hard work! <a href='http://example.org/tags/givingthanks'>#givingthanks</a>", "to": { "name": "Sally", "type": "Person", "id": "http://sally.example.org" }, "tag": { "id": "http://example.org/tags/givingthanks", "name": "#givingthanks" } } -
Example 102 is missing a
typeproperty on theLinkvalue of theurlproperty. For clarity, the example should read:{ "@context": "https://www.w3.org/ns/activitystreams", "type": "Video", "name": "Cool New Movie", "duration": "PT2H30M", "preview": { "type": "Video", "name": "Trailer", "duration": "PT1M", "url": { "type": "Link", "href": "http://example.org/trailer.mkv", "mediaType": "video/mkv" } } } -
In Section 4, the range of the
formerTypeproperty is given asObject. The property should have the same range as thetypeproperty for which it forms a replacement for deletedTombstoneobjects. -
Example 75 erroneously includes a
summaryproperty on aLinkobject. The corrected example:{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "current": { "type": "Link", "name": "Most Recent Items", "href": "http://example.org/collection" }, "items": [ "http://example.org/posts/1", "http://example.org/posts/2", "http://example.org/posts/3" ] } -
Example 77 erroneously includes a
summaryproperty on aLinkobject. The corrected example:{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "Sally's blog posts", "type": "Collection", "totalItems": 3, "first": { "type": "Link", "name": "First Page", "href": "http://example.org/collection?page=0" } } -
Example 87 erroneously includes a
summaryproperty on aLinkobject. The corrected example:{ "@context": "https://www.w3.org/ns/activitystreams", "summary": "A collection", "type": "Collection", "totalItems": 5, "last": { "type": "Link", "name": "Last Page", "href": "http://example.org/collection?page=1" } } -
The definition of the
tagproperty has two grammatical errors: it refers to "an objects" instead of "an object" and says thattag"implies associated by" instead of "implies association by". One possible correction is to change the definition to the following: 'One or more "tags" that have been associated with an object. A tag can be any kind of Object. The key difference betweenattachmentandtagis that the former implies association by inclusion, while the latter implies association by reference.' -
The second paragraph in the non-normative section "Mentions, Tags and Other Common Social Microsyntaxes" should read, 'While such microsyntaxes can be used within the values of the
content,name, andsummaryproperties on an Activity Streams Object, implementations are not expected to parse the values of those properties in order to determine the appropriate routing of notifications, categorization, or linking between objects. Instead, publishers are expected to make appropriate use of the vocabulary terms provided specifically for these purposes to communicate information to consumers.'