Project: WikiTree Apps
This project is for programmers who want to help develop features and functions to enhance WikiTree, and for outside developers and researchers who would like to make use of the tree for creative, non-profit purposes.
If you're a developer, please consider participating in one of our two main open source projects on GitHub:
How to Join
- Project Leaders: Jamie Nelson
The API and Apps Server
Most of the project members focus their efforts on the WikiTree API accessed through the api.wikitree.com server. Anyone in the project can request a directory of their own on the apps.wikitree.com server. See the Help:WikiTree Apps Server for more information.
API resource usage
We need to be conscious of API usage. It does not affect the main server, but it does impact other applications using the API and we need to minimize server expenses in order to remain free.
- As a general rule, no application should load data for more than 100 profiles without requiring a user click.
- If an application could require data for more than 1,000 or more profiles, it should require multiple clicks, e.g. paging through results 100 at a time. (Be aware that some members have watchlists that exceed 10,000 profiles.)
If you're not sure of the impact of your application, or how to mitigate it, talk about it with the group.
We may remove applications that slow down other applications.
API usage by browser extensions
The WikiTree Browser Extension and other extensions also make use of the API. This is important because the API doesn't run on the main server. Extensions shouldn't gather data through web pages other than the one the user is viewing.
Any project member who is an active contributor to WikiTree or is working on a project that is directly related to genealogy or furthers the study of genealogy in some way can request a full data dump of the global family tree, subject to certain conditions on use. These are controlled for privacy, so unlike with the API, there is no access to any private information. See Help:Database Dumps.
If you want your application to write to a WikiTree profile, see Help:MergeEdit.
Apps Created By Project Members
To see what members of the project have built, see the App Gallery.
To see how to integrate other apps with your own, visit the WikiTree App Interfaces page.
Do you have an idea for an application, or want to collaborate on one? Here's the list of ideas and open projects. Please add to it, comment, and ask questions.
Open Source License
For our code, we use the MIT License.
Note that not all of WikiTree is open source. Keeping the main code base private makes it easier to protect member's privacy. Plus, we don't want to encourage multiple WikiTrees. We want a single world tree. For apps that use the API, though, privacy is not a concern and it makes sense to keep it open to the community. Even if the WikiTree team takes something developed by the community and forks it to make it part of WikiTree, what was done by the community remains open for anyone to use and improve upon.
Members work on collaborative projects on GitHub.
Again, note that this is just for Apps code. WikiTree also has an internal development environment.
Current projects you can contribute to:
- WikiTree API Documentation
- Dynamic Tree
- WikiTree Browser Extension
- WikiTree Maps
- WikiTree Sourcer
We have a Google Group for project communication. All project members should be sure to join the WikiTree Apps Google Group in order to stay abreast of current happenings and discussions.
This page was last modified 16:05, 19 January 2023. This page has been accessed 35,295 times.