|Language:||English • français|
GeneWeb offers a plugin mechanism since its version 7.1 that allows functional extensions without impacting the core operation of the system.
Plugins are loaded by
gwd at launch time through the parameter
-plugin one_plugin (or
-plugins plugins_folder) pointing to the location of one plugin er a folder where several plugins are kept.
This launch parameter can be augmented with the option
-unsafe, allowing loading of unverified plugins, and
-force, forcing the load of this (or these) plugin for all bases.
In addition, the
.gwf parameters file must specify the list of plugins to activate for this base:
Implements a carrousel display function for multiple images associated with a person. Provides the functions to upload and manage these images.
The images are stored in
bases/src/basename/images/first_name.occ.surname. A text file of the same name as the image holds source and comments informations.
cgl plugin is an example of plugin whose function is limited to a post processing of the data produced by GeneWeb, removing in this data stream all occurrences of
This plugin supersedes the
cgl=on command one can add to the URL to ask for suppression of href links.
.gw format the content of a base.
Invoqued through a
m=EXPORT command with the following parameters:
output=GED/GWselect export format
Isolate in a plugin the forum functions.
opt=no_index parameter in the URL. Replaces non stable instances of
i=index by their stable values
The v7 plugin regroups in a single place the traditional V7 behavior of GeneWeb (over time a V8 plugin may offer a new set of templates).
All GUI related informations that were located in the
hd repository folder are (or will soon be) located in
.ml files (cousins, date, descend, interp, perso, place, some, sosa, srcfile, templ) implement slight (or significant) variations from the core GeneWeb behavior.
The following new commands are implemented in this plugin:
m=A;t=FCdisplays ancestry of a person in fan-chart format.
m=C;v1=x;v2=ycomputes number of “cousins” x levels up and y level down and draws a table of existing kinships.
m=Dprints descendants lists or tables using v7 template interpretor.
m=Lprints a list of persons (used with the
m=Pprints the list of persons with a given first_name, with additional options.
m=PSprints the list of surnames associated with a place for a given set of events (birth, baptism, marriage, death, burial).
m=TP;v=fileinterprets template file tp_file.txt (or tp0_file.txt if no person is associated with the request).
Isolates in a plugin the image manipulations functions.
This plugin inverts the order of the two data entry lines for the search of the welcome page, and proposes some additional behaviors during this search.
Development of plugins
Developers should explore existing plugins to infer the overall mechanism, but it should be noted that such development requires a good understanding of both the OCaml language and GeneWeb itself.
Developers will find plugins in the
plugins folder of the GitHub repository.
In the plugins folder, each plugin is in a subfolder named
make distrib will compile those plugins and install then in a
Associated ressources with each plugins, such as templates, images, lexicon entries, are located in an