Ainsi qu'on le voit sur cette copie d'écran, les images disponibles sont organisées sous la forme de :
Il est possible de rajouter d'autres bibliothèques, d'autres groupes dans ces bibliothèques, et d'autres thèmes qui seront visibles dans la fenêtre bibliothèques présentée ci-dessus.
Ceci requiert des opérations à réaliser manuellement sur le serveur d'application :
Cette documentation a pour but de décrire la façon de procéder.
Notes :
La notation JSON, qui est la notation permettant de définir des structures en javascript, utilise les syntaxes suivantes :
{ "prop1" : "valeur 1" , "prop2" : "valeur2", "prop3" : 25 }
Ici, on a décrit une structure avec 3 propriétés nommées successivement prop1, prop2, prop3, avec des valeurs alphanumériques valeur1 et valeur2, et une valeur numérique (25)
[ "indice_0", "indice_1", "indice_2, "indice_3" ] représente un tableau contenant 4 éléments.
{ [ { "age": 25, "nom" : "Martin" }, { "age": 67, "nom" : "Emile" } ], "nombre" : 2 }
représente une structure contenant un tableau de 2 structures, suivi par une autre valeur ("nombre"). Chaque sous-structure contient ici deux champs, "age" et "nom".
Il faut noter qu'en JSON, il ne faut jamais couper une chaîne par un saut de ligne (retour chariot).
Ainsi, par exemple, autant la syntaxe :
est correcte, la syntaxe :
ne l'est pas.
Par ailleurs, il est important de respecter la casse (majuscule/minuscule) données pour les noms de propriétés, car ils sont significatifs (les propriétés "Nom" et "nom" ne sont pas les mêmes).
Le répertoire de base dans lequel on trouvera les bibliothèques spécifiques et les fichiers de configuration est un sous-répertoire du répertoire X3_PUB. Le répertoire X3_PUB peut être trouvé, en utilisant la calculatrice, et en calculant l'expression suivante :
filpath("","","","X3_PUB")
A partir de ce répertoire, on recherchera le sous-répertoire :
X3_ROOT\X3CLI\XBLOCK\ (sous Windows)
X3_ROOT/X3CLI/XBLOCK/ (sous Unix ou Linux)
Ce répertoire contient un sous-répertoire FLASH, qui contient les composants graphiques standard. Les composants spécifiques seront créés dans un répertoire nommé FLASH_CUSTOM, situé au même niveau (donc dans le répertoire XBLOCK). Il faut commencer par créer ce répertoire s'il n'existe pas.
Note : un répertoire FLASH_CUSTOMREF existe dans le sous-répertoire FLASH. Si le répertoire FLASH_CUSTOM n'existe pas, il est conseillé de copier FLASH_CUSTOMREF dans le répertoire XBLOCK, puis le renommer. On aura ainsi un répertoire avec des exemples de fichiers de configuration tels que le paragraphe suivant va les décrire.
On considérera ce répertoire FLASH_CUSTOM comme le répertoire de base des composants, et on en décrira à présent le contenu.
Les sous-répertoires de FLASH_CUSTOM sont les suivants :
Le répertoire libraries_custom contient à son tour un sous-répertoire par bibliothèque graphique, et dans ce sous-répertoire, on va trouver un sous-répertoire par groupe (un groupe étant une liste de thèmes), puis un sous-répertoire par thème (un thème étant une collection d'images). C'est dans ce dernier répertoire que l'on trouve ces images, qui sont des fichiers peuvant avoir l'une des extensions suivantes : .jpg, .gif, .png. On y trouvera aussi un dernier fichier de configuration nommé list.txt, qui donne la liste des fichiers image présents dans le répertoire.
Imaginons, par exemple, que le progiciel soit installé dans un groupe de sociétés. On pourrait alors avoir :
On aurait donc une hiérarchie du type suivant :
MYCORP |
|
|
|
pictures |
|
| |
| People |
| |
|
|
| list.txt |
|
|
| MARTIN.jpg |
|
|
| HENRY.png |
|
|
| DAVID.gif |
|
| Sites |
|
|
|
| list.txt |
|
|
| PARIS.gif |
|
|
| LONDON.jpg |
|
| ... |
|
| images |
|
|
|
| schemas |
|
|
|
| list.txt |
|
|
| MAP.png |
| ... |
|
|
MASOC |
|
|
|
| ... |
|
|
Ce fichier se trouve dans les deux répertoires PadDev et PadPlayer, et donne le nom et l'emplacement de vos bibliothèques, comme le montre l'exemple suivant :
{
"bibOriginsInfo" :
[ {"labels" :
[
{"lang" : "ENG" , "label" : "Company MYCORP"},
{"lang" : "FRA" , "label" : "Société MYCORP"},
....
{"lang" : "GER" , "label" : "MYCORP Gesellschaft" }
],
"originSubpath" : "../FLASH_CUSTOM/FlowCharting/libraries_custom/MYCORP",
"id" : "identificateur_1"
},
{"labels" :
{"lang" : "ENG" , "label" : "Company MASOC"},
....
{"lang" : "GER" , "label" : "MASOC Gesellschaft" }
],
"originSubpath" : "../FLASH_CUSTOM/FlowCharting/libraries_custom/MASOC",
"id" : "identificateur_2"
},
...
{"labels" :
[ {"lang" : "ENG" , "label" : "Company MEINGMBH"},
....
{"lang" : "GER" , "label" : "MEINGMBH Gesellschaft" }
],
"originSubpath" : "../FLASH_CUSTOM/FlowCharting/libraries_custom/MEINGMBH",
"id" : "identificateur_M"
}
],
"r" : 0,
"v" : 1
}
Dans le fichier qui précède :
Ainsi, dans le fichier précédent, on remarquera que les répertoires de base des bibliothèques sont respectivement MYCORP, MASOC, MEINGMBH.
Ce fichier se trouve dans le répertoire de base de la bibliothèque (MYCORPdans l'exemple précédent), et contient une description au format JSON de la structure de la bibliothèque. En s'inspirant de l'exemple précédent, on aurait un contenu tel que celui-ci :
{ "libsinfo" :
[
{ "biblist" :
[
{"bibid" : "mycorp_1",
"catsubpath" : "people",
"h":70,
"w":70,
"type":"file",
"labels" :
[
{"lang" : "ENG", "label" : "People" },
{"lang" : "FRA", "label" : "Personnes" },
....
{ "lang" : "GER", "label" : "Leute"}
]
},
....
{ "bibid" : "mycorp_N",
"catsubpath" : "sites",
"h":30,
"w":40,
"type":"file",
"labels" :
[
{"lang" : "ENG", "label" : "Sites" },
...
{ "lang" : "GER", "label" : "Standorte"}
]
}
],
"labels" :
[
{"lang" : "ENG", "label" : "Pictures" },
{"lang" : "FRA", "label" : "Photos" },
....
{"lang" : "GER", "label" : "Fotos" }
],
"familysubpath":"pictures",
"familyid":"pic_mycorp"
},
{ "biblist" :
[
{ "bibid" : "mycorp_2",
"catsubpath" : "schemas",
"h":70,
"w":70,
"type":"file",
"labels" :
[
{"lang" : "ENG", "label" : "Schemes" },
....
{"lang" : "FRA", "label" : "Schemas" }
]
},
....
}
],
"labels" :
[
{"lang" : "ENG", "label" : "Images" },
{"lang" : "FRA", "label" : "Images" },
....
{"lang" : "GER", "label" : "Bilder" }
],
"familysubpath":"images",
"familyid":"img_mycorp"
}
],
"oid" : "mycorp",
"r" : 0,
"v" : 1
}
Dans le fichier qui précède :
Enfin, on trouve les derniers paramètres du fichier
Ainsi, dans cet exemple, on voit apparaître les groupes pictures (avec les thèmes personnes, et sites) et images (avec le thème schémas).
Les paramètres "h" et "v", qui définissent la taille des vignettes en pixels apparaissant dans l'explorateur d'images pour un thème donné, prennent la valeur 40 chacun s'ils ne sont pas renseignés.
A titre d'exemple, voici ce que donne une liste de vignettes :
Ce fichier se trouve dans le répertoire de base d'un thème, il liste les fichiers d'images qui s'y trouvent. De ce fait, sa structure est simple, et prend la forme suivante :
{ "files" :
[
{ "name" : "MARTIN.jpg" }
{ "name" : "HENRY.png" }
{ "name" : "DAVID.gif" }
]
}
Il est possible de rajouter des niveaux supplémentaires dans la hiérarchie des bibliothèque / groupe / thème, afin d'avoir une hiérarchie à plus de deux niveaux.
Imaginons par exemple que, que dans la hiérarchie précédente, on ait défini des hiérarchies qui, à partir des images, propose un répertoires de cartes (map) dans lesquels on retrouve une hiérarchie pays, région ou état, département ou comté, ville, avec différentes cartes d'une ville à l'intérieur de chaque dossier. On aurait alors des dossiers tels que :
MYCORP/images/map/USA/tenessee/hamilton/chattanooga (contenant différents plans de la ville)
Pour réaliser ceci, il faut :
Il faut tout de même noter que, même si on veut multiplier le nombre de sous-dossiers de la sorte, il faudra les décrire in extenso dans la liste, ce qui peut être fastidieux. Par ailleurs, seul le niveau terminal de la liste peut contenir des fichiers (et le fichier list.txt correspondant).
Il est par contre possible d'avoir un nombre de niveaux hiérarchiques différent par branche. Ainsi, par exemple, simultanément à la hiérarchie présentée ci-dessus, on peut avoir une hierarchie telle que :
MYCORP/pictures/animals/mammals/cows (le dossier en question contenant des photos de vaches)
Une fois les manipulations précédentes créées, il est possible d'utiliser directement les bibliothèques créées sur l'arborescence serveur sans aucune restriction en mode web.
Pour les utiliser en mode client-serveur, il est par contre nécessaire de créer une archive (de nom XCLI.tar) contenant l'ensemble des fichiers trouvés dans le répertoire FLASH_CUSTOM.
Ceci est réalisé par un utilitaire dédié.