| author | ymh <ymh.work@gmail.com> |
| Tue, 03 Dec 2013 13:54:30 +0100 | |
| changeset 160 | 470ea7806537 |
| parent 158 | 03fea67e18e9 |
| permissions | -rw-r--r-- |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
1 |
:tocdepth: 4 |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
2 |
:tocmaxdepth: 3 |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
3 |
|
| 121 | 4 |
********* |
5 |
Évolution |
|
6 |
********* |
|
7 |
||
8 |
Internationalisation |
|
9 |
==================== |
|
10 |
||
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
11 |
Le système d'internationalisation (i18n) utilise le mécanisme fourni par Django. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
12 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
13 |
Il est documenté aux adresses suivantes : |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
14 |
* https://docs.djangoproject.com/en/1.5/topics/i18n/ et |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
15 |
* https://docs.djangoproject.com/en/1.5/topics/i18n/translation/ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
16 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
17 |
Ce mécanisme est basé sur l'utilitaire `gettext <http://www.gnu.org/software/gettext/manual/gettext.html#Concepts>`_. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
18 |
|
| 158 | 19 |
En particulier, dans l'arborescence des sources de l'application, les fichiers ``src/p4l/locale/*/LC_MESSAGES/django.[po,mo]`` sont les fichiers de ressources de langues. |
20 |
Les fichier éditable sont les fichiers ``.po``. |
|
| 121 | 21 |
|
| 158 | 22 |
Deux commandes d'administration sont fournies par Django pour gérer les fichiers de ressources de traduction: |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
23 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
24 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
25 |
* ``makemessages`` : https://docs.djangoproject.com/en/1.5/ref/django-admin/#django-admin-makemessages. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
26 |
C'est la commande permettant la création et la mis ā jour des fichiers ``.po``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
27 |
Cette commande extrait des fichier sources de l'application les chaîne de caractères à traduire et les places dans les fichier ``.po``. |
| 158 | 28 |
Typiquement, on ne lancera cette commande que si de nouvelles chaînes à traduire sont ajoutées dans l'application. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
29 |
|
| 158 | 30 |
* ``compilemessages`` : Compile les fichiers ``.po`` constitués par la commande précédente afin que les traduction soit prise en compte. |
31 |
Cette commande produit les fichier ``.mo``. |
|
| 121 | 32 |
|
| 158 | 33 |
Ces commandes peuvent être lancées de plusieurs façons. Le plus simple est de les lancer depuis le répertoire ``src/p4l`` et avec l'utilitaire ``django-admin.py``. |
|
147
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
34 |
Ce dernier est installé lors de l'installation de Django. |
| 158 | 35 |
Dans le cas de l'utilisation d'un environnement virtuel, il se trouve dans le répertoire ``bin``, et de fait dans le "PATH" lorsque l'environnement virtuel est activé. |
|
147
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
36 |
La suite des commandes pour |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
37 |
|
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
38 |
.. code-block:: bash |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
39 |
|
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
40 |
$ cd src/p4l |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
41 |
$ django-admin.py makemessages -a |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
42 |
<edition des fichiers .po> |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
43 |
$ django-admin.py compilemessages |
|
e4d53c64f0d0
Evolution doc correction for i18n. fix bug #7 (https://github.com/IRI-Research/plan4learning/issues/7)
ymh <ymh.work@gmail.com>
parents:
144
diff
changeset
|
44 |
|
| 121 | 45 |
|
| 158 | 46 |
Modification des champs |
| 121 | 47 |
======================= |
48 |
||
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
49 |
La modification de la liste des champs traitée par le back-office nécessite des changements a plusieurs niveaux. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
50 |
Voici une liste des points à modifier. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
51 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
52 |
* Dans la :ref:`configuration <evol-config>` (``settings.py``) : les propriétés ``SPARQL_REF_QUERIES`` et ``RDF_SCHEMES`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
53 |
* :ref:`Évolution du schéma <evol-schema>` de la base de données |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
54 |
* :ref:`Modification du parser <evol-parser>` pour l'import. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
55 |
* :ref:`Modification du sérialiseur <evol-serializer>` pour l'export |
| 158 | 56 |
+ Modification de la constante ``p4l.mapping.constants.GRAPH_NAMESPACES`` |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
57 |
* :ref:`Modification du serialiseur rest <evol-rest-serializer>`. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
58 |
* |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
59 |
* modification de l'écran d'affichage du :ref:`détail <evol-detail>` d'une notice. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
60 |
* modification de l'écran d':ref:`édition <evol-edition>` d'une notice. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
61 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
62 |
La description de ces modifications se base sur la condition que le type de champ ajouté est le même qu'un champ déjà existant. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
63 |
La création d'un nouveau type de champ est hors du scope de cette documentation, |
| 158 | 64 |
Mais l'examen attentif des points suivants pourront être un point de départ pour le développement. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
65 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
66 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
67 |
.. _evol-config: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
68 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
69 |
Modification de la configuration |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
70 |
-------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
71 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
72 |
Cette modification concerne seulement les champs dont la(es) valeur(s) est(sont) contrôlé(s) par un référentiel. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
73 |
Les deux propriétés concernées sont ``SPARQL_REF_QUERIES`` et ``RDF_SCHEMES``. ce sont deux dictionnaires ayant les mêmes valeurs de clef. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
74 |
Chaque clef correspond à un référentiel. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
75 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
76 |
.. _evol-config-SPARQL-REF-QUERIES: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
77 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
78 |
``SPARQL_REF_QUERIES`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
79 |
^^^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
80 |
|
| 158 | 81 |
les valeurs de ce dictionnaire sont elle même un dictionnaire qui contient les requêtes SPARQL d'exploration des référentiels. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
82 |
les clés suivantes sont à renseigner: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
83 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
84 |
* ``url`` : url du endpoint pour ce référentiel. On n'y mettra ``SPARQL_QUERY_ENDPOINT`` la plupart du temps. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
85 |
* ``filter`` : requête filtrant les entrées du référentiel selon une partie de terme. |
| 158 | 86 |
Cette requète est utilisé pour faire de l'auto complétion. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
87 |
* ``root`` : Requête qui donne les racines des référentiels en arbre et l'ensemble des termes pour les autres |
| 158 | 88 |
* ``childs`` : Requête donnant les enfants d'un nœud particulier pour les référentiel "arbre". |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
89 |
Cette clé n'a pas besoin d'être renseigné pour les autres. |
| 158 | 90 |
* ``child-count`` : Nombre d’enfants pour 1 nœud d'un référentiel arbre. N'a pas besoin d'être renseignée pour les autres. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
91 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
92 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
93 |
``RDF_SCHEMES`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
94 |
^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
95 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
96 |
Ce dictionnaire donne les uri des ``scheme`` des référentiels. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
97 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
98 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
99 |
.. _evol-schema: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
100 |
|
| 158 | 101 |
Modification du schéma de la base de donnée |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
102 |
------------------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
103 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
104 |
Modification du modèle Django |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
105 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
106 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
107 |
La première étape consiste à modifier le modèle Django. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
108 |
La documentation Django sur les modèle se trouve à l'url suivante https://docs.djangoproject.com/en/1.5/topics/db/models/ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
109 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
110 |
le modèle du projet se trouve dans ``src/p4l/models`` et en particulier la définition d'une notice (objet ``Record``) dans ``src/p4l/models/data.py``. |
| 158 | 111 |
Ce fichier contient toute les définitions des champs actuellement utilisés et pourra servir de base d'exemple pour les évolutions envisagées. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
112 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
113 |
Attention, contrairement à la documentation Django, il ne faut pas appliquer pas la commande ``syncdb`` pour mettre à jour le schema de la base de donnée. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
114 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
115 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
116 |
Utilisation de South |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
117 |
^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
118 |
|
| 158 | 119 |
Pour assurer la gestion des migration de modèle de donnée sur des base en production nous utilisons le module Django South : http://south.aeracode.org/. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
120 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
121 |
L'utilisation de ce module passe par la création de migrations. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
122 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
123 |
En particulier nous suivons l'exemple donné à l'url suivante: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
124 |
http://south.readthedocs.org/en/latest/tutorial/part1.html#changing-the-model |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
125 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
126 |
Les commandes ajoutées par South sont documentées à l'adresse suivante : |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
127 |
http://south.readthedocs.org/en/latest/commands.html |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
128 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
129 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
130 |
.. _evol-parser: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
131 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
132 |
Modification du parser pour l'import |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
133 |
------------------------------------ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
134 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
135 |
L'import des notice au format rdf se fait avec la commande ``import_record`` (cf :ref:`admin-import-record`). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
136 |
Cette commande sépare le fichier rdf en sous graphes rdf, un par objet ``Record``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
137 |
Ces graphes sont alors pris en présent à un parser qui se charge de leur transformation en objets ``Record``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
138 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
139 |
Le parser est définit dans le fichier ``src/p4l/mapping/parsers.py``, plus particulièrement dans la classe ``RecordParser``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
140 |
La définition des champs et des sous-objets se fait dans la méthode ``build_record``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
141 |
|
| 158 | 142 |
Le parsing des données du graphe se fait en fait à l'aide de deux méthodes principales définies sur la classe ``RecordParser``: |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
143 |
|
| 158 | 144 |
* ``extract_single_value_form_graph`` : permet d'extraire une valeur simple du graphe. Elle est utilisée pour les champs simples monovalués. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
145 |
* ``extract_multiple_values_from_graph`` : Gère l'ajout d'objet à un gestionnaire d'objets liés ("related object manager" : https://docs.djangoproject.com/en/1.5/ref/models/relations/). |
| 158 | 146 |
Les données nécessaires pour la création des objets sont extraites du graphe. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
147 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
148 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
149 |
Points à noter: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
150 |
|
| 158 | 151 |
#. Les champs simples doivent être positionnés avant la sauvegarde de la notice (appel à la méthode save du modèle ``Record``). |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
152 |
Par contre les champs complexes (sous objets, champs multivalués,...) doivent être traités après l'appel à ``.save()`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
153 |
#. Lorsqu'une notice est mise à jour, l'objet ``Record`` et ces dépendances sont effacés et recréés |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
154 |
#. Sauf pour les champs gérés par un référentiel, ll y a une relation d'aggregation entre l'objet ``Record`` et ses sous objets. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
155 |
Dans le cas des champs complexes avec référentiel, c'est une relation multiple (many to many). |
| 158 | 156 |
Dans ce cas lors de l'effacement d'un object ``Record``, seul les entrées dans les tables de liaison sont effacées. Les entrées dans les tables de référentiel ne sont pas affectées. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
157 |
#. Sur les champs avec référentiel, il n'y a pas de validation. Les entrées dans les tables de référentiels sont crées à la demande, sans validation par rapport au repository Sésame. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
158 |
#. L'ensemble de la création (ou de l'effacement) d'un objet ``Record`` et de ces dépendances est fait dans une transaction. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
159 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
160 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
161 |
.. _evol-serializer: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
162 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
163 |
Modification du serialiseur pour l'export |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
164 |
----------------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
165 |
|
| 158 | 166 |
L’export des notices au format rdf se fait avec la commande ``dump_record`` (cf :ref:`admin-dump-record`). |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
167 |
Chaque objet ``Record`` concerné par l'export est transformé en graphe rdf par un serialiseur. Le graphe rdf est ensuite sérialisé en xml. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
168 |
|
| 158 | 169 |
Le serializer est défini dans le fichier ``src/p4l/mapping/__init__.py`` et fait appel à des ressources se trouvant dans ``src/p4l/mapping/serializers.py``. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
170 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
171 |
Les interfaces définies dans ce modules sont inspirées de celle proposée par le module ``Rest framework`` que nous utilisons par ailleurs (cf. :ref:`evol-rest-serializer`). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
172 |
En particulier on pourra lire la documentation des ``serializer``: http://django-rest-framework.org/api-guide/serializers.html . |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
173 |
|
| 121 | 174 |
|
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
175 |
.. _evol-rest-serializer: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
176 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
177 |
Modification du serialiseur REST |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
178 |
-------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
179 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
180 |
Une partie de l'application (l'édition des notices) dépend d'interface REST proposant du JSON. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
181 |
Pour cela nous utilisons le module "Django REST Framework". |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
182 |
La documentation de ce module se trouve à l'adresse suivante : http://django-rest-framework.org/ . |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
183 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
184 |
La classe à modifier est ``RecordSerializer`` qui se trouve dans le fichier ``src/p4l/api/serializers.py``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
185 |
La documentation sur les ``serializer`` du Rest Framework est à l'adresses suivante : http://django-rest-framework.org/tutorial/1-serialization.html. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
186 |
La documentation de l'api des serializer se trouve aux url suivantes : http://django-rest-framework.org/api-guide/serializers.html, http://django-rest-framework.org/api-guide/fields.html, http://django-rest-framework.org/api-guide/relations.html. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
187 |
|
| 158 | 188 |
Nous utilisons les mécanismes standards de sérialisation du ``REST Framework``. Nous avons juste adapté les points suivants: |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
189 |
|
| 158 | 190 |
* Pour les champs contrôlés par un référentiel, le mécanisme standard du ``REST Framework`` est d'accepter les valeurs que si elle sont déjà présente dans la base. |
191 |
Nous avons changé ce comportement pour accepter toutes les valeurs et de créer les nouvelles à la demande. Ceci a été fait pour simplifier la gestion des référentiels et la centraliser en amont du back office. |
|
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
192 |
Ceci est implémenté dans la classe ``p4l.api.serializers.ThesaurusSerializer``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
193 |
* Pour les champs multiples et les sous-objets, l'ID de l'objet en base n'est pas sérialisée. Ceci se trouve dans la classe ``p4l.api.serializers.P4lModelSerializer``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
194 |
* Lors d'un update, les sous-objets sont effacés puis recréés. cela a pour conséquence qu'un update partiel n'est pas possible. A chaque requête de mise à jour, l'ensemble de l'objet ``Record`` et de tous ses sous-objets doit être envoyé à l'API REST d'update. |
| 158 | 195 |
* Une modification du seerializer REST n'est nécessaire que si le nouveau champ est contrôlé par un référentiel (bien sur si ce nouveau champ est d'un type déjà supporté par l'application). |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
196 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
197 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
198 |
.. _evol-ref-labels: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
199 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
200 |
Modification de la récupération des labels des champs contrôlés par référentiel |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
201 |
------------------------------------------------------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
202 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
203 |
L'application ne gère pas les labels des valeurs des champs contrôlés par référentiel. |
| 158 | 204 |
Pour l'affichage des notices il est donc nécessaire de préalablement requêter tous ces labels. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
205 |
|
| 158 | 206 |
La requête se fait dans la méthode ``p4l.views.fill_label_for_model`` (dans le fichier ``src/p4l/views.py``). |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
207 |
Cette méthode retourne un dictionnaire où les clefs sont les uri des termes, et les valeurs les labels correspondants dans la langue demandées. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
208 |
|
| 158 | 209 |
Bien sur aucune modification n’est nécessaire si le champ ajouté ou modifié n'introduit pas un nouveau référentiel. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
210 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
211 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
212 |
.. _evol-detail: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
213 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
214 |
Modification de l'écran de détail |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
215 |
--------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
216 |
|
| 158 | 217 |
L'écran de détail d'une notice (cf. :ref:`interface-detail`) utilise le couple classique vue/template Django. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
218 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
219 |
La documentation Django sur les vues est à l'url suivante : https://docs.djangoproject.com/en/1.5/topics/class-based-views/. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
220 |
La documentation Django sur les template est ici : https://docs.djangoproject.com/en/1.5/topics/templates/. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
221 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
222 |
La vue d'affichage du détail d'une notice est générée par la classe suivante : ``p4l.views.RecordDetailView`` (dans le fichier ``src/p4l/views.py``). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
223 |
Le template d'affichage du détail est le suivant : ``src/templates/p4l/record_view.html``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
224 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
225 |
Normalement seul le template a besoin d'être modifié. Les champs déjà présents pourront être pris comme exemple pour introduire le nouveau champ. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
226 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
227 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
228 |
.. _evol-edition: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
229 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
230 |
Modification de l'écran d'édition |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
231 |
--------------------------------- |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
232 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
233 |
Comme pour l'écran de détail, l'écran d'édition d'une notice (c.f. :ref:`interface-edit`) utilise un couple vue/template Django. (c.f. :ref:`evol-detail` pour les url de documentation Django) |
| 158 | 234 |
Par contre les fonctionnalités de cette page sont nettement plus complexes dans leur mise en œuvre. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
235 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
236 |
La vue d'édition d'une notice est générée par la classe suivante : ``p4l.views.RecordEditView`` (dans le fichier ``src/p4l/views.py``). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
237 |
Le template d'affichage du détail est le suivant : ``src/templates/p4l/record_update_form.html``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
238 |
Par ailleurs la vue d'édition est en fait une véritable application web ("webapp") basée sur la librairie Angularjs (http://angularjs.org/). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
239 |
Elle est implémentée dans le fichier ``src/p4l/static/p4l/js/p4l.js``. |
| 158 | 240 |
La page fait aussi appel à des ressources (des templates) dans le répertoire ``src/p4l/static/p4l/template``. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
241 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
242 |
Normalement, seul les fichiers template Django ``src/templates/p4l/record_update_form.html`` ou bien angular ``src/p4l/static/p4l/templates`` auront besoin d'être modifiés pour ajouter ou modifier un champs d'un type déjà existant. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
243 |
|
| 158 | 244 |
Lors du chargement de la page d'édition, les données de la notice sont chargées à partir de la couche d'API REST sous forme d'objets sérialisés en JSON. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
245 |
Ces données viennent remplir le "modèle" de l'appli web. |
| 158 | 246 |
Ce modèle est ensuite exploité dans une série de directives Angularjs (c.f. http://docs.angularjs.org/guide/directive) qui permettent l’édition des différents champs et sous-objets de la notice. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
247 |
Lors de la sauvegarde, ce modèle est sérialisé en JSON et soumis par requête http à la couche d'API REST de l'application. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
248 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
249 |
Le formulaire d'édition utilise 4 types d'éléments pour gérer les différents champs et sous-objets de l'objet notice. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
250 |
|
| 158 | 251 |
* Pour les champs simples: des contrôles html (``input``, ``textarea``...) liés au modèle dans un formulaire Angularjs (http://docs.angularjs.org/guide/forms) |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
252 |
* Pour les champs simples liés à un référentiel : la directive :ref:`simple-sem-uri <evol-edition-simple-sem-uri>`. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
253 |
* Pour les champs complexes liés à un référentiel : la directive :ref:`add-sem-uri <evol-edition-add-sem-uri>`. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
254 |
* Pour les champs complexes autres (sous-objets) : la directive :ref:`object-list <evol-edition-object-list>`. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
255 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
256 |
Les contrôles html et l'usage qu'Angularjs en fait sont documentés dans la référence d'API : http://docs.angularjs.org/api/. |
| 158 | 257 |
Le reste des directives est documenté ci-après et on pourra se baser sur les champs existant pour avoir des exemple d'utilisation. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
258 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
259 |
.. _evol-edition-simple-sem-uri: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
260 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
261 |
Directive ``simple-sem-uri`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
262 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
263 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
264 |
* ``val`` : le champ du modèle lié à cette directive. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
265 |
* ``listname`` : Une des clefs du paramètre de configuration ``SPARQL_REF_QUERIES`` (c.f. :ref:`evol-config-SPARQL-REF-QUERIES`) |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
266 |
* ``placeholder`` : texte d'aide du champs de saisie pour le référentiel. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
267 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
268 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
269 |
.. _evol-edition-add-sem-uri: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
270 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
271 |
Directive ``add-sem-uri`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
272 |
^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
273 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
274 |
* ``list`` : le champ du modèle lié à cette directive, ce doit être une liste (champ multivalué). |
| 158 | 275 |
* ``listname`` : Une des clefs du paramètre de configuration ``SPARQL_REF_QUERIES`` (cf. :ref:`evol-config-SPARQL-REF-QUERIES`) |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
276 |
* ``placeholder`` : texte d'aide du champs de saisie pour le référentiel. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
277 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
278 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
279 |
.. _evol-edition-object-list: |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
280 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
281 |
Directive ``object-list`` |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
282 |
^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
283 |
|
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
284 |
* ``form-template`` : nom d'un template pour l'édition des sous-objets. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
285 |
* ``disp-template`` : nom d'un template pour gérer l'affichage des sous-objets. Ce paramêtre est optionnel en mode table. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
286 |
Si ce paramêtre est vide, un template est automatiquement généré. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
287 |
* ``object-list`` : le champ du modèle lié à cette directive, ce doit être une liste (champ multivalué). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
288 |
* ``object-fields`` : Liste des champs du sous-objet à afficher en mode table. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
289 |
* ``table`` : Affiche les sous objets en table ou pas. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
290 |
* ``size-fields`` : Largeur des colonnes pour le mode table. L'ordre des colonnes est le même que pour ``object-fields``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
291 |
L'unité est une colonne définie par le système de grille Bootstrap : http://getbootstrap.com/css/#grid. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
292 |
* ``label-fields`` : Label des colonnes pour le mode table. Ces labels sont traduits. L'ordre des colonnes est le même que pour ``object-fields``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
293 |
|
| 158 | 294 |
Les templates définis par les paramètres ``form-template`` et ``disp-template`` se trouvent dans le répertoire ``src/p4l/static/p4l/templates``. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
295 |
Ce sont des templates Angularjs (c.f. http://docs.angularjs.org/guide/dev_guide.templates). |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
296 |
Pour les template ``form-template``, l'objet édité est dans la variable ``editedObj``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
297 |
Pour les template ``disp-template``, l'objet édité est dans la variable ``obj``. |
|
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
298 |
Les templates existant donneront des exemples d'utilisation et pourront servir de base pour l'ajout d'un nouveau champ. |
|
144
8c32ea1310de
In the edit screen documentCode should have a lang field.
ymh <ymh.work@gmail.com>
parents:
137
diff
changeset
|
299 |
Attention, ce sont des ressources statiques pour l'application. |
|
8c32ea1310de
In the edit screen documentCode should have a lang field.
ymh <ymh.work@gmail.com>
parents:
137
diff
changeset
|
300 |
Si ils sont modifiés, la commande ``collectstatic`` doit être lancée afin qu'ils soient correctement déployés et pris en compte par Angular. |
|
137
bb8bf2688d7e
- Finish and correct documentation
ymh <ymh.work@gmail.com>
parents:
121
diff
changeset
|
301 |
|
| 158 | 302 |