Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
139 lines (110 sloc) 4.76 KB

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.

Documentation

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

Getting involved

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

Building the code

Build status

Linux/OSX Windows
lin-badge win-badge

Build instructions

  1. Install OCaml (http://ocaml.org/)
  2. Install opam (https://opam.ocaml.org/)
  3. Install camlp5 (with opam)
  4. (Optional) Install ocamlfind (with opam)
  5. Clone the repository
git clone https://github.com/geneweb/geneweb
  1. Compil GeneWeb
./configure
make opt
make distrib

Building the API

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

It has the following dependancies:

  • OCaml
  • camlp5
  • lwt
  • ocamlfind
  • ocurl
  • piqi
  • piqilib
  • protobuf
  • re
  • uuidm
  • yojson
  • redis

Docker

You can use Docker to build and run geneweb on any computer.

git clone https://github.com/geneweb/geneweb
cd geneweb 
docker build -t geneweb .
docker run --rm -it -p 2316:2316 -p 2317:2317 -v `pwd`:/home/opam/geneweb/ -v YOUR_BASE_DIR:/home/opam/bases/ geneweb /home/opam/geneweb/docker/build.sh --run --api --clean

the following options are available for the build script :

  • run: runs geneweb and gwsetup right after build
  • clean: runs make clean before build phase
  • api: builds the api

Contributor guidelines

Creating a pull request

Use the bug number/title as the name of pull request. Example of commit message "PR #XXX: Title of the PR/Bug".

Coding style

  • Try to keep the same coding style as the existing one.
  • New code should not contain any trailing whitespace.
  • Each commit should have a single clear purpose. If a commit contains multiple unrelated changes, those changes should be split into separate commits.
  • If a commit requires another commit to build properly, those commits should be squashed.
  • If the PR needs to be update, push force.

CONTENTS

File Description
CHANGES changes (for genealogists non programmers)
ICHANGES changes (for programmers)
LICENSE license notice
configure configure script
Makefile main Makefile
README this file
INSTALL installation file
contrib users contributions
dag2html library to create html trees
etc additional files for distribution
ged2gwb converter GEDCOM -> GeneWeb
gwb2ged converter GeneWeb -> GEDCOM
gwtp CGI to upload and download databases
hd html and image files for GeneWeb program
rpm files to create Linux rpm packages
setup service (gwsetup) to launch commands in a Web navigator
src sources of main programs
tools tools for compiling
wserver library for creating Web services

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 conditions stated in file LICENSE. They can be freely redistributed for non-commercial purposes, provided the copyright notice remains attached.

INSTALLATION

You can compile on Unix, Windows or Mac OS X machines. See the file INSTALL for installation instructions.