Building requests to GeneWeb server
Language: | English • français |
---|
gwd is the GeneWeb server that accepts requests and returns results. Its interfaces are entirely web-based: it behaves like a HTTP server.
All query parameters are directly available in the URL window of your web browser to build links to GeneWeb pages.
They may be useful both to GeneWeb users, and to persons who, without knowledge of GeneWeb, may want to insert in some of their web documents a link to a page produced by a GeneWeb server that they may have found on the Web.
Welcome page of a GeneWeb database
The welcome page of a GeneWeb base can be found at an URL of the form http://server:port/base
where:
server
is the IP address or DNS name of the server hosting the GeneWeb daemon;port
is the TCP port on which the daemon is listening, the default value being 2317 for base access with gwd and 2316 for management with gwsetup (these two parameters may be changed at launch time of these two programs);base
is the name of the GeneWeb database.
To ease things, gwd opens up by displaying the standard page welcome.txt
on which a multiplicity of text capture zones and clickable buttons provides a convenient way to build a complex request.
When further navigating with GeneWeb, you will discover that your requests translate into URL which contains a command (action) and related parameters (data).
Starting the gwd server
GeneWeb server gwd is a web server listening for requests on TCP port 2317 by default, in the same way a standard HTTP server, such as Apache, would do on port 80 or 8080. Gwd accepts a specific set of URL following a precise syntax (see below) describing all the commands it can perform. Results are returned as text and if the URL request was sent from a web browser or any HTTP compatible program, the text will be treated as HTML code.
Note that the parameters -allowed_tags
, -auth
and -log
, are pointing to existing <file>s that can be moved or renamed using either absolute or relative path depending on your configuration and how you launch gwd itself. The file(s) associated with -add_lexicon
for supplementary lexicon(s) must be placed in a lang
folder.
Usage: gwd [options] where options are: -a <ADDRESS> Select a specific address (default = any address of this computer). -add_lexicon <FILE> Add file as lexicon. -allowed_tags <FILE> HTML tags which are allowed to be displayed. One tag per line in file. -auth <FILE> Authorization file to restrict access. The file must hold lines of the form "user:password". -bd <DIR> Directory where the databases are installed. -blang Select the user browser language if any. -cache-in-memory <DATABASE> Preload this database in memory -cache_langs Lexicon languages to be cached. -cgi Force CGI mode. -conn_tmout <SEC> Connection timeout (default 120s; 0 means no limit). -daemon Unix daemon mode. -debug Enable debug mode -digest Use Digest authorization scheme (more secure on passwords) -etc_prefix <DIR> Specify where the “etc” directory is installed (default if empty is [-hd value]/etc) -friend <PASSWD> Set a friend password. -hd <DIR> Directory where the “etc”, “images” and “lang” directories are installed. -images_dir <DIR> Same than previous but directory name relative to current. -images_url <URL> URL for GeneWeb images (default: gwd send them). -lang <LANG> Set a default language (default: fr). -log <FILE> Log trace to this file. Use "-" or "<stdout>" to redirect output to stdout or "<stderr>" to output log to stderr. -log_level <N> Send messages with severity <= <N> to syslog (default: 7). -login_tmout <SEC> Login timeout for entries with passwords in CGI mode (default 1800s). -max_clients <NUM> Max number of clients treated at the same time (default: no limit) (not cgi). -min_disp_req Minimum number of requests in robot trace (default: 6). -no_fork Prevent forking processes -no_host_address Force no reverse host by address. -nolock Do not lock files before writing. -only <ADDRESS> Only inet address accepted. -p <NUMBER> Select a port number (default = 2317). -plugin <PLUGIN>.cmxs load a safe plugin. Combined with -force to enable for every base. Combine withd -unsafe to allow unverified plugins. e.g. "-plugin -unsafe -force". -plugins <DIR> load all plugins in <DIR>. Combined with -force to enable for every base. Combined with -unsafe to allow unverified plugins. e.g. "-plugins -unsafe -force". -redirect <ADDR> Send a message to say that this service has been redirected to <ADDR>. -reorg Use new reorg folder structure (only in 7.1 or 7.2) -robot_xcl <CNT>,<SEC> Exclude connections when more than <CNT> requests in <SEC> seconds. -setup_link Display a link to local gwsetup in bottom of pages. -trace_failed_passwd Print the failed passwords in log (except if option -digest is set). -version Print the Geneweb version, the source repository and last commit id and message -wd <DIR> Directory for socket communication (Windows) and access count. -wizard <PASSWD> Set a wizard password. -wjf Wizard just friend (permanently). -help Display this list of options --help Display this list of options
Note that when running with -debug
, GeneWeb will add begin/end html comments in the returned document providing the full path of the various included files such as:
<!-- begin include /Users/Henri/Genea/GeneWeb/GeneWeb-7.0h-Mac/gw/plugins/welcome/assets/etc/welcome.txt -->
gwd and gwsetup may be started with a common shell script similar to Gwd-start or it's up-to-date version
geneweb.sh(in git)
Requests to gwd server
Requests to gwd server are formulated as URLs loaded with parameters. The question mark ?
after the base address marks the beginning of the request: http://server:port/base?request
.
It may sometimes be necessary to manually edit the URL to obtain the desired effect because some parameters aren’t available for selection and/or clicking for all pages of the interface.
The request in itself is the sum of all query parameters added to the end of the URL after the question mark. The gwd server analyse the different parameters and will render a specific page. Depending on the situation, the delimiter between the query parameters in the URLs may change between ;
and &
. Both can be used simultaneously.
The gwd server assumes that the URL request comes from a standard HTTP client (a browser or any other HTTP compatible program), and returns its result page accordingly (i.e. prefixed by the standard Content-type text/html
header).
Some frequently used evars
listed below are few examples of frequently used expert#evar variables
Links to persons, access_by_key and opt=no_index
Within GeneWeb, persons can be identified through two main methods, names and id:
p=first_name;n=last_name
(exact match);p=first_name;n=last_name;oc=occurrence
if there are homonyms;i=1234
GeneWeb internal id.
GeneWeb id numbers are unique across a base, but may change over time after clean up for instance.
Obtaining permanent links is achieved through two methods:
- using option
access_by_key=yes
in the .gwf configuration file of your base, which will prevent the use of internal ids for URL construction; - adding
opt=no_index
to an URL containing id numbers will return the URL with unique but bulkier keys of individualsp=firstname;n=lastname;oc=occurence
instead of id numbers.
This last remark applies to all GeneWeb queries, particularly those about parental relationship where many individuals are referenced.
Language
lang=
Template
templ=
Pedigree collapse, dag=on
On ascendant and descendant trees, dag=on
will merge common ancestors.
Origin of a person, opt=from
The opt=from
option is used to determine which source file a particular person’s data comes from. See merging bases for details. This information appears in italic after the family of the person, and is visible only to wizards.
Cancel GeneWeb links, cgl=on/off
Use the cgl=on
(cancel geneweb links) option to cancel GeneWeb links in a given page. This may be useful for printing, or to do a copy/paste operation of a page into some other document where you don not want to transport the various GeneWeb links.
Names for one person, opt=misc
The opt=misc
option will display at the end of the page all the first_name last_name alias combinations considered valid to call a particular person.
Hidden titles, all_titles
all_titles=on
Refresh modified pages, escache
escache=0
Insert images and text files
- m=IMH insert image
- m=SRC insert text file (typically HTML code)
For example, to display an image in notes we use <a href="%sm=IMH;s=image.jpg">Displayed text</a>
. In this example, the “command” is the m=IMH
part, %s
is a macro transformed into the server address, and the rest of the URL being the parameters passed to the command, here the name of the image.
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.