doc/architecture.en.md
author veltr
Mon, 05 Nov 2012 19:03:10 +0100
changeset 977 934a7b13a2ca
parent 951 13fed6c21d51
child 1022 793b3727d433
permissions -rw-r--r--
Merge with 4b9ec475026a3a67082c4d66f8bbd4248599964d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     1
# Architecture of Metadataplayer #
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     2
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     3
WARNING !
947
ec4e9ddf9fba Docs now refer to default branch
veltr
parents: 929
diff changeset
     4
This documentation refers to the latest version of Metadataplayer, available in the **default** branch in our repository
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     5
http://www.iri.centrepompidou.fr/dev/hg/metadataplayer
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     6
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     7
## External Libraries ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     8
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
     9
External libraries are bundled in the *src/libs* directory
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    10
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    11
### LAB.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    12
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    13
- **File**: LAB.min.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    14
- **License**: MIT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    15
- **Role**: Loads other librairies and widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    16
- **Used in**: Metadataplayer core.
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    17
- As LAB.js is used to load other libraries, it’s the only library called before loading the Metadataplayer core.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    18
- **Library homepage**: http://labjs.com/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    19
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    20
### jQuery ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    21
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    22
- **File**: jquery.min.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    23
- **License**: Double, MIT and GPL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    24
- **Role**: Manages HTML document (DOM) access and Ajax calls.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    25
- **Used in**: Metadataplayer core and all widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    26
- **Library homepage**: http://jquery.org/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    27
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    28
### jQuery UI ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    29
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    30
- **Fichiers**: jquery-ui.min.js and jquery-ui.css
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    31
- **License**: Double, MIT and GPL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    32
- **Role**: Manages User Interface elements, such as *Sliders*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    33
- **Used in**: Widgets : Controller (for volume control) et Slider (Time *progress slider*)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    34
- **Library homepage**: http://jqueryui.com/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    35
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    36
### Underscore ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    37
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    38
- **File**: underscore-min.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    39
- **License**: MIT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    40
- **Role**: Adds functional-programming facilities to handle objects, arrays and functions.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    41
- **Used in**: Metadataplayer core and most widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    42
- **Library homepage**: http://underscorejs.org/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    43
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    44
### Popcorn ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    45
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    46
- **File**: popcorn-complete.min.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    47
- **License**: MIT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    48
- **Role**: Handles HTML5 Video Playback.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    49
- **Used in**: HTML5 and Youtube video players. Also handles Metadataplayer events when one of these players is used.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    50
- **Library homepage**: http://popcornjs.org/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    51
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    52
### Mustache ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    53
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    54
- **File**: mustache.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    55
- **License**: MIT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    56
- **Role**: A templating library to generate HTML code.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    57
- **Used in**: widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    58
- **Library homepage**: http://mustache.github.com/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    59
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    60
### Raphael ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    61
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    62
- **File**: raphael-min.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    63
- **License**: MIT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    64
- **Role**: A vectorial drawing interface (using SVG or VML depending on browsers)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    65
- **Used in**: Arrow and Sparkline widgets
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    66
- **Library homepage**: http://raphaeljs.com/
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    67
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    68
### ZeroClipboard ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    69
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    70
- **Files**: ZeroClipboard.js and ZeroClipboard.swf
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    71
- **License**: MIT.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    72
- **Role**: Manages access to the Clipboard (using Flash)
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    73
- **Used in**: Social widget
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    74
- **Library homepage**: http://code.google.com/p/zeroclipboard/
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    75
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    76
### ktbs4js Tracemanager ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    77
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    78
- **File**: tracemanager.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    79
- **License**: LGPL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    80
- **Role**: Interface with the KTBS trace management system, created by Olivier Aubert (Liris)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    81
- **Used in**: Trace widget
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    82
- **Library homepage**: http://github.com/oaubert/ktbs4js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    83
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    84
## Metadataplayer core ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    85
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    86
In Metadataplayer, Javascript and CSS files are divided in *core* and *widgets*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    87
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    88
In the release (compiled) version, the JS part of the core is a single file, *LdtPlayer-core.js* compiled by concatenating JS files located dans *src/js*:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    89
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    90
### header.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    91
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
    92
