GeneWeb is a genealogy software with a web interface created by Daniel de Rauglaudre. It can be installed locally on a stand-alone machine and on any web server.
Switch branches/tags
Clone or download
Pull request Compare This branch is 18 commits ahead, 2 commits behind geneweb:master.
Latest commit 0030c6a Nov 12, 2018
Permalink
Failed to load latest commit information.
contrib WIP gwpublic Nov 14, 2018
docker Adds docker config and startup script Sep 28, 2018
etc Protect -bash in gwd and gwsetup with quotes (allow spaces in filenam… Oct 18, 2018
ged2gwb Fix ged2gwb. Nov 13, 2018
gui rm contrib/dune in order to enable warnings and fixed them. Nov 13, 2018
gwb2ged TO BE REMOVED: removed officer witness type. Nov 13, 2018
gwtp Merged internal/ into lib/ Nov 13, 2018
hd Better CSS when changing children names, focus on parent after changes Oct 30, 2018
lib lib/date.ml: avoid code duplication. Nov 14, 2018
man Fix gwc manpage Nov 1, 2016
setup rm contrib/dune in order to enable warnings and fixed them. Nov 13, 2018
src Merged internal/ into lib/ Nov 13, 2018
test Squashed commit of the following: Sep 13, 2018
wserver Fixed messages printed when lanching the server. Sep 13, 2018
.gitignore Merged internal/ into lib/ Nov 13, 2018
.travis.yml Updated travis notifications setting. Oct 12, 2018
CHANGES Fix some typos found by codespell Dec 24, 2015
Dockerfile Adds docker config and startup script Sep 28, 2018
ICHANGES Fix some typos found by codespell Dec 24, 2015
INSTALL Make install for macOS, icons folder, icns files, updates in INSTALL,… Jul 25, 2016
LICENSE remplacement des alt par title, correction bug date, suppression redi… Oct 3, 2011
Makefile Makefile: Fixed doc dependencies. Nov 14, 2018
README.md Adds docker config and startup script Sep 28, 2018
appveyor.yml Fixed 'make distrib' after rebase. Sep 13, 2018
configure Fixed conditionnal API compilation. Sep 13, 2018
dune Enabled more warnings and fixed a lot of it. Sep 13, 2018
dune-project Improved build, added opam file, fixed travis build. Sep 13, 2018
dune-workspace Improved build, added opam file, fixed travis build. Sep 13, 2018
geneweb.opam Fixed opam file. Oct 12, 2018

README.md

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.