Building requests to GeneWeb server
|Language:||English • français|
- 1 Welcome page of a GeneWeb database
- 2 Starting the gwd server
- 3 Requests to gwd server
- 3.1 Links to persons, access_by_key and opt=no_index
- 3.2 Language
- 3.3 Template
- 3.4 Pedigree collapse, dag=on
- 3.5 Origin of a person, opt=from
- 3.6 Cancel GeneWeb links, cgl=on/off
- 3.7 Names for one person, opt=misc
- 3.8 Hidden titles, all_titles
- 3.9 Refresh modified pages, escache
- 3.10 Insert images and text files
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
serveris the IP address or DNS name of the server hosting the GeneWeb daemon;
portis 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);
baseis 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
-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
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_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) -friend <PASSWD> Set a friend password. -hd <DIR> Directory where the directory lang is 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_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. Combine with -force to enable for every base. Combine with -unsafe to allow unverified plugins. e.g. "-plugin -unsafe -force". -plugins <DIR> load all plugins in <DIR>. Combine with -force to enable for every base. Combine 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>. -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). -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 -->
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:
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
&. 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).
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;oc=occurrenceif there are homonyms;
i=1234GeneWeb 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=yesin the .gwf configuration file of your base, which will prevent the use of internal ids for URL construction;
opt=no_indexto an URL containing id numbers will return the URL with unique but bulkier keys of individuals
p=firstname;n=lastname;oc=occurenceinstead of id numbers.
This last remark applies to all GeneWeb queries, particularly those about parental relationship where many individuals are referenced.
Pedigree collapse, dag=on
On ascendant and descendant trees,
dag=on will merge common ancestors.
Origin of a person, opt=from
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.
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
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
Refresh modified pages, escache
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
%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.