Contains credits and licence information (The license is CEA, CNRS and Inria’s *CeCILL-C*)
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    93
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    94
### LAB.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    95
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    96
see *external libraries*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    97
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    98
### init.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    99
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   100
Defines the *IriSP* object, used as a namespace for the whole Metadataplayer.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   101
Contains the declaration and methods of the *IriSP.Metadataplayer* class, whose instantiation is the main entry point for the code.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   102
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   103
### pop.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   104
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   105
Defines the *IriSP.PopcornReplacement* class, i.e. a simplified version of the Popcorn API used to interface with video players (jwplayer, dailymotion) not supported by Popcorn.
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   106
When this part of the Metadataplayer was written, Popcorn and jwplayer didn’t interface well, but it should be replaced by a real Popcorn.js plugin.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   107
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   108
### utils.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   109
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   110
Contains some utility functions such as *IriSP.loadCss*, an equivalent to LAB.js for CSS files.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   111
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   112
### model.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   113
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   114
Contains classes managing the Cinelab data model, grouped in the *IriSP.Model* namespace.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   115
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   116
### widgets.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   117
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   118
Contains the (abstract) class *IriSP.Widgets.Widget*, containing base functionalities for all widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   119
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   120
### players ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   121
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   122
Files in this directory interface *Popcorn Replacement* (see *pop.js*) with third-party video players.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   123
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   124
Five players are available:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   125
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   126
1. **player.jwplayer**, for JwPlayer, used to play RTMP streams on the *Ligne de temps* platform.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   127
2. **player.dailymotion**, to play videos on Dailymotion.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   128
3. **player.allocine**, to play videos on allocine.net
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   129
4. **player.mashup**, for the flash based mashup player written by Thibaut Cavalié.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   130
5. **player.htmlMashup**, for the Popcorn-based HTML5 mashup player.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   131
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   132
### serializers ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   133
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   134
Serializers are converters between the internal data representation in the metadata player and formats used for communication with servers.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   135
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   136
Two serializers are available:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   137
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   138
1. **ldt**, to read JSON projects provided by the *Lignes de Temps* platform.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   139
2. **ldt\_annotate**, for communications with the Add Widget API, whose format is slightly different.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   140
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   141
## Widgets ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   142
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   143
Widgets are modules, visible or not, adding functionalities to the Metadataplayer.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   144
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   145
Located in the *src/widgets* directory, they’re composed of a mandatory JavaScript file, *WidgetName.js* and an optional stylesheet, *WidgetName.css*
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   146
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   147
#### Common Widget Options ####
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   148
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   149
- **metadata**, metadata source, as an object with the following properties: { url: *URL of the data source*, type: *Serializer type* }
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   150
- **container**, used to position the widget in a given HTML element, given its ID. If omitted, the widget will be automatically aligned vertically below the player.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   151
- **annotation\_type**, in widgets displaying annotations. This option can have the following values:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   152
    - *String*: will display widgets whose annotation type title includes the string. Example: "segments" will show annotations whose annotation type have a title with "Segments" in it.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   153
    - *Array of string*: to display several annotation types. Example: "Segments"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   154
    - *false*: to display all annotations related to the media.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   155
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   156
Here’s a list of available widgets:
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   157
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   158
### Annotation ###
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   159
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   160
- **Role**: Displays information relative to a single segment/annotation while it is being played
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   161
- **Options**:
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   162
    - **annotation\_type**: (default: "chapitrage"), see *Common widget options*.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   163
    - **show\_top\_border**: (default: false), show top widget border (useful depending on whether it is used in combination with the *Arrow* widget)
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   164
    - **site\_name**: "Lignes de Temps", site name to display when users click on "Share on social networks".
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   165
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   166
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   167
### AnnotationsList ###
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   168
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   169
- **Role**: Show a list of annotations.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   170
- **Options**:
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   171
    - **ajax\_url**: (default: false), specifies an API template when annotations have to be loaded from an external source. In the URL, {{media}} will be replaced by the media ID, {{begin}} by the start *timecode* in milliseconds, {{end}} by the end *timecode* in milliseconds. If set to *false*, displayed annotations will be the ones loaded from the default metadata source. On the *Lignes de Temps*, the URL of the segments API is http://ldt.iri.centrepompidou.fr/ldtplatform/api/ldt/segments/{{media}}/{{begin}}/{{end}}?callback=?
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   172
    - **ajax\_granularity**: (default: 300000 ms = 5 minutes), specifies the timespan to be loaded from the segment API, around the current timecode. 
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   173
    - **default\_thumbnail**: thumbnail to display when an annotation doesn’t have one.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   174
    - **foreign\_url**: Specifies an URL template for when an annotation doesn’t have an URL and is not in the current project. In that template, {{media}} will be replaced by the media ID, {{project}} by the project ID, {{annotationType}} by the annotation type ID and {{annotation}} by the annotation ID. For the *Lignes de temps* platform, this URL is http://ldt.iri.centrepompidou.fr/ldtplatform/ldt/front/player/{{media}}/{{project}}/{{annotationType}}#id={{annotation}}
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   175
    - **annotation\_type**: (default: false), see *Common widget options*, above
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   176
    - **refresh\_interval**: (default: 0), Ajax refresh interval, to get annotations added while watching (works with either the default source or the external segment API)
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   177
    - **limit\_count**: (default: 10), Maximum number of annotations to display at once.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   178
    - **newest\_first**: (default: false), When *true*, annotations are sorted by decreasing creation date. When *false*, annotations are sorted by increasing timecode.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   179
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   180
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   181
### Arrow ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   182
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   183
- **Role**: Draws the position arrow showing where the annotation is.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   184
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   185
    - **arrow\_height**: (default: 16), arrow height in pixels
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   186
    - **arrow\_width**: (default: 24), arrow width in pixels
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   187
    - **base\_height**: (default: 0), distance between arrow bottom and widget button. Mandatory for a rounded widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   188
    - **base\_curve**: (default: 0), curvature radius in pixels for a rounded widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   189
    - **fill\_url**: fill image URL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   190
    - **fill\_color**: (default: "#ffffff" = white), fill color. Can be replaced by a gradient described by : gradient angle-start color-end color, e.g.: "90-#000-#fff"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   191
    - **stroke\_color**: (default: "#b7b7b7" = grey), border color.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   192
    - **stroke\_width**: (default: 1.5), border width.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   193
    - **animation\_speed**: (default: 20), arrow animation speed.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   194
    - **pilot\_widget**: (default: "Annotation"), widget driving the arrow position.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   195
