doc/architecture.en.md
author veltr
Thu, 30 Aug 2012 15:00:21 +0200
changeset 947 ec4e9ddf9fba
parent 929 a39ff507b050
child 951 13fed6c21d51
permissions -rw-r--r--
Docs now refer to default branch
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.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    17
- As LAB.js is used to load other libraries, it's the only library called before loading the Metadataplayer core.
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
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    68
### ktbs4js Tracemanager ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    69
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    70
- **File**: tracemanager.js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    71
- **License**: LGPL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    72
- **Role**: Interface with the KTBS trace management system, created by Olivier Aubert (Liris)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    73
- **Used in**: Trace widget
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    74
- **Library homepage**: http://github.com/oaubert/ktbs4js
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    75
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    76
## Metadataplayer core ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    77
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    78
In Metadataplayer, Javascript and CSS files are divided in *core* and *widgets*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    79
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    80
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
    81
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    82
### header.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    83
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    84
Contains credits and licence information (The license is CEA, CNRS and Inria's *CeCILL-C*)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    85
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    86
### LAB.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    87
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    88
see *external libraries*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    89
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    90
### init.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    91
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    92
Defines the *IriSP* object, used as a namespace for the whole Metadataplayer.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    93
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
    94
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    95
### pop.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    96
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    97
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.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    98
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.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
    99
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   100
### utils.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   101
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   102
Contains some utility functions such as *IriSP.loadCss*, an equivalent to LAB.js for CSS files.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   103
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   104
### model.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   105
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   106
Contains classes managing the Cinelab data model, grouped in the *IriSP.Model* namespace.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   107
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   108
### widgets.js ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   109
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   110
Contains the (abstract) class *IriSP.Widgets.Widget*, containing base functionalities for all widgets.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   111
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   112
### players ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   113
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   114
Files in this directory interface *Popcorn Replacement* (see *pop.js*) with third-party video players.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   115
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   116
Five players are available:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   117
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   118
1. **player.jwplayer**, for JwPlayer, used to play RTMP streams on the *Ligne de temps* platform.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   119
2. **player.dailymotion**, to play videos on Dailymotion.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   120
3. **player.allocine**, to play videos on allocine.net
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   121
4. **player.mashup**, for the flash based mashup player written by Thibaut Cavalié.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   122
5. **player.htmlMashup**, for the Popcorn-based HTML5 mashup player.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   123
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   124
### serializers ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   125
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   126
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
   127
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   128
Two serializers are available:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   129
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   130
1. **ldt**, to read JSON projects provided by the *Lignes de Temps* platform.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   131
2. **ldt\_annotate**, for communications with the Add Widget API, whose format is slightly different.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   132
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   133
## Widgets ##
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   134
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   135
Widgets are modules, visible or not, adding functionalities to the Metadataplayer.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   136
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   137
Located in the *src/widgets* directory, they're composed of a mandatory JavaScript file, *WidgetName.js* and an optional stylesheet, *WidgetName.css*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   138
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   139
#### Common Widget Options ####
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   140
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   141
- **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
   142
- **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
   143
- **annotation\_type**, in widgets displaying annotations. This option can have the following values:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   144
    - *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
   145
    - *Array of string*: to display several annotation types. Example: "Segments"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   146
    - *false*: to display all annotations related to the media.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   147
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   148
Here's a list of available widgets:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   149
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   150
### HelloWorld ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   151
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   152
- **Role**: Example widget demonstration the API capabilities
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   153
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   154
    - **text**: (default: "world"), text to display after "Hello, "
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   155
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   156
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   157
### Slider ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   158
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   159
- **Role**: A combination of a Progress bar and a Slider displaying and allowing repositioning of the current video playback position.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   160
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   161
   - **minimized\_height**: (default: 4), height in pixels of the *Slider* in minimized mode
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   162
   - **maximized\_height**: (default: 10), height in pixels du *Slider* in maximized mode (on mouseover)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   163
   - **minimize\_timeout**: (default: 1500), duration in milliseconds before the *Slider* is automatically minimized. If set to 0, *Slider* stays maximized.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   164
- Uses external library: jQuery UI
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   165
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   166
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   167
### Controller ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   168
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   169
- **Role**: Play, Pause, Search, Annotate buttons and volume control
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   170
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   171
    - **disable\_annotate\_btn**: (default: false), disables Annotate button if set to *true*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   172
    - **disable\_search\_btn**: (default: true), disables Search button
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   173
- Uses external library: jQuery UI
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   174
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   175
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   176
### Arrow ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   177
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   178
- **Role**: Draws the position arrow showing where the annotation is.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   179
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   180
    - **arrow\_height**: (default: 16), arrow height in pixels
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   181
    - **arrow\_width**: (default: 24), arrow width in pixels
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   182
    - **base\_height**: (default: 0), distance between arrow bottom and widget button. Mandatory for a rounded widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   183
    - **base\_curve**: (default: 0), curvature radius in pixels for a rounded widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   184
    - **fill\_url**: fill image URL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   185
    - **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
   186
    - **stroke\_color**: (default: "#b7b7b7" = grey), border color.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   187
    - **stroke\_width**: (default: 1.5), border width.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   188
    - **animation\_speed**: (default: 20), arrow animation speed.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   189
    - **pilot\_widget**: (default: "Annotation"), widget driving the arrow position.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   190
- Uses external library: Raphael
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   191
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   192
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   193
### Annotation ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   194
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   195
- **Role**: Displays information relative to a single segment/annotation while it is being played
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   196
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   197
    - **annotation\_type**: (default: "chapitrage"), see *Common widget options*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   198
    - **show\_top\_border**: (default: false), show top widget border (useful depending on whether it is used in combination with the *Arrow* widget)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   199
    - **site\_name**: "Lignes de Temps", site name to display when users click on "Share on social networks".
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   200
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   201
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   202
### CreateAnnotation ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   203
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   204
- **Role**: Displays a form to create a new annotation
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   205
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   206
    - **show\_title\_field**: (default: true), shows or hides the annotation title field.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   207
    - **creator\_name**: Default annotation creator name.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   208
    - **creator\_avatar**: Creator profile thumbnail URL.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   209
    - **tag\_titles**: (default: false), list of tags to display, as an array of strings: [ "#firstTag", "#secondTag" ]
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   210
    - **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
   211
    - **max\_tags**: (default: 8), maximum number of tags to display.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   212
    - **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
   213
    - **annotation\_type**: (default: "Contributions"), see *Common widget options*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   214
    - **api\_serializer**: (default: "ldt\_annotate"), serializer to use when sending annotations.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   215
    - **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
   216
    - **api\_method**: (default: "PUT"), HTTP method used to send annotations. *Lignes de temps* platform uses PUT.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   217
    - **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
   218
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   219
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   220
### Polemic ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   221
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   222
- **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
   223
    - Below the threshold (low volume mode), tweets are represented as individual squares.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   224
    - Above the threshold, columns show aggregated numbers of tweets by color.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   225
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   226
    - **element\_width**: (default: 5), width in pixels of a tweet column.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   227
    - **element\_height**: (default: 5), height in pixels of a tweet, in low volume mode.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   228
    - **max\_elements**: (default: 15), threshold between low and high volume mode, in tweets per column.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   229
    - **annotation\_type**: (default: "tweet"), see *Common widget options*.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   230
    - **defaultcolor**: (default: "#585858" = grey), default color for tweets with no polemical coloring.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   231
    - **foundcolor**: (default: "#fc00ff" = magenta), color for tweets in a search result.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   232
    - **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
   233
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   234
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   235
### Tweet ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   236
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   237
- **Role**: Show the contents on a tweet when clicj
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   238
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   239
    - **hide_timeout**: (default: 5000), durée en milliseconds, avant que l’affichage du Tweet ne se referme
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   240
    - **polemics**: identique au paramètre *polemics* du widget *Polemic*
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   241
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   242
### Sparkline ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   243
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   244
- **Role**: Affiche une courbe indiquant l’évolution du volume d’annotations au cours du temps.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   245
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   246
    - **annotation\_type**: see *Common widget options*, above
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   247
    - **lineColor**: (default: "#7492b4" = gris-bleu), couleur de la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   248
    - **fillColor**: (default: "#aeaeb8" = gris), couleur de la surface sous la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   249
    - **lineWidth**: (default: 2), épaisseur en pixels de la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   250
    - **slice\_count**: (default: 20), nombre des tranches horaires dans lesquelles les annotations sont réparties pour calculer la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   251
    - **height**: (default: 50), hauteur en pixels de la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   252
    - **margin**: (default: 5), marge en pixels au-dessus de la courbe
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   253
- Uses external library: Raphael
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   254
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   255
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   256
### Tagcloud ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   257
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   258
- **Role**: Shows a tag cloud - WARNING: Doesn't work well with Japanese language because of word splitting issues
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   259
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   260
    - **include\_titles**: (default: true), includes annotation titles when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   261
    - **include\_descriptions**: (default: true), includes annotation descriptions when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   262
    - **include\_tag\_texts**: (default: true), includes tags in annotations when computing tag cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   263
    - **tag\_count**: (default: 30), maximum number of tags to display.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   264
    - **stopword\_language**: (default: "fr"), language code for the stopword list.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   265
    - **custom\_stopwords**: (default: []), custom stopwords to filter out.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   266
    - **exclude\_pattern**: (default: false), regexp to filter out.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   267
    - **annotation\_type**: (default: false), see *Common widget options*, above. The annotation type of the annotations whose text is extracted to compute the cloud.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   268
    - **segment\_annotation\_type**: (default: false), permet de définir la segmentation du nuage de mots-clés et de calculer un nuage pour chaque segment du type d’annotation choisi. Lorsque ce paramètre est à *false*, un seul nuage est calculé pour toute la durée de la vidéo.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   269
    - **min\_font\_size**: (default: 10), taille de caractères (en pixels) pour le mot le moins fréquent.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   270
    - **max\_font\_size**: (default: 26), taille de caractères (en pixels) pour le mot le plus fréquent.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   271
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   272
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   273
### AnnotationsList ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   274
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   275
- **Role**: Show a list of annotations.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   276
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   277
    - **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=?
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   278
    - **ajax\_granularity**: (default: 300000 ms = 5 minutes), specifies the timespan to be loaded from the segment API, around the current timecode. 
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   279
    - **default\_thumbnail**: thumbnail to display when an annotation doesn't have one.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   280
    - **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}}
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   281
    - **annotation\_type**: (default: false), see *Common widget options*, above
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   282
    - **refresh\_interval**: (default: 0), Ajax refresh interval, to get annotations added while watching (works with either the default source or the external segment API)
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   283
    - **limit\_count**: (default: 10), Maximum number of annotations to display at once.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   284
    - **newest\_first**: (default: false), When *true*, annotations are sorted by decreasing creation date. When *false*, annotations are sorted by increasing timecode.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   285
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   286
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   287
### Media ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   288
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   289
- **Role**: Shows current media, as well as other medias in the project. Mostly used for mashups
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   290
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   291
    - **default\_thumbnail**: thumbnail to display when a media doesn't have one
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   292
    - **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}}/"
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   293
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   294
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   295
### Tooltip ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   296
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   297
- **Role**: Displays a tooltip. Is mainly used as a subwidget, embedded and called from another widget.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   298
- No options
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   299
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   300
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   301
### Trace ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   302
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   303
- **Role**: Sends traces to the KTBS server.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   304
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   305
    - **js\_console**: (default: false), shows logs in the browser console.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   306
    - **url**: (default: "http://traces.advene.org:5000/"), URL of the trace server
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   307
    - **requestmode**: (default: "GET"), HTTP method used to send traces (only *"GET"* allows *cross-domain* sending).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   308
    - **syncmode**: (default: "sync"), allows traces to be sent grouped (*"delayed"* mode) or as single events (*"sync"*).
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   309
- Uses external library: ktbs4js tracemanager
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   310
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   311
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   312
### Mediafragment ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   313
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   314
- **Role**: Handles *Media fragments*-compliant URIs (W3C Recommandation): Changing the playing position changes the URL and vice-versa.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   315
- An URL ending with #id=*annotation ID* points to an annotation, one with #t=*time in seconds* to a precise position.
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   316
- No options
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   317
- Uses a CSS stylesheet: no
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   318
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   319
### Social ###
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   320
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   321
- **Role**: Adds buttons to share an URL on social networks
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   322
- **Options**:
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   323
    - **text**: displays a text
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   324
    - **url**: the URL to share
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   325
    - **show_url**: Shows a button to copy/paste an URL
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   326
    - **show_twitter**: Shows a button to share on Twitter
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   327
    - **show_fb**: Shows a button to share on Facebook
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   328
    - **show_gplus**: Shows a button to share on Google+
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   329
    - **show_mail**: Shows a button to share by e-mail
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   330
- Uses a CSS stylesheet: yes
a39ff507b050 Started documentation translation
veltr
parents:
diff changeset
   331
- Uses external library: ZeroClipboard