Utilisation des templates
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 exemples 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/
où -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 base.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.
Consultez la page experts pour la programmation des templates.
Modules de personalisation
La version 7 de GeneWeb offre une 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!).
exemple extrait du fichier de référence a.gwf (version 7.0.0)
perso_module_i=individu perso_module_p=parents perso_module_f=fratrie ...
Associée à ces modules, la variable contextuelle 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 qui pourra modifier le comportement du module. Cette variable contextuelle 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 : "individu" (option 1), "parents" (option 2), "fratrie" (option 3) et "unions" (option 1).
p_mod=p_mod=i1p2f3u1
Dans cet autre exemple
p_mod=i1l1i2l1i3l1i4
on affichera les quatre variantes du module individu
séparées par une ligne horizontale.
- pour la version 7.0.0 le fichier de configuration par défaut a.gwf donne la liste des modules actuellement disponibles.
- pour la version 7.1 (pour la version beta après le cid référencé ci-dessous) la liste par défaut des modules est maintenant écrite en dur dans le fichier source etc/perso_utils.txt tel que documenté dans le git cid 81a6acbdd
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
On notera que la valeur du paramètre p_mod
peut être conservée dans le fichier base.gwf de votre base. Elle est reportée dans l'URL (au même titre que la variable templ
) et peut donc être mémorisée dans l'URL d'un raccourci conservé dans votre navigateur. Cette dernière approche sera particulièrement utile pour les utilisateurs d'un service tel que la base Roglo. En effet, GeneWeb ne sait pas conserver un profil spécifique à chaque visiteur.
Une interface graphique permet la sélection et le choix des options. L'affichage de vignettes permet de se rendre compte de l'aspect global de chaque option et de la page résultant de leur assemblage. Les modules personnels ajoutés par l’utilisateur n'apparaissent pas dans l'interface graphique mais restent accessibles en éditant manuellement le vecteur p_mod=
. Pour les faire apparaître dans l’interface graphique, il faut éditer le fichier gw/etc/p_mod.js
en s'inspirant des modules existants.
Certains modules disposent eux mêmes de boutons permettant de faire varier leur comportement (avec ou sans images, avec ou sans les demi-frères et soeurs, nombre de générations, etc)
On notera sur cette interface le bouton le plus à droite qui active le premier mode d'affichage prédéfini p_mod=zz
sur deux colonnes décrit dans la section perso.txt
.
à propos du module chronologie la liste chronologique de tout les événements n'est affichée que si il existe au moins un évènement autre que ceux par défaut (birth, baptism, mariage, death and burial) néenmoins on peux suprimer ou forcer l'affichage de cette liste avec la variable has_events=never/always
comme déjà décrit dans expert#Note_for_has_event_(v7)
Perso.txt
Le fichier perso.txt
gère l'affichage des pages d'informations associées à chaque individu avec la structure d'ensemble suivante :
Import des fonctions utilitaires et affichage de la barre de menus.
%import;perso_utils; %include.menubar;
Deux modes d'affichage :
1/ affichage sur deux colonnes, données fixes
%if;(p_mod="zz") %(Statique%) %( two columns if screen_width>=992px but full width for tablets/phone < 992px %) %if;(has_parents and (father.has_parents or mother.has_parents)) <div class="collapse" id="collapseExample1"> %let;op_m;1%in;%apply;show_templ("perso_module/gr_parents") </div> %end; <div class="row"> %(be carefull h1 is full width then an opening <div class="col-8"> in individu module %) %let;op_m;3%in;%apply;show_templ("perso_module/individu") %let;op_m;2%in;%apply;show_templ("perso_module/unions") %let;op_m;1%in;%apply;show_templ("perso_module/chronologie") %let;op_m;1%in;%apply;show_templ("perso_module/notes") %let;op_m;2%in;%apply;show_templ("perso_module/sources") </div> %( closing the <div class="col-8"> in module individu %) <div class="d-none d-lg-block col-lg-4">%(second column above lg%) %let;op_m;2%in;%apply;show_templ("perso_module/arbre_3gen_photo") %let;op_m;1%in;%apply;show_templ("perso_module/fratrie") %let;op_m;1%in;%apply;show_templ("perso_module/relations") </div> </div>
2/ affichage sur une colonne. Modules de a à z tels que définis dans le fichier .gwf
et gouvernés par le vecteur de modules/options défini dans la variable p_mod
%else;(p_mod!="") %(Dynamic %) %for;i;0;p_mod_nbr; %let;mmi;%apply;mm(i)%in; %let;ooi;%apply;oo(i)%in; %if;(mmi!="" and ooi!=0) %apply;get_mod(mmi, ooi) %end %end; %end;
Exemples
Chaque sous-module produit les résultats ci-dessous :
(les exemples ci dessous sont extraits d'une version 6, et peuvent être différents avec la version 7)
Fichier | Exemple |
---|---|
personnal_data | |
parents, option=1 | |
parents, option 2 | |
parents, option 3 | |
parent, option 4 | |
unions, option 1 | |
unions, option 2 | |
unions, option 3 | |
unions, option 4 | |
siblings, option 1 | |
siblings, option 2 | |
family | |
relations | |
notes | |
sources | |
timeline | |
trees, option 3 | |
trees, option 1 | |
trees, option 4 | |
trees, option 5 |
Manuel GeneWeb
- Télécharger et installer GeneWeb sous GNU/Linux, Mac OS X, Microsoft Windows, FreeBSD ou en mode CGI derrière un serveur web.
- Comprendre le principe du serveur GeneWeb, les homonymes, la consanguinité.
Utiliser et gérer une base généalogique
- Importer un fichier Gedcom
.ged
ou GeneWeb.gw
avec gwsetup ou en lignes de commandes. - Mettre à jour les données (ajouter/modifier/supprimer personnes et familles), fusionner les doublons, saisir des dates.
- Utiliser la syntaxe wikitext, les macros, les raccourcis claviers.
- Nettoyer, restaurer, renommer, sauvegarder, archiver une base.
- Fusionner plusieurs bases et diviser une base.
Annexe technique
- Personnaliser avec CSS, entête et pieds de page, templates, lexique et déclinaisons.
- Fichier de configuration
.gwf
(pour templm), mots de passe pour amis et magiciens et restrictions d'accès à une base. - Ajouter une image dans les notes.
- Autres commentaires pour les experts.