geneweb

GeneWeb is an open source genealogy software written in OCaml. It comes with a Web interface and can be used off-line or as a Web service.
22 May 2020135268

GeneWeb

GeneWeb is an open source genealogy software written in OCaml. It comes with a Web interface and can be used off-line or as a Web service.

Build status

Linux macOS Windows (mingw64)
OCaml 4.05 l405 - -
OCaml 4.06 l406 - -
OCaml 4.07 l407 - -
OCaml 4.08 l408 - -
OCaml 4.09 l409 m409 win-409
OCaml 4.10 l410 - -

Documentation

The documentation is available online: http://geneweb.tuxfamily.org/

Installation

Using opam:

opam pin add geneweb-bin -k git https://github.com/geneweb/geneweb --no-action
opam depext geneweb-bin
opam install geneweb-bin

Getting involved

We encourage you to participate in this open source project. We love pull requests, bugs reports, ideas...

Contributor guidelines

Install dependencies

$ opam install camlp5 cppo dune jingoo markup ounit uucp unidecode

Build instructions

  1. Run the configuration script
    $ ocaml ./configure.ml
    
  2. Build the distibution
    $ make clean distrib
    

You can have a description of available configuration options using

$ ocaml ./configure.ml --help

Building the API

The API uses the Google Protocol Buffer to exchange information encoded as pb, json, xml.

Install protoc, and these extra dependencies:

$ opam install ocurl piqi piqilib redis redis-sync yojson

Then, tell the configure script to enable API.

$ ocaml ./configure.ml --api

Coding style

  • Try to keep the same coding style as the existing one.
  • New code should not contain any trailing whitespace.
  • Each pull request should have a single clear purpose. If it containes multiple unrelated changes, those changes should be split into separate pull requests.
  • If the PR needs to be update, push force.
  • When submitting a new feature/function, write documentation and tests if it is relevant.

Copyright

All files marked in this distribution are Copyright (c) 1998-2016 INRIA (Institut National de Recherche en Informatique et Automatique) and distributed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file for details.