Walter,
On Wed, May 23, 2012 at 2:27 AM, Laurent-Walter Goix
<
laurentwa...@gmail.com> wrote:
> Hello all,
>
> we had such discussion within the OMA with other companies when trying
> to address this issue through different proposals [1]. At the end we
> chose to define a new object type "abuse" instead of a new verb. at
> the end the group in OMA found the object type to be more flexible in
> allowing a variety of actions (and reactions, including it in
> inReplyTo for example) related to this concept, so it was introduced
> in the spec. of course at this stage this was defined using OMA-
> specific extension and should this be generalized by AS that'd be even
> better to ensure a wider adoption and improve compatibility.
>
Thank you for the detailed response. For the more general case of
indicating that a user has reported an object as being inappropriate,
I definitely agree with this approach. For the sake of keeping things
are generalized as possible, I am thinking about using a generic
"issue" objectType that can actually apply to more than just abuse
reporting. In addition to the normal properties for all objects, an
"issue" would have an additional property "types" whose value is an
array of absolute IRI's that specify the nature of the specific issue.
For example:
"object": {
"objectType": "issue",
"inReplyTo": [{"objectType":"article", "id":"http://.../123", ...},
"types": [
"
http://example.org/codes/inappropriateMaterial",
"
http://example.org/codes/copyrightViolation"
]
}
The structure meets the basic need and is generic enough that it can
be used and extended within completely different scenarios. Reading
through the material you referenced, it would appear to be that this
structure would meet the general requirements. Do you agree?
> we're actually using the "target" property to identify the activity
> (typically) to which this "abuse" report relates, and typically the
> "post" verb for it: this to limit the number of additional verbs &
> object types to be introduced in general for this feature kiss. in
I hadn't considered using the target in this way but it certainly
makes sense. I believe using the inReplyTo, however, would make the
issue report more self-contained and portable across multiple
scenarios. I imagine, for instance, that there will be scenarios in
which "issue" could be used with other verbs where "target" could mean
something else entirely... for instance:
{
"actor": {"displayName":"Manager", ...},
"verb": "assign",
"object": {"objectType":"issue", ... },
"target": {"displayName":"Employee", ...}
}
> general i have seen a number of threads over the last days (nights) on
> this topic and am a bit confused about them. re-"about" i have the
> feeling that the given example make it ambiguous, and actually either
> mapped to "inReplyTo", or in other cases to the equivalent of "tags",
> so i couldn't see a real need for this in the "base" schema. my
> personal feeling is that the current version of the schema is already
> very detailed in some areas (many verbs or detailed object types) and
> may not include all possible cases, but rather a limited subset. then,
> some area-specific (or use case-specific) extensions could be defined
> using prefixes/namespaces easily (see e-learning etc)
I've been running through a bunch of scenarios over the past few days
and in every case, the "inReplyTo" and "tags" properties can be used
to cover all of the cases where the proposed "about" property would be
used so, at least for now, I've decided to pull that back.
>
> back to the example below i can understand the "moderator" use case as
> being differnt from the first-party action (abuse reporting) of users,
> and maybe this could deserve more thinking, although it may not be
> part of the "base" schema.
>
After running through a variety of scenarios, I do believe they are
distinct and do deserve to be consider part of the core. Moderated
forums are widespread and admin/moderated directed actions such as
removing a particular thread of discussion or taking down a post that
violates copyright, etc really is a different kind of activity than an
ordinary user reporting potential abuse.
> i am also quite confused by the "context" property but need to check
> the tincan documentation first i guess.
>
From my perspective, the (perhaps misnamed) "context" property is all
about making it possible to explain *why* a particular activity
occurred. For example, if we consider "flag-as-inappropriate"...
{
"actor": {
"objectType": "person",
"displayName": "Joe"
},
"verb": "flag-as-inappropriate",
"object": {
"objectType": "article",
"displayName": "An article about stuff"
},
"context": {
"objectType": "issue",
"displayName": "Terms of Use Violation",
"url": "http://.../terms-of-use",
"types": [
"
http://example.org/codes/inappropriateMaterial",
"
http://example.org/codes/copyrightViolation"
]
}
}
What this Activity is saying is "Joe flagged the Article as
inappropriate *because of inappropriate content and a copyright
violation*"
- James