Chapitre 8 Annexe
Ce chapitre contient différent éléments de références qui sont applicables pour tous les tutoriels.
8.1 CSV
Le format standard de CSV de Dynacase est :
- encodage :
UTF8
, - délimiteur de cellule :
;
, - délimiteur de texte : `` (chaîne vide).
Ce format est valide pour l'import et pour l'export des documents et des familles avec l'action importDocuments
.
8.2 Conventions de nommage
Module :
├── API/ ├── <APPLICATION> │ ├── <APPLICATION>.app │ ├── <APPLICATION>_init.php │ ├── Familles/ │ ├── Images/ │ ├── Layout/ ├── EXTERNALS/ ├── locale/ ├── STYLE/ ├── info.xml
Avec les éléments suivants :
-
API
contient les scripts, -
EXTERNALS
contient les aide à la saisie, -
STYLE
contient les styles, -
locale
contient les traduction, -
info.xml
contient les instructions pour la mise à jour et l'upgrade, -
<APPLICATION>
contient les fichiers associés à une application :-
<APPLICATION>/Familles
contient les fichiers définissant les familles, avec pour chaque famille :-
<APPLICATION>/Familles/<FAMILY_NAME>__STRUCT.csv
: Structure de la famille, -
<APPLICATION>/Familles/<FAMILY_NAME>__CLASS.php
: Classe contenant le code métier de la famille, -
<APPLICATION>/Familles/<FAMILY_NAME>__PARAM.csv
: Paramétrage de la famille, -
<APPLICATION>/Familles/<FAMILY_NAME>__DATA.csv
: Documents de paramétrage de la famille (profils, masques, contrôles de vue, etc.), -
<APPLICATION>/Familles/<FAMILY_NAME>__INIT_DATA.csv
: Documents d'initialisation appartenant à la famille<FAMILY_NAME>
.
-
-
<APPLICATION>
/action.<action_name>
.php : Fichier de contrôleur d'une action, -
<APPLICATION>
/Layout/<action_name
.html : Template HTML d'une action.
-
8.3 Script open office
Il existe un ensemble de scripts Libre Office / OpenOffice pour faciliter le développement d'une famille.
Vous pouvez le trouver ici.
Le script s'intègre en passant par le menu Macro
sous partie Libre office basic
.

Figure 133. Ajout d'un script
Ensuite la fenêtre suivante s'ouvre :

Figure 134. Ajout d'un script
Vous sélectionnez le module1
et le bouton éditer
. L'écran suivant est affiché :

Figure 135. Ajout d'un script
Vous copiez le contenu du fichier référencé ci-dessus à la place du script existant.
Vous pouvez ensuite ajouter les scripts en modifiant les menus : faites un clic droit sur la barre d'outils et
sélectionnez l'option Personnaliser la barre d'outil
.
Ce script intègre plusieurs macros :
-
color
, -
autoReset
,
setDefaultOption
-
Permet de remplir automatiquement les valeurs des colonnes -
E
(utilisé pour composer le titre), par défaut àN
; -F
(affiché dans la fiche résumé), par défaut àN
; -I
(visibilité), par défaut àW
; -O
(options), avec des valeurs par défaut en fonction du type d'attribut : -htmltext
:toolbar=Basic|toolbarexpand=no
, -enum
:bmenu=no|eunset=yes|system=yes
, -array
:vlabel=up
, -longtext
:editheight=4em
.Le script n'opère que sur les attributs pour lesquels cette colonne est vide.
autoNum
-
Permet de remplir automatiquement la colonne
H
(l'ordre d'affichage) des attributs Le script remplace l'ordre de tous les attributs, y compris ceux pour lesquels cette valeur est déjà définie. Il sépare- les attributs non structurants d'un pas de 10,
- les tableaux d'un pas de 10,
- les cadres d'un pas de 100,
- les onglets d'un pas de 1000.
Dans certains cas, il peut être nécessaire de forcer l'ordre d'un attribut (par exemple, dans le cas d'un héritage, pour positionner un attribut entre 2 attributs de la famille parente). Cela peut se faire en indiquant la valeur souhaitée dans la colonne
R
. La numérotation automatique poursuivra alors à partir de cette nouvelle valeur. setParent
- Permet de remplir automatiquement la colonne
C
(l'attribut encadrant) des attributs. Le script n'opère que sur les attributs pour lesquels cette colonne est vide. Le script se base sur l'ordre des attributs pour effectuer cette opération (il utilise le dernier encadrant rencontré comme parent).
Vous pouvez voir ci-dessous un exemple d'utilisation de ces scripts :

Figure 136. Exemple de construction
8.4 Développement rapide
Vous avez sûrement remarqué que le déploiement systématique des sources via le webinst est une action consommatrice en temps. Vous pouvez lors des phases de développement passer outre pour déployer de manière unitaire les différents fichiers :
- pour les fichiers
.csv
, vous devez :- déplacer le fichier sur le contexte d’exécution, le path où déposer le fichier est composé de la manière suivante :
- le path du contexte,
- le path du fichier dans les sources du module.
Par exemple, si vous souhaitez déplacer le fichier
./COGIP_AUDIT/COGIP_AUDIT_REFERENTIEL__PARAM.csv
et que le path de votre contexte est/var/www/dynacase/
vous devez déposer le fichier à l'emplacement/var/www/dynacase/COGIP_AUDIT/COGIP_AUDIT_REFERENTIEL__PARAM.csv
- vous connecter en SSH sur la machine virtuelle,
- vous connecter en
wiff
, - lancer la commande
./wsh.php --api=importDocuments --csv-enclosure='"' --file=<path_vers_le_fichier>
, ce qui donne en reprenant l'exemple ci-dessus./wsh.php --api=importDocuments --csv-enclosure='"' --file=./COGIP_AUDIT/COGIP_AUDIT_REFERENTIEL__PARAM.csv
- déplacer le fichier sur le contexte d’exécution, le path où déposer le fichier est composé de la manière suivante :
- pour les fichiers
.php
,.js
,.css
, vous devez :- déplacer le fichier sur le contexte d’exécution (en suivant la règle exposée ci-dessus),
- pour les fichiers
.php
,.html
, etc. le changement est immédiat, - pour les fichiers
.js
,.css
: attention Dynacase met en place du cache HTTP, vous devez donc vider le cache au niveau de votre navigateur, ou le désactiver,
- pour les fichiers
.po
: vous devez :- déplacer le fichier sur le contexte d’exécution (en suivant la règle exposée ci-dessus),
- vous connecter en SSH sur la machine virtuelle,
- vous connecter en
wiff
, - lancer la commande suivante :
programs/update_catalog
,
- pour les fichiers de définition d'application
.app
: ces fichiers nécessitent un re-déploiement.
Attention, ce mode de fonctionnement est strictement à prohiber en production et à réserver uniquement au développement de votre application.