Come si può notare in questo printscreen, le immagini disponibili sono organizzate sotto forma di:
E' possibile aggiungere altre librerie, altri gruppi in queste librerie, ed altri temi che saranno visibili nella finestra librerie appena presentata.
Ciò richiede operazioni da realizzare manualmente sul server applicativo:
Questa documentazione ha lo scopo di descrivere la maniera di procedere.
Note:
La notazione JSON, che è la notazione che permette di definire delle strutture in javascript, utilizza le sintassi seguenti:
{ "prop1" : "valore 1" , "prop2" : "valore2", "prop3" : 25 }
Qui si è descritta una struttura con 3 proprietà chiamate in successione prop1, prop2, prop3, con dei valori alfanumerici valore1 e valore2, ed un valore numerico (25)
[ "indice_0", "indice_1", "indice_2, "indice_3" ] rappresenta un riquadro contenente 4 elementi.
{ [ { "età": 25, "nome" : "Martino" }, { "età": 67, "nome" : "Emilio" } ], "numero" : 2 }
rappresenta una struttura contenente un riquadro di 2 strutture, seguito da un altro valore ("numero"). Ogni sotto-struttura contiene qui due campi, "età" e "nome".
Si noti che in JSON non bisogna mai interrompere una stringa con un a capo (carriage return).
Ad esempio, la sintassi:
è corretta, la sintassi:
non lo è.
E' inoltre importante rispettare le maiuscole/minuscole date per i nomi di proprietà, in quanto sono significative (le proprietà "Nome" e "nome" non sono le stesse).
La directory di base nella quale si trovano le librerie specifiche ed i file di configurazione è una sotto-directory di X3_PUB. E' possibile conoscere la directory X3_PUB utilizzando la calcolatrice ed inserendo la seguente espressione:
filpath("","","","X3_PUB")
A partire da questa directory, si cercherà la sotto-directory:
X3_ROOT\X3CLI\XBLOCK\ (sotto Windows)
X3_ROOT/X3CLI/XBLOCK/ (sotto Unix o Linux)
Tale directory contiene una sotto-directory FLASH, dove si trovano i componenti grafici standard. I componenti specifici andranno creati in una directory chiamata FLASH_CUSTOM, situata allo stesso livello (qunidi nella directory XBLOCK). Occorre creare innanzitutto questa directory, qualora non esista.
Nota: esiste una directory FLASH_CUSTOMREF nella sotto-directory FLASH. Se la directory FLASH_CUSTOM non esiste, si consiglia di copiare FLASH_CUSTOMREF nella directory XBLOCK per poi rinominarla. Si avrà così una sotto-directory con degli esempi di file di configurazione che descriverà il paragrafo successivo.
Si considererà questa directory FLASH_CUSTOM come la directory di base dei componenti, e vi si descriverà il contenuto.
Le sotto-directory di FLASH_CUSTOM sono le seguenti:
La directory libraries_custom contiene a sua volta una sotto-directory per libreria grafica, ed in questa directory si troverà una sotto-directory per gruppo (sapendo che un gruppo è una lista di temi), poi una sotto-directory per tema (sapendo che un tema è una collezione di immagini). E' in quest'ultima directory che si trovano tali immagini, che possono avere una delle seguenti estensioni: .jpg, .gif, .png. Sarà anche presente un ultimo file di configurazione chiamato list.txt, che fornisce la lista dei file immagine presenti nella directory.
Si immagini, ad esempio, che il software venga installato in un gruppo di società. Si avrà allora:
Si avrebbe dunque una gerarchia del seguente tipo:
MYCORP |
|
|
|
pictures |
|
| |
| People |
| |
|
|
| list.txt |
|
|
| MARTIN.jpg |
|
|
| HENRY.png |
|
|
| DAVID.gif |
|
| Siti |
|
|
|
| list.txt |
|
|
| PARIS.gif |
|
|
| LONDON.jpg |
|
| ... |
|
| images |
|
|
|
| schemas |
|
|
|
| list.txt |
|
|
| MAP.png |
| ... |
|
|
MASOC |
|
|
|
| ... |
|
|
Questo file si trova nelle due directory PadDev e PadPlayer e fornisce il nome e l'ubicazione delle proprie librerie, come illustra l'esempio seguente:
{
"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" : "identificativo_1"
},
{"labels" :
{"lang" : "ENG", "label" : "Company MASOC"},
....
{"lang" : "GER", "label" : "MASOC Gesellschaft" }
],
"originSubpath" : "../FLASH_CUSTOM/FlowCharting/libraries_custom/MASOC",
"id" : "identificativo_2"
},
...
{"labels" :
[ {"lang" : "ENG", "label" : "Company MEINGMBH"},
....
{"lang" : "GER", "label" : "MEINGMBH Gesellschaft" }
],
"originSubpath" : "../FLASH_CUSTOM/FlowCharting/libraries_custom/MEINGMBH",
"id" : "identificativo_M"
}
],
"r" : 0,
"v" : 1
}
Nel file che precede:
Si noti che nel file precedente le directory di base delle librerie sono rispettivamente MYCORP, MASOC, MEINGMBH.
Questo file si trova nella directory di base della libreria (MYCORPnell'esempio precedente), e contiene una descrizione in formato JSON della struttura della libreria. Inspirandosi all'esempio precedente, si avrebbe un contenuto come questo:
{ "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
}
Nel file che precede:
Si trovano infine gli ultimi parametri del file
In questo esempio si vedono quindi apparire i gruppi pictures (con i temi personnes, e sites) e images (con il tema schémas).
I parametri "h" e "v", che definiscono la dimensione delle anteprime in pixel che appaiono nel browser di immagini per un determinato tema, assumono ognuno il valore 40 se non vengono alimentati.
A titolo di esempio, ecco cosa restituisce un elenco di anteprime:
Questo file si trova nella directory di base di un tema ed elenca i file di immagini contenuti. La sua struttura di conseguenza è semplice ed assume la seguente forma:
{ "files" :
[
{ "name" : "MARTIN.jpg" }
{ "name" : "HENRY.png" }
{ "name" : "DAVID.gif" }
]
}
E' possible aggiungere livelli supplementari nella gerarchia libreria / gruppo / tema per ottenere una gerarchia con più di due livelli.
Si immagini ad esempio che, nella gerarchia precedente, si siano definite delle gerarchie che, a partire dalle immagini, propongano una directory di mappe (map) nelle quali esista una gerarchia paese, regione o stato, dipartimento o provincia, città, con differenti mappe di una città all'interno di ogni dossier. Si avrebbero allora dei dossier quali:
MYCORP/images/map/USA/tenessee/hamilton/chattanooga (contenente differenti mappe della città)
Per fare ciò, occorre:
Si noti comunque che, anche se si desidera moltiplicare il numero di sotto-cartelle del tipo, bisognerà descriverle per esteso nell'elenco, il che può risultare fastidioso. D'altro canto, solo il livello terminale dell'elenco può contenere dei file (ed il file list.txt corrispondente).
E' invece possibile avere un numero di livelli gerarchici differente per struttura. Ad esempio, contemporaneamente alla gerarchia sopra presentata, si può avere una gerarchia del tipo:
MYCORP/pictures/animals/mammals/cows (dove il dossier in questione contiene foto di mucche)
Dopo avere effettuato le precedenti manipolazioni, è possibile utilizzare direttamente le librerie create sulla struttura server senza alcun vincolo in modalità web.
Per utilizzarle in modalità client-server, è tuttavia necessario creare un archivio (di nome XCLI.tar) contenente l'insieme dei file trovati nella directory FLASH_CUSTOM.
Ciò lo si effettua utilizzando un tool dedicato.