Using templates
Error creating thumbnail: File missing Language: |
English • français |
---|
The gwd server produces HTML code displayed by the client browser according to instructions stored in text files. Examples of such files are:
- welcome.txt the welcome page shown when you connect to
localhost:2317/basename
. - perso.txt the page that displays one individual of the base.
- updfam.txt the page containing the form to update a family.
A template is a set of such files organized into a coherent user interface. Template files are stored in folders named distribution/gw/etc/template_name
and bases/etc/basename/template_name
. Note that when searching for a template file, GeneWeb will search in the following order:
bases/etc/basename/file
bases/etc/template_name/file
distribution/gw/etc/template_name/file
distribution/gw/etc/file
?
If no file is found, then the search continues with the list of templates defined by the configuration variable template
found in base.gwf
.
As a result, you may limit your editing to the file whose content you want to change. All the other files will be found in the default folder according to the sequence above.
Templates are invoked by adding (through a clickable button if available, or manually if not) templ=templ_name;
in the URL at the top of your browser. GeneWeb will "remember" this request for a template use and will automatically add the appropriate text in all subsequent URL requests.
See the experts section for further discussion on template programming.
Personnalisation Modules
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_i=individual perso_module_p=parents perso_module_u=unions
Each module can be displayed with a choice of options.
The display of modules on a personnal pages will be governed by a vector defining a selection amongst the modules above, the order in which they are displayed and the chosen option.
The vector appears as a string of letters and digits.
Each pair "letter, digit" identifies the selected module,
and the value of its display options
The modules are displayed in the order in which they appear in the p_mod
parameter as
in the example below, "gd_parents", "individual", "parents", "unions", ...
p_mod=g1i1p1u1r1c1f1s1
Selecting p_mod=p1p2p3p4p5
will display all five options for the module parents
.
The menubar of the perso.txt
page provides an interface to change the value of this p_mod
parameter and to select options. As the mouse hovers on the option button, a pop-up showing the general aspect of the chosen option will appear. On the rignt of the selection window, thise pop-ups will accumulate representing the resulting page..
You may choose any set of (single) letters (a-z) to designate modules.
The default configuration file a.gwf
provides the list of available modules. Users have the possibility to add their own modules to be stored in the folder:
bases/etc/perso_modules/new_module.txt
Note that the value of p_mod
can be stored in the base.gwf
parameter file. GeneWeb copies this value automatically in each URL in a fashion similar to the templ=
variable.
It may therefore be stored in a shortcut memorised by your browser. This is particularly usefull in the case of multi-user GeneWeb servers as GeneWeb cannot remember a user specific profile.
A graphical user interface facilitates the module and option selection. Thumbnails provide a graphical hint of the visual aspect of each option, and the right colums of the menu displays a mock-up of the resulting page. Personnal modules added by the user do not show up in this interface, but may be added through some editing of the gw/etc/p_mod.js
file (use existing modules fas examples).
Several modules have their own visual adjustment buttons (number of generations, with or without images, with or without half brothers ans sisters, ...).
Perso.txt
The file perso.txt
controls the display of information associated with each person. Two modes of operation are provided through the following structure:
Import of utilities functions and menu bar.
%import;perso_utils; %include.menubar;
Two display modes:
1/ two columns, fixed set of modules
%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/ One column. Modules modules labeled from a to z as defined in base.gwf
and governed by the p_mod
variable.
%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;
Examples of module definitions:
perso_module_i=individu perso_module_p=parents perso_module_u=unions perso_module_f=fratrie perso_module_r=relations perso_module_c=chronologie perso_module_n=notes perso_module_s=sources perso_module_a=arbres perso_module_g=gr_parents perso_module_l=ligne
Examples
The result corresponding to each choice is as follows:
(These examples ware taken from a version 6 instance. Version 7 of GeneWeb may provide somewhat different results).
File name | Example |
---|---|
etat_civil | Error creating thumbnail: File missing |
parent_simple | Error creating thumbnail: File missing |
parent_evolue | Error creating thumbnail: File missing |
parent_complet | Error creating thumbnail: File missing |
parent_photo | Error creating thumbnail: File missing |
union_simple | Error creating thumbnail: File missing |
union_evolue | Error creating thumbnail: File missing |
union_complet | Error creating thumbnail: File missing |
union_photo | Error creating thumbnail: File missing |
freresoeur_simple | Error creating thumbnail: File missing |
freresoeur_complet | Error creating thumbnail: File missing |
famille | Error creating thumbnail: File missing |
relations | Error creating thumbnail: File missing |
notes | Error creating thumbnail: File missing |
sources | Error creating thumbnail: File missing |
timeline | |
arbre_3gen_v | Error creating thumbnail: File missing |
arbre_nav3_photo | Error creating thumbnail: File missing |
arbre_4gen_v | Error creating thumbnail: File missing |
arbre_5gen_h | Error creating thumbnail: File missing |
GeneWeb Manual
- Download and install GeneWeb program under GNU/Linux, Mac OS X, Microsoft Windows, FreeBSD; on Mac OS X, Linux or Windows using Docker; or in CGI mode behind a web server.
- Understand GeneWeb server, homonym, consanguinity.
Use and manage genealogical databases
- Import Gedcom
.ged
or GeneWeb.gw
files with gwsetup or in command-line. - Update datas (add/remove individuals and families), merge duplicates, type dates.
- Use wikitext syntax, macros, keyboard shortcuts.
- Clean, recover, rename, save, archive a database.
- Merge and split multiples databases.
Technical annex
- Personalize CSS, header and trailer, templates, lexicon and declension.
- Configuration file
.gwf
(for templm), wizard notes, passwords for friends/wizards and access restrictions to databases. - Add images in notes, further remarks for experts.