Utilisation des templates

From GeneWeb
Revision as of 10:10, 19 November 2016 by Henri83 (Talk | contribs) (Modules de personnalisation)

Jump to: navigation, search
150px-Geographylogo svg.png Language: English • français

Le serveur gwd produit le code HTML affiché par votre navigateur à partir d'instructions conservées dans un fichier texte. Des examples de tels fichiers sont :

  • welcome.txt la page d'accueil de votre base lorsque vous vous connectez à localhost:2317/basename
  • perso.txt la page qui affiche les données spécifiques d'un individu
  • updfam.txt la page contenant le formulaire de saisie des éléments d'une famille

Un ensemble de fichiers constituant une interface utilisateur cohérente s'appelle un "template".

Les templates sont invoqués en ajoutant (avec un bouton cliquable si disponible, ou manuellement si non) le texte templ=templ_name; dans l'URL qui apparait et haut de votre navigateur. GeneWeb se "souviendra" de cette demande de template et insèrera le code correspondant dans toutes les URL à suivre (la variable templ fait partie des variables contextuelles de gwd).

Les fichiers d'un template sont stockés dans un dossier appelé geneweb/gw/etc/template_name.

Quand gwd a besoin d'un fichier, il le recherche successivement et dans cet ordre dans les endroits suivants :

bdir/etc/base/
gw/etc/template_name/
gw/etc/

-bdir est la valeur du paramètre -bd de gwd, et gw est le dossier dans lequel réside gwd.

Vous pouvez par conséquent vous limiter à l'édition d'un seul fichier, les autres seront trouvés dans les dossiers par défaut.

Modules de personnalisation

La version 7 de GeneWeb offre nouvelle manière pour personnaliser l'aspect de la page personnelle. Cette solution repose sur l'existence d'une liste de modules définis dans le fichier de configuration base.gwf en associant chaque module à une lettre entre a et z (attention à ne pas metrte de texte supplémentaire après le nom de l'option - ni espaces, ni commentaires!).

  perso_module_a=personnal_data
  options_personnal_data=1
  option_personnal_data=standard

  perso_module_b=parents
  options_parents=4
  option_parents_1=simple
  option_parents_2=evolved
  option_parents_3=complete
  option_parents_4=complete+photos

  perso_module_c=siblings
  options_siblings=4
  option_siblings_1=simple
  option_siblings_2=complete

Pour chaque module, d'autres variables définissent le nombre d'options et leurs caractéristiques.

Associée à ces modules, la variable p_mod= définira l'ordre dans lequel ces modules seront affichés, et pour chacun d'eux une valeur d'option comprise entre 0 et 9, et qui pourra modifier le comportement du module. Par exemple le vecteur

p_mod=c1a2b3

affichera d'abord le module siblings avec l'option 1, puis le module personnal_data avec l'option 2 et enfin le module parents avec l'option 3.

Le fichier de configuration par défaut a.gwf donne la liste des modules actuellement disponibles, sachant qu'il est toujours possible pour un utilisateur de rajouter ses propres modules qu'il conservera dans le dossier

bases/etc/perso_modules/nouveau_module.txt

La variable p_mod= ci-dessus est transférée dans l'URL (au même titre que la variable templ=) et une interface graphique devrait permettre la sélection, le choix des options et l'organisation interactive des modules.

Perso.txt

Le fichier perso.txt offre un moyen de personnalisation supplémentaire. Le code ci-dessous est auto-explicatif. (On notera l'évolution du nommage des fichiers vers anglais. La liste des fichiers est consultable dans le dossier gw/etc/perso_modules).


%import;perso_utils

%include.perso_header;

%if;(bvar.perso_module_tplnb="" or bvar.perso_module_tplnb=0)
  %apply;show_templ("perso_module/personnal_data")
  %apply;show_templ("perso_module/parents")
  %apply;show_templ("perso_module/unions")
  %apply;show_templ("perso_module/siblings")
  %apply;show_templ("perso_module/relations")
  %apply;show_templ("perso_module/timeline")
  %apply;show_templ("perso_module/notes")
  %apply;show_templ("perso_module/sources")
  %apply;show_templ("perso_module/trees")
%else;
  %for;i;0;bvar.perso_module_tplnb;
    %apply;get_templ(i)
  %end;
%end;

Pour la plupart des sous modules, plusieurs alternatives sont disponibles, et vous pouvez éditer perso.txt selon votre convenance.

drwxr-xr-x  23 Henri  staff    782  1 oct 22:26 .
drwxr-xr-x  64 Henri  staff   2176 15 oct 23:56 ..
-rw-r--r--   1 Henri  staff   3979  1 oct 22:26 tree_3gen_v.txt
-rw-r--r--   1 Henri  staff  12691  1 oct 22:26 tree_3gen_v_photo.txt
-rw-r--r--   1 Henri  staff  10477  1 oct 22:26 tree_4gen_v.txt
-rw-r--r--   1 Henri  staff  19592  1 oct 22:26 tree_5gen_h.txt
-rw-r--r--   1 Henri  staff   2303  1 oct 22:26 personnal_data.txt
-rw-r--r--   1 Henri  staff   7283  1 oct 22:26 family.txt
-rw-r--r--   1 Henri  staff   2964  1 oct 22:26 siblings.txt
-rw-r--r--   1 Henri  staff   1636  1 oct 22:26 notes.txt
-rw-r--r--   1 Henri  staff    785  1 oct 22:26 parents.txt
-rw-r--r--   1 Henri  staff   1877  1 oct 22:26 relations.txt
-rw-r--r--   1 Henri  staff    360  1 oct 22:26 sources.txt
-rw-r--r--   1 Henri  staff   1099  1 oct 22:26 timeline.txt
-rw-r--r--   1 Henri  staff   7374  1 oct 22:26 unions.txt

Ceci peut aussi être fait avec un ensemble de paramètres dans le fichier base.gwf.

perso_module_0=personnal_data
perso_module_1=parents
perso_module_2=unions
perso_module_3=siblings
perso_module_4=relations
perso_module_5=notes
perso_module_6=sources
perso_module_7=trees

Avec un dernier paramètre précisant le nombre total de sous-modules :

perso_module_tplnb=8

Examples

Chaque sous-module produit les résultats ci-dessous :


Fichier Example
personnal_data
Personal data.
parents, option=1
Parents (simple).
parents, option 2
Parents (more complex).
parents, option 3
Parents (full).
parent, option 4
Parents (with photo).
unions, option 1
Union (simple).
unions, option 2
Union (more complex).
unions, option 3
Union (full).
unions, option 4
Union (with photo).
siblings, option 1
Brothers and sisters (simple).
siblings, option 2
Brothers and sisters (full).
family
Family.
relations
Relations.
notes
Notes.
sources
Sources.
timeline
trees, option 3
Tree, vertical, 3 generations.
trees, option 1
Tree, vertical, 3 generations with photos.
trees, option 4
Tree, vertical, 4 generations.
trees, option 5
Tree, horizontal, 5 generations.

Manuel GeneWeb

Rembrandt Old Man Reading a Book.jpg

Utiliser et gérer une base généalogique

Annexe technique