Créer un document flexible manuellement 1/2
Last modified:
03/14/2006 10:37 AM
VERSIONS PRESENTES
* Zope : unreleased version, python
2.3.4, win32
* Python : Version 2.3.4 (#53, May 25
2004, 21:17:02)
* CPS : 3.2.4-1
*
Environnement Windows XP
1°) L'exemple choisi
L'exemple choisi est pris dans la vie courante : Une personne
(prénom/nom) a un certain nombre d'enfants (prénom/nom). Rien de plus
simple.
2°) Mécanisme
Le mécanisme à suivre est le suivant :
- Enregistrement des Schémas dans Portal_Schemas
- Enregistrement des Layouts dans Portal_Layouts
- Enregistrement du nouveau document dans Portal_Types
- Prise en compte du nouveau document dans les Workflows
- Tests
3°) Enregistrement des Schémas dans
Portal_Schemas
Attention à bien respecter
majuscule/minuscule à partir de maintenant.
Créer un "CPS Schema" nommé "Personne" et définir les deux fields "Nom" et
"Prenom" en "CPS String Field" (voir images ci-dessous).
De même, enregistrer le schéma "Enfants" : définir les deux champs
"Nom_enfant" et "Prenom_enfant" en "CPS String Field".
Si vous souhaitez indexer un champ, cocher la case "Indexed by searchable
text" (onglet "Properties" de chaque field).
3°) Enregistrement des Layouts dans
Portal_Layouts
Remarques :
Les widgets une fois créés apparaissent avec "w_" en pré-fixe.
Respecter majuscule/minuscule.
Le Type "Personne"
Dans Portal_Layouts, créer le CPS Layout "Personne" composé de deux "String
widget" : "Nom" et "Prenom".
Pour chaque widget (onglet "Properties") :
- Dans le champ "Fields",
indiquer le nom EXACT du field_id défini dans Portal_Schemas.
- Pour ce qui concerne les champs "Title" "Label
in view layout mode" et "Label in edit layout mode" je les renseigne avec
la valeur de "Fields" sauf quand il y a des noms
composés "x_y" ou j'indique "x y" afin de rendre l'affichage plus
lisible.
- Cochez la case "Required widget" pour rendre le champ obligatoire lors
de la saisie,
- renseigner "Display width" et "Maximum input width" avec la
taille requise du champ.
Dans l'onglet "Layout" de "Personne", ajouter les deux colonnes "Nom" et
"Prenom" : utiliser "Add Row" + sélection du widget.
Le Type "Enfants"
Dans Portal_Layouts, créer le CPS Layout "Enfants" composé de deux "String
widget" : "Nom_enfant" et "Prenom_enfant".
Pour chaque widget (onglet "Properties") mêmes remarques que précédemment :
- Dans le champ "Fields",
indiquer le nom EXACT du field_id défini dans
Portal_Schemas.
- Pour ce qui concerne les champs "Title" "Label
in view layout mode" et "Label in edit layout mode" :
idem
- case "Required widget" : idem
- "Display width" et "Maximum input width" : idem
Mais cette fois ajouter un nouveau
widget de type "Coumpound Widget" et appeler-le "Line".
Dans le champ "Fields" du widget (onglet "Properties") on indiquera les
deux widgets "Nom_enfant" et "Prenom_enfant". Voir image ci-dessous.
Si le type "Coumpound Widget" n'existe pas, créer-le dans
"Portal_widget_types".
Dans l'onglet "Layout" de "Enfants" : ne faites rien.
A Suivre dans "Créer un document
flexible manuellement 2/2"