xref: /webtrees/modules_v4/README.md (revision cc04dc51ae2a42df30a0e03f276a9a5be730741e)
1# THIRD-PARTY MODULES
2
3Many webtrees functions are provided by “modules”.
4Modules allows you to add additional features to webtrees and modify existing features.
5
6## Installing and uninstalling modules
7
8A module is a folder containing a file called `module.php`.
9There may be other files in the folder, such as CSS, JS, templates,
10languages, data, etc.
11
12To install a module, copy its folder to `/modules_v4`.
13
14To uninstall it, delete its folder from `/modules_v4`.
15
16Note that module names (i.e. the folder names) must not contain
17spaces or the characters `.`, `[` and `]`.  It must also have a
18maximum length of 30 characters.
19
20TIP: renaming a module from `<module>` to `<module.disable>`
21is a quick way to hide it from webtrees.  This works because
22modules containing `.` are ignored.
23
24## Writing modules
25
26To write a module, you need to understand the PHP programming language.
27
28There are several example modules available at
29https://github.com/webtrees
30
31The built-in modules can be found in `app/Module/`.
32These contain lots of useful examples that you can copy/paste.
33