- Uses external library: Raphael
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   196
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   197
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   198
### Controller ###
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   199
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   200
- **Role**: Play, Pause, Search, Annotate buttons and volume control
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   201
- **Options**:
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   202
    - **disable\_annotate\_btn**: (default: false), disables Annotate button if set to *true*
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   203
    - **disable\_search\_btn**: (default: true), disables Search button
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   204
- Uses external library: jQuery UI
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   205
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   206
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   207
### CreateAnnotation ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   208
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   209
- **Role**: Displays a form to create a new annotation
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   210
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   211
    - **show\_title\_field**: (default: true), shows or hides the annotation title field.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   212
    - **creator\_name**: Default annotation creator name.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   213
    - **creator\_avatar**: Creator profile thumbnail URL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   214
    - **tag\_titles**: (default: false), list of tags to display, as an array of strings: [ "#firstTag", "#secondTag" ]
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   215
    - **tags**: (default: false), list of tags to display, as an array of objects: [ { id: "tag-001", title: "#firstTag" } ]. Overrides *tag\_titles*. If both options are set to *false*, the most frequent tags in the project will be displayed.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   216
    - **max\_tags**: (default: 8), maximum number of tags to display.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   217
    - **polemics**: polemic buttons to display, as an array of objects, e.g.: [ { keyword: "++", background\_color: "#00a000", text\_color: "#ffffff" } ]
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   218
    - **annotation\_type**: (default: "Contributions"), see *Common widget options*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   219
    - **api\_serializer**: (default: "ldt\_annotate"), serializer to use when sending annotations.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   220
    - **api\_endpoint\_template**: API Endpoint URL, with {{id\}\} as a placeholder for project ID, e.g.: "http://ldt.iri.centrepompidou.fr/ldtplatform/api/ldt/annotations/{{id}}.json".
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   221
    - **api\_method**: (default: "PUT"), HTTP method used to send annotations. *Lignes de temps* platform uses PUT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   222
    - **close\_widget\_timeout**: (default: 0), duration in milliseconds before widget is closed after send. If value is set to 0, the widget stays open.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   223
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   224
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   225
### HelloWorld ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   226
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   227
- **Role**: Example widget demonstration the API capabilities
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   228
- **Options**:
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   229
    - **text**: (default: "world"), text to display after "Hello, "
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   230
- Uses a CSS stylesheet: yes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   231
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   232
### Media ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   233
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   234
- **Role**: Shows current media, as well as other medias in the project. Mostly used for mashups
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   235
- **Options**:
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   236
    - **default\_thumbnail**: thumbnail to display when a media doesn’t have one
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   237
    - **media\_url\_template**: Specifies an URL template for when a media doesn’t include URL information, e.g.: "http://ldt.iri.centrepompidou.fr/ldtplatform/ldt/front/player/{{media}}/"
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   238
- Uses a CSS stylesheet: yes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   239
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   240
### Mediafragment ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   241
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   242
- **Role**: Handles *Media fragments*-compliant URIs (W3C Recommandation): Changing the playing position changes the URL and vice-versa.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   243
- An URL ending with #id=*annotation ID* points to an annotation, one with #t=*time in seconds* to a precise position.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   244
- No options
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   245
- Uses a CSS stylesheet: no
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   246
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   247
### Polemic ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   248
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   249
- **Role**: Shows the *polemical timeline*, i.e. tweets colored according to the polemical syntax. Depending on the number of tweets, two visualization modes exist:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   250
    - Below the threshold (low volume mode), tweets are represented as individual squares.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   251
    - Above the threshold, columns show aggregated numbers of tweets by color.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   252
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   253
    - **element\_width**: (default: 5), width in pixels of a tweet column.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   254
    - **element\_height**: (default: 5), height in pixels of a tweet, in low volume mode.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   255
    - **max\_elements**: (default: 15), threshold between low and high volume mode, in tweets per column.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   256
    - **annotation\_type**: (default: "tweet"), see *Common widget options*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   257
    - **defaultcolor**: (default: "#585858" = grey), default color for tweets with no polemical coloring.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   258
    - **foundcolor**: (default: "#fc00ff" = magenta), color for tweets in a search result.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   259
    - **polemics**: polemical colors to display, as an array of objects, e.g. [ { name: "OK", keywords: [ "++" ], color: "#1D973D" } ]
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   260
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   261
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   262
### Renkan ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   263
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   264
- **Role**: Interface with the *Renkan* project.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   265
- Uses external libraries: jQuery Mousewheel, Backbone, Backbone Relational, Renkan-Publish
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   266
- Uses a CSS stylesheet: oui
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   267
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   268
### Segments ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   269
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   270
- **Role**: Displays segments of a media as rectangles on an horizontal line.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   271
- **Options**:
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   272
    - **colors**: colors to use when annotations don’t have colour metadata.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   273
    - **height**: height of the widget, in pixels
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   274
- Uses a CSS stylesheet: yes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   275
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   276
### Slider ###
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   277
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   278
- **Role**: A combination of a Progress bar and a Slider displaying and allowing repositioning of the current video playback position.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   279
- **Options**:
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   280
   - **minimized\_height**: (default: 4), height in pixels of the *Slider* in minimized mode
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   281
   - **maximized\_height**: (default: 10), height in pixels du *Slider* in maximized mode (on mouseover)
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   282
   - **minimize\_timeout**: (default: 1500), duration in milliseconds before the *Slider* is automatically minimized. If set to 0, *Slider* stays maximized.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   283
