metadataplayer/docs/data-api.md
author veltr
Thu, 14 Jun 2012 17:28:20 +0200
changeset 1 ed19b689de87
permissions -rw-r--r--
Update and data api doc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     1
# API d’accès aux métadonnées #
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     2
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     3
ATTENTION !
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     4
Cette documentation se réfère à la v.3 du Metadataplayer, actuellement disponible dans la branche **new-model** du repository
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     5
http://www.iri.centrepompidou.fr/dev/hg/metadataplayer
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     6
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     7
## Élément de base ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     8
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
     9
    IriSP.Model.Element
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    10
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    11
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    12
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    13
Classe de base dont héritent les différents types d’objets utilisés dans le Metadataplayer: annotations, types d’annotations, médias, etc.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    14
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    15
### Instanciation ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    16
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    17
**Element** fonctionne comme une classe abstraite est n’est jamais instancié directement.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    18
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    19
Néanmoins, tous les objets en héritant seront instanciés de la manière suivante :
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    20
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    21
    var myElement = new IriSP.Model.Element(id, source);
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    22
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    23
- **id** est l’identifiant unique de l’élément. S’il est à *false*, un identifiant unique sera généré.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    24
- **source** identifie la source de données dont provient l’élément (cf. Source de Données, *IriSP.Model.Source*, plus bas).
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    25
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    26
### Propriétés ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    27
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    28
#### type ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    29
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    30
Type d’élément, surchargé par les classes qui héritent de l’élément de base:
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    31
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    32
- **element** pour IriSP.Model.Element
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    33
- **media** pour IriSP.Model.Media
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    34
- **annotationType** pour IriSP.Model.AnnotationType
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    35
- **tag** pour IriSP.Model.Tag
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    36
- **annotation** pour IriSP.Model.Annotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    37
- **mashup** pour IriSP.Model.Mashup
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    38
- **mashedAnnotation** pour IriSP.Model.MashedAnnotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    39
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    40
#### id ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    41
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    42
Identifiant unique de l’élément
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    43
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    44
#### title ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    45
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    46
Titre de l’élément, par défaut une chaîne vide ("")
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    47
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    48
#### description ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    49
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    50
Description de l’élément, par défaut une chaîne vide ("")
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    51
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    52
## Media ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    53
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    54
    IriSP.Model.Media
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    55
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    56
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    57
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    58
Représente un média (vidéo ou audio).
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    59
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    60
Hérite de l’Élément de base
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    61
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    62
### Propriétés ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    63
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    64
#### video ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    65
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    66
Il s’agit de l’URL de la vidéo à charger
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    67
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    68
#### duration ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    69
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    70
Il s’agit de la durée du média (telle que renseignée dans les métadonnées -- peut ne pas être égale à la durée telle que lue dans la fenêtre vidéo).
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    71
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    72
Il s’agit d’un objet durée (cf. *IriSP.Model.Time* plus bas)
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    73
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    74
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    75
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    76
#### getDuration ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    77
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    78
Permet de spécifier la durée du média, en millisecondes
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    79
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    80
#### getAnnotations ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    81
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    82
Retourne la liste des annotations associées au média
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    83
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    84
#### getAnnotationsByTypeTitle ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    85
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    86
Retourne la liste des annotations associées au média et dont le type d’annotation (ou découpage, ou ligne, c.f. Type d’Annotation plus bas) correspond à l’argument de la fonction
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    87
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    88
## Type d’Annotation ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    89
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    90
    IriSP.Model.AnnotationType
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    91
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    92
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    93
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    94
Représente un type d’annotation, correspondant également à ce qui peut être nommé découpage ou ligne dans *Lignes de Temps*
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    95
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    96
Hérite de l’Élément de base.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    97
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    98
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
    99
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   100
#### getAnnotations ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   101
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   102
Retourne la liste des annotations associées au type d’annotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   103
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   104
## Annotation ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   105
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   106
    IriSP.Model.Annotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   107
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   108
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   109
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   110
Représente une annotation, correspondant à un segment temporel (dont la durée peut être nulle) d’un média
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   111
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   112
Hérite de l’Élément de base.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   113
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   114
### Propriétés ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   115
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   116
#### begin ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   117
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   118
Timecode de fin de l’annotation. Est un objet de type durée (cf. plus bas)
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   119
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   120
#### begin ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   121
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   122
Timecode de début de l’annotation. Est un objet de type durée (cf. plus bas)
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   123
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   124
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   125
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   126
#### getMedia ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   127
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   128
Retourne l’objet **Média** (*IriSP.Model.Media*) auquel se réfère l’annotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   129
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   130
#### getAnnotationType ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   131
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   132
Retourne l’objet **Type d’Annotation** (*IriSP.Model.AnnotationType*) auquel se réfère l’annotation
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   133
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   134
#### getTags ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   135
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   136
Retourne la liste (cf. Liste d’éléments *IriSP.Model.List*) des tags associés à l’annotation.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   137
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   138
#### getTagTexts ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   139
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   140
## Mashup ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   141
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   142
    IriSP.Model.Mashup
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   143
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   144
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   145
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   146
Il s’agit d’un bout à bout, composé d’une liste de segments (définis par des annotations de durée non nulle) accolés les uns après les autres.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   147
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   148
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   149
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   150
**À compléter**
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   151
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   152
## Liste d’éléments ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   153
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   154
    IriSP.Model.List
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   155
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   156
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   157
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   158
Etend les fonctionnalités des tableaux javascript (*Array*) pour lister des éléments (cf. types d’éléments ci-dessus).
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   159
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   160
### Instanciation ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   161
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   162
    var myList = new IriSP.Model.List(directory);
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   163
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   164
- **directory** est le répertoire de données auxquelles la liste permet d’accéder (cf. plus bas)
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   165
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   166
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   167
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   168
#### Méthodes de parcours de liste ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   169
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   170
Ces méthodes sont fournies grâce à la bibliothèque extérieure *underscore.js* et sont documentées sur http://documentcloud.github.com/underscore/
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   171
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   172
Il s’agit de:
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   173
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   174
- **map**: Renvoie un tableau (*Array*) dont les éléments correspondent aux éléments de la liste, via une fonction passée en argument de map
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   175
- **forEach**: Itère une fonction sur la liste.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   176
- **filter**: Ne renvoie que les éléments de la liste dont la valeur correspond au résultat d’une fonction.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   177
- **sortBy**: Fonction de tri, par ordre croissant de la valeur retournée par la fonction passée en argument.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   178
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   179
#### searchByTitle, searchByDescription, searchByTextFields ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   180
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   181
Méthodes retournant une nouvelle liste d’éléments, contenant les éléments de la liste dont respectivement le titre, la description ou les deux correspondent à l’argument de la méthode.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   182
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   183
    myList.searchByTitle("texte"); // => un *IriSP.Model.List* contenant les éléments de myList dont le titre contient "texte"
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   184
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   185
## Durée ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   186
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   187
    IriSP.Model.Time
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   188
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   189
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   190
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   191
Facilite la gestion des durées en millisecondes utilisées dans le Metadataplayer
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   192
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   193
### Instanciation ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   194
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   195
    var myTime = new IriSP.Model.Time(ms);
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   196
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   197
- **ms** est une durée en millisecondes
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   198
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   199
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   200
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   201
#### getSeconds ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   202
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   203
Renvoie la durée convertie en secondes
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   204
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   205
#### toString ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   206
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   207
Renvoie la durée au format (hh:)mm:ss
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   208
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   209
#### setSeconds ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   210
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   211
Permet d’affecter une durée en secondes
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   212
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   213
    myTime.setSeconds(12); // 12000 millisecondes
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   214
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   215
## Source de données ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   216
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   217
    IriSP.Model.Source
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   218
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   219
et
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   220
    IriSP.Model.RemoteSource
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   221
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   222
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   223
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   224
Gère une source de données : fichier externe JSON, XML, etc. pour *IriSP.Model.RemoteSource*, projet créé à la volée pour *IriSP.Model.Source*.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   225
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   226
*IriSP.Model.RemoteSource* hérite de *IriSP.Model.Source* et ne diffère que par son implémentation de la méthode *get*.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   227
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   228
Sur la plateforme *Lignes de Temps*, il existe plusieurs API qui sont utilisées comme sources :
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   229
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   230
- L’API projet, qui renvoie un fichier JSON contenant un projet LDT complet.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   231
- L’API segment, qui renvoie toutes les annotations d’un média situées entre deux timecodes fournis en argument.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   232
- L’API de publication d’annotation, qui demande l’envoi (par la méthode HTTP PUT) d’une liste d’annotation et renvoie celle-ci en retour, avec les identifiants des annotations en base de données.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   233
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   234
### Instanciation ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   235
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   236
    var config = { directory: myDirectory };
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   237
    var mySource = new IriSP.Model.Source(config);
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   238
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   239
- **config** est un objet contenant les options de configuration:
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   240
    - Il doit nécessairement contenir une propriété **directory**, désignant le répertoire de données (cf. plus bas).
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   241
    - La propriété **serializer** doit désigner le *Sérialiseur* utilisé pour désérialiser les données importées ou sérialiser l’export.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   242
    - un *IriSP.Model.RemoteSource* doit également être appelé avec une propriété **url**, désignant l’URL de la source.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   243
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   244
Une Source ne doit pas être instanciée directement, ce rôle est donné aux répertoires de données, ce qui permet notamment d’éviter des accès multiples à une même URL.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   245
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   246
### Propriétés ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   247
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   248
#### currentMedia ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   249
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   250
*TODO: transférer dans un objet "Project"*
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   251
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   252
Donne accès au média en cours du projet. Peut désigner un vrai média ou un mashup.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   253
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   254
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   255
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   256
#### get ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   257
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   258
Permet de récupérer ou de rafraîchir, via Ajax, les données de la source. Pour un *IriSP.Model.Source* de base, n’a aucun effet.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   259
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   260
#### onLoad ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   261
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   262
Permet d’exécuter une fonction, passée en argument, au chargement de la source.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   263
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   264
#### serialize, deSerialize ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   265
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   266
Transforme les données de la source en données sérialisées, au format du sérialiseur associées à la source, et inversement.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   267
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   268
#### getAnnotations, getAnnotationTypes, getMedias, getTags, getMashups ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   269
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   270
Retourne les listes respectives d’annotations, types d’annotations, médias, tags et mashups de la source.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   271
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   272
#### getAnnotationsByTypeTitle ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   273
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   274
Retourne la liste des annotations dont le type d’annotation correspond à l’argument de la fonction.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   275
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   276
## Répertoire de données ##
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   277
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   278
    IriSP.Model.Directory
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   279
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   280
### Rôle ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   281
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   282
Gère l’instanciation des sources de données et la mise en cache de ces sources lorsque plusieurs appels à la même URLs sont faits.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   283
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   284
Permet également aux objets de plusieurs sources d’interagir entre eux.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   285
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   286
### Instanciation ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   287
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   288
    var myDirectory = new IriSP.Model.Directory
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   289
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   290
### Méthodes ###
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   291
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   292
#### newLocalSource ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   293
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   294
Crée une nouvelle source non attachée à une URL. S’il faut exporter des données, un sérialiseur doit être passé en paramètres.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   295
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   296
    var myConfig = { serializer: IriSP.serializers.ldt };
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   297
    var myLocalSource = myDirectory.newLocalSource(myConfig);
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   298
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   299
#### remoteSource ####
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   300
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   301
Crée ou récupère (si celle-ci existe déjà) une source attachée à une URL. Le sérialiseur est obligatoire.
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   302
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   303
    var myConfig = { url: "source-data.json", serializer: IriSP.serializers.ldt };
ed19b689de87 Update and data api doc
veltr
parents:
diff changeset
   304
    var myLocalSource = myDirectory.remoteSource(myConfig);