Re: annotation status property proposal

Mark Smith wrote:

> I have been thinking more about how a status property should be 
> defined and have drafted a proposal (note that I am not an RDF schema 
> expert, and also note that the schema URIs may need to be changed).
>
> The attached RDF schema defines a series of classes to support these 6 
> status values:
>
>   NeedsAction
>   InProcess
>   Reopened
>   Completed
>   Approved
>   Closed
>
> We'd also have to add a property definition like the following to the 
> Annotation schema (http://www.w3.org/2000/10/annotation-ns#):
>
> <rdf:Property
>   rdf:about="http://www.w3.org/2000/10/annotation-ns#status">
>   <rdfs:label xml:lang="en">status</rdfs:label>
>   <rdfs:comment>An annotation's status.</rdfs:comment>
>   <rdfs:isDefinedBy
>     rdf:resource="http://www.w3.org/2000/10/annotation-ns#"/>
>   <rdfs:range
>     rdf:resource="http://www.w3.org/2000/10/annotationStatus#Status"/>
> </rdf:Property>
>
> Here is an example of an annotation that uses the new property (notice 
> the a:status property near the end):
>
> <r:RDF
>   xmlns:a="http://www.w3.org/2000/10/annotation-ns#"
>   xmlns:r="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>   xmlns:dc="http://purl.org/dc/elements/1.1/"
>   xmlns:h="http://www.w3.org/1999/xx/http#">
> <r:Description>
> <r:type
>   r:resource="http://www.w3.org/2000/10/annotation-ns#Annotation"/>
> <r:type
>   r:resource="http://www.w3.org/2000/10/annotationType#Comment"/>
> <a:annotates r:resource="http://example.com/"/>
> <a:context>http://example.com/#xpointer(/html[1])</a:context>
> <dc:language>en</dc:language>
> <a:body>
> <h:Message>
> <h:ContentType>text/html</h:ContentType>
> <h:Body r:parseType="Literal"><![CDATA[<html><head>
> <title></title></head><body>The phone number on this page is wrong.
> </body></html>]]></h:Body>
> </h:Message>
> </a:body>
> <a:status
>   r:resource="http://www.w3.org/2000/10/annotationStatus#NeedsAction"/>
> </r:Description>
> </r:RDF>
>
Thanks Mark for doing this!

I have couple of questions and thoughts because I want to understand 
better what we are doing from user point of view and see what other 
options we have before committing to one (or maybe we can have several 
options):

1) what the user wants to do,
2) how does is work with other users, and
3) how to visualize it in the user interface.

UI extension for schema extension?

Point 3 is a question that has been on my list a long time and we did 
some early experiments with IsaViz presentation rules. After using xul, 
and scripting I think it would be interesting to see if those could 
solve the problem. This question is important to answer so that when the 
schemas are expanded the ui can be expanded at the same time as well. 
But that is a project a bit further away so let's concentrate first on 
extending the schemas because user wants to do something a bit different.

Embedd status as a property to the annotation itself:

What kind of user interface you see for the users who change the 
status?  Sometimes changes to annotations may be restricted, for 
instance, because it does not make sense to have a reply threads if the 
annotation users comment on changes all the time.

Use annotation types kind of mechanism:

With Annotea annotations we have annotation types. We wanted users to be 
able to define what types they want to use so there is actually a way to 
define and use your own types: 
http://www.w3.org/2001/Annotea/User/Types.html. Unfortunately, we did 
not have resources to experiment more with these. But basically right 
now I could define annotations with the status types that people are 
listing here.

If we think of this from the user point of view a status annotation is 
clearly not enough. The user can annotate resources including the 
annotations and replies with a status annotation but they also need to 
see the current status. There are also many collaborators who can do 
status changes, we maybe need to define somewhere whose status info we 
want to subscribe and quite possibly it is different from the subscribed 
annotations.

Misc. thoughts:

For ui we need to define an order for the statuses. So it is possible to 
help the user to select the next/some previous state. We may want to 
show the thread of the status changes. We need to maybe have a summary 
view where all these annotations are gathered together so it looks a bit 
like bugzilla view.

How do we handle the versions of the resource we are changing? If the 
versions are not available maybe some annotations start to have status 
obsolete and wither away. But really it would be nice to have some cvs 
versions with annotations and some of them are copied to new versions 
and some are not because they have a certain status.

Also status topics may be used for grouping annotations and other 
resources. How to visualize the status and record the changes in that 
case? Are some topics visualized differently than others?

I think your design is a good start and I hope these thoughs help to go 
forward.

Marja

Received on Friday, 18 March 2005 23:06:31 UTC