wiki:DASISH/Scenario

Version 2 (modified by olhsha, 11 years ago) (diff)

--

User logs-in to annotation service, so the UID gets known by the server.

Add to API the "who-am-I" service that allows the user to obtain his/her UID and list of notebooks(read and write), incl. their id's and rendering names.

User: visits the page <...>. The client: requests the lists of annotations to which the user has "read" access. GET api/annotations?source=<...>&access=read The call returns list of annotation id-s with the corresponding headlines, notebooks, owners, and target sources URI's (Olha, to do: example XML +schema of the respond). Resolving fragments (mapping) happens after the response. There are two internal lists for the client: the resolvable and unresolvable target.

User: selects an annotation with "at least one resolvable" (debatable) target for reading. The client GET api/annotations/<aid> (Olha, to do: XML of the respond)

User: select an annotation with unresolvable targets for reading. The client: GET api/annotations/<aid> (Olha, to do: example XML+schema of the respond, for all 4 calls), GET api/annotations/<aid>/sources GET api/sources/<sid>/cached GET api/sources/<sid>/cached/<cid>

User: creates a text note on a selected text. The client: POST api/annotation (Olha, to do: input example XML+schema of the body, like in the example) Response: the annotation <aid>, with temp id-s replaced by the permanent ones, the full URI for the target sources, action:create cached representation. Followed by POST/api/cources/<sid>/cached

What we would like to add to the use case: editing an annotation body, readers and writers (adding/deleting), deleting the whole annotation.

Notebooks: retrieving the list of annotations from the notebook, adding an annotation to the notebook.