Utilisation des templates

From GeneWeb
Revision as of 00:04, 30 January 2017 by Henri83 (Talk | contribs) (Module et options d'affichage (Version 7): p_mod config example)

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 de la distribution 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.

Si aucun fichier n'est trouvé, on parcours successivement les templates définis par la variable template du fichier de configuration .gwf.

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 mettre 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

Module et options d'affichage (Version 7)

La version 7 de GeneWeb propose une solution alternative à la sélection des modules et y rajoute la possibilité d'un choix d'options d’affichage.

Notez tout d’abord que le nom des modules a été remanié :

perso_module_0=personnal_data
perso_module_1=parents
perso_module_2=unions
perso_module_3=sinlings
perso_module_4=relations
perso_module_5=notes
perso_module_6=sources
perso_module_7=trees
perso_module_8=timeline
perso_module_9=gr_parents
perso_module-10=divider

Le fichier .gwf définit un nouvel ensemble de variables utilisant des lettres plutôt que des chiffres :

perso_module_a=personnal_data
perso_module_b=parents
options_parents=5
perso_module_c=unions
options_unions=5
perso_module_d=siblings
options_siblings=3
perso_module_e=relations
options_relations=2
perso_module_f=timeline
options_timeline=2
perso_module_g=notes
options_notes=2
perso_module_h=sources
options_sources=2
perso_module_i=trees
options_trees=8
perso_module_j=gr_parents
options_gr_parents=3
perso_module_z=divider

Chaque module peut être affiché selon le choix d'une option dont la valeur varie de 1 au chiffre précisé dans la variable options_module associés (la valeur par défaut est 1).

L'affichage des modules est gouverné par la valeur du paramètre p_mod qui définit le choix des modules, l'ordre d'affichage et l'option choisie. Ce paramètre est constitué par une succession de paires "lettre, chiffre", la lettre précisant le module et le chiffre l'option d'affichage. Ces paires apparaissent dans l'ordre d'affichage souhaité comme dans l'exemple ci-dessous : "gd_parents", "personnal_data", parents", "unions", ...

p_mod=j1a1b1c1d1e1f1g1h1i3


Le choix de p_mod=b1b2b3b4b5 affichera les cinq options du module [[c|parents}}.

La barre de menu de la page perso.txt fournit une interface pour changer la valeur du paramètre p_mod. Définir p_mod=zz à pour effet d'annuler l'utilisation de ce paramètre et de revenir à la page de présentation standard.

Il est possible d'associer aux modules n'importe quelle lettre unique entre "a" et "z".

Starting page for GeneWeb.

Examples

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

(les exemples ci dessous sont extraits d'une version 6, et peuvent varier légèrement avec la version 7)

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