1a89154 by Anon Ray at 2014-05-01 |
1 |
== High-level components and data flow of the swtr application == |
|
2 |
|
|
3 |
> The document is written in an informal way. |
|
4 |
|
|
5 |
Table of contents |
|
6 |
1. Introduction |
|
7 |
2. Design |
|
8 |
3. Configuration |
|
9 |
4. Deployment |
|
10 |
|
|
11 |
1. Introduction |
|
12 |
|
|
13 |
swtr is the cannonical swt maker + swt swagger application. |
|
14 |
That means, the swtr application can be used to - |
|
15 |
a) interact with resources on an existing web page(like |
|
16 |
text, images, video etc), annotate them, and make swts out of the annotations |
|
17 |
and post the swts to a swt store. |
|
18 |
b) fetch existing swts about an existing web page and display/render them based |
|
19 |
on a combination of - the type of swt (the context), and configuration |
|
20 |
parameters set by the user. |
|
21 |
|
|
22 |
2. Design |
|
23 |
|
|
24 |
swtr is designed entirely to be a client-side javascript app. |
|
25 |
the components of the swtr app can be divided like- |
|
26 |
i) text annotation module - an interface to the user to select and annotate |
|
27 |
text. |
|
28 |
1. creates an interface for the user to select any text on the webpage. |
|
29 |
2. when user has selected text - gives two options - edit/renarrate or comment/annotate. |
|
30 |
3.1 if user selects comment, the module provides a text box to enter user's |
|
31 |
comment, keeping the selected text by the user in context. |
|
32 |
3.2 if the user selects edit, the module provides an editor keeping the |
|
33 |
selected text by the user in context. |
|
34 |
4. In both the above case, the editor window has options to save the changes |
|
35 |
or cancel them. |
|
36 |
5.1 If the user cancels, all the changes made by the user is discarded and |
|
37 |
previous version of the page is kept. |
|
38 |
5.2 If the user saves her changes, the new edit or comment is updated in the |
|
39 |
DOM of the browser to visually reflect the changes, and also the changes |
|
40 |
are cached in a local data store. |
|
41 |
|
|
42 |
ii) image annotation module - an interface to the user to select arbitrary |
|
43 |
parts of an image in rectange shape and add textual comments to them. Later |
|
44 |
this can be extended to add support for audio, video comments. |
|
45 |
1. provides an interface to click on any image on the webpage and bring it to |
|
46 |
center focus to make it annotatable. We use the annotorious project to do |
|
47 |
the image annotation. |
|
48 |
2. Once an annotation to the image has been made, the module can provide the |
|
49 |
user with options to cancel or save the changes. |
|
50 |
3.1 If the user cancels, all the changes made by the user is discarded (i.e |
|
51 |
annotations removed). |
|
52 |
3.2 If the user saves her changes, this module retrieves the annotations via |
|
53 |
the annotorious' API and stores them in the local data store. |
|
54 |
|
|
55 |
iii) map annotation module |
|
56 |
iv) controller |
|
57 |
v) swt maker |
|
58 |
vi) swt swagger |