- Uses external library: jQuery UI
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   284
- Uses a CSS stylesheet: yes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   285
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   286
### Social ###
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   287
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   288
- **Role**: Adds buttons to share an URL on social networks
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   289
- **Options**:
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   290
    - **text**: displays a text
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   291
    - **url**: the URL to share
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   292
    - **show_url**: Shows a button to copy/paste an URL
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   293
    - **show_twitter**: Shows a button to share on Twitter
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   294
    - **show_fb**: Shows a button to share on Facebook
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   295
    - **show_gplus**: Shows a button to share on Google+
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   296
    - **show_mail**: Shows a button to share by e-mail
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   297
- Uses a CSS stylesheet: yes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   298
- Uses external library: ZeroClipboard
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   299
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   300
### Sparkline ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   301
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   302
- **Role**: Displays a curve showing the volume of tweets across time.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   303
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   304
    - **annotation\_type**: see *Common widget options*, above
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   305
    - **lineColor**: (default: "#7492b4" = blue-grey), line color
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   306
    - **fillColor**: (default: "#aeaeb8" = grey), color of the surface below the curve
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   307
    - **lineWidth**: (default: 2), line width in pixels
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   308
    - **slice\_count**: (default: 20), number of slices used to sample volumes
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   309
    - **height**: (default: 50), curve height
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   310
    - **margin**: (default: 5), margin above the curve
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   311
- Uses external library: Raphael
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   312
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   313
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   314
### Tagcloud ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   315
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   316
- **Role**: Shows a tag cloud - WARNING: Doesn’t work well with Japanese language because of word splitting issues
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   317
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   318
    - **include\_titles**: (default: true), includes annotation titles when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   319
    - **include\_descriptions**: (default: true), includes annotation descriptions when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   320
    - **include\_tag\_texts**: (default: true), includes tags in annotations when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   321
    - **tag\_count**: (default: 30), maximum number of tags to display.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   322
    - **stopword\_language**: (default: "fr"), language code for the stopword list.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   323
    - **custom\_stopwords**: (default: []), custom stopwords to filter out.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   324
    - **exclude\_pattern**: (default: false), regexp to filter out.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   325
    - **annotation\_type**: (default: false), see *Common widget options*, above. The annotation type of the annotations whose text is extracted to compute the cloud.
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   326
    - **segment\_annotation\_type**: (default: false), defines a segmentation of the tag-cloud, so as to display a distinct tag cloud for each segment of this annotation type. When set to *false*, a single tag cloud is created for the whole media.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   327
    - **min\_font\_size**: (default: 10), font size for the most frequent word.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   328
    - **max\_font\_size**: (default: 26), font size for the least frequent word.
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   329
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   330
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   331
### Tooltip ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   332
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   333
- **Role**: Displays a tooltip. Is mainly used as a subwidget, embedded and called from another widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   334
- No options
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   335
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   336
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   337
### Trace ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   338
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   339
- **Role**: Sends traces to the KTBS server.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   340
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   341
    - **js\_console**: (default: false), shows logs in the browser console.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   342
    - **url**: (default: "http://traces.advene.org:5000/"), URL of the trace server
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   343
    - **requestmode**: (default: "GET"), HTTP method used to send traces (only *"GET"* allows *cross-domain* sending).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   344
    - **syncmode**: (default: "sync"), allows traces to be sent grouped (*"delayed"* mode) or as single events (*"sync"*).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   345
- Uses external library: ktbs4js tracemanager
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   346
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   347
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   348
### Tweet ###
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   349
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   350
- **Role**: Show the contents on a tweet when clicked (in Polemic Widget)
929
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   351
- **Options**:
951
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   352
    - **hide_timeout**: (default: 5000), time (in milliseconds) before hiding the Tweet.
13fed6c21d51 Docs update
veltr
parents: 947
diff changeset
   353
    - **polemics**: See *Polemic* widget