Project: WikiTree Apps

Categories: WikiTree Apps Project | Developer Help

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:

  1. Dynamic Tree Apps
  2. WikiTree Browser Extension
Developers Brian Casey, Aleš Trtnik, and Greg Clarke at RootsTech 2023.

Contents

How to Join

Are you interested in the WikiTree Apps Project?enhancements.gif

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.

Data Dumps

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.

MergeEdit

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.

Apps Ideas

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.

Code Repositories

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:

Google Group

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.

Also follow WT_Apps in G2G.



This page was last modified 05:58, 5 September 2023. This page has been accessed 41,682 times.