This is just a post to describe a proposal for a POSHformat that profiles the ActivityStreams ATOM extension.
It only really makes sense to use these fields in the context of hAtom, and the fields of hAtom are used in the same way as the equivalent ATOM fields are used by the ATOM extension. In other words, this is an “hAtom extension”.
Object Identifiers
Object Identifiers (for types and verbs) can be specified using descriptive text (such as “link” or “weblog entry”) but a more unambiguous IRI MAY be specified using the value class pattern. Descriptive text SHOULD conform to agreed-upon, or at least published, type names, similarly to how ActivityStreams Object Identifiers should be defined in published specs.
class=object-type
The content of the object-type field MUST be an Object Identifier.
This field specifies the type of the Object described by this entry. An entry MAY have more than one object-type or no object-type.
Activity feed processors SHOULD use the most specific Object Type that they understand within each entry. The processor MAY use other information to infer the Object Type if it cannot understand any of the Object Types given.
class=verb
The content of the verb field MUST be an Object Identifier.
This field defines the verb for this activity. An entry MAY have more than one verb but MUST have at least one.
Activity feed processors SHOULD use the most specific Verb that they understand within each entry. If none of the Activity’s Verbs are understood by the processor, the processor MAY use other information to infer the Verb, or the processor MAY use the content of the hAtom title, summary and/or content to obtain a sentence describing the Activity.
class=object
This class MUST appear along with one or more others that describe another POSHformat or microformat OR appear on a tag that inherently describes an external resource, such as <a>, <object>, or <img>. The object data is extracted according to this other format.
An additional object-type SHOULD be inferred from the other class(es), type attribute, and/or tag name present on this element.
class=target
The target field contains information about the target of the activity, for verbs that support a target. The target is the object that the action was done to. This field MUST appear along with one or more others that described another POSHformat or microformat OR appear on a tag that inherently describes an external resource, such as <a>, <object>, or <img>, similarly to class=object.
The precise meaning of the target as relates to the activity depends on the verb in use, but its meaning is somewhat similar to the English preposition “to”. The target extension element MUST NOT be used for indirect objects that are not targets.
actor
The actor is taken from the class=author hCard present in the hAtom container. An additional class “actor” MAY be added to the hCard in keeping with the ATOM extension.
The ‘post’ Verb
This verb has IRI http://activitystrea.ms/schema/1.0/post and descriptive text “posted”.
If the language of the activity is not English, the IRI or descriptive text should be provided using the value class pattern.
This Verb describes the act of posting or publishing an Object on the web. The implication is that before this Activity occurred the Object was not posted, and after the Activity has occurred it is posted or published.
If an activity using this verb has a target element, the target object is the collection in which the item was posted.
An example
<div class="hentry">
<span class="author vcard">
<span class="fn">Geraldine</span>
</span>
<span class="verb">posted</span>
a <span class="object-type">photo</span>
on PhotoPanic
@ <span class="published">2008-11-02T15:29:00Z</span>
<img class="object entry-title" alt="My Cat" src="/geraldine/photo1.jpg" />
</div>