Technical Implementation of the Tree of Life Web Project
Content for the Tree of Life Web Project is compiled collaboratively by hundreds of expert and amateur contributors. Project participants use a series of custom data editors to upload materials to the ToL system. This information is then stored in a database, and web pages are created dynamically on demand.
All data for the Tree of Life Project are stored in a MySQL database. When a visitor comes to the ToL website, requests for web pages are received by an Apache web server running on Linux OS. Using the Jakarta Tapestry web development framework along with Hibernate’s object/relational mapping tools, web pages are created dynamically from the database. The phylogenetic tree structure is created and uploaded into the ToL database by ToL scientific contributors using TreeGrow, a custom client application written in Java, which relies on XML to communicate with the database. Materials like text, images, and other media files are entered into the database using ToL Web Tools, a system built in Java featuring an HTML user interface. For more information about ToL tools for contributors, see Contributing to the Tree of Life.
This content management system gives the Tree of Life Project great power and flexibility in a number of different areas:
- The database backend facilitates the cataloguing, archiving, and retrieval of information.
- It provides for more efficient entry of information into the system, and it makes it easier for project participants to administrate a complex project with a large number of contributors
- It allows for different options in the presentation of information. Pages can be built dynamically to suit the needs of individual visitors.
- Data stored in the database can be used in a number of different ways. They are not only suitable for building web pages, but information can also be exported for use in analysis programs or any number of other format. This will allow the Tree of Life to more easily share information with other databases and collections.
- Most importantly, having data in a database will help the Tree of Life to adapt to the demands of future developments in the management of biological data.
Current Technical Development Projects
- Improve and expand data entry tools.
- Continued development of TreeGrow to facilitate creation of tree structures.
- Continued development of ToL Web Tools to allow creation of web pages and management of objects attached to nodes in the tree (text, images, etc.)
- Improve design and layout of ToL branch and leaf pages.
- Dynamic tree navigator, allowing users to zoom in and out of a particular part of the Tree.
- Link previews on mouseover, enabling users to get a better idea of the content of linked pages.
- Customization tools.
- Visitors will be able to define preferred page viewing formats, include/exclude different page components, select from a variety of content categories. Content-based filtering for different audiences.
- Initiate communication with other databases.
- ToL visitors will gain access to relevant materials in other collections.
- By linking objects to particular nodes in the ToL, other projects will be able to introduce phylogenetic structure into their own holdings.
- Data from the ToL database will be formatted to directly feed
into software packages for the analysis of patterns of biological
diversity across the phylogeny.
- Embedded data analyses, possibly via ties to Mesquite, RMI-based.
- Ensuring the scalability of the ToL database; i.e., the database must be able to handle the greatly increased volume of data that is expected as we approach our goal of providing information about every known group of organisms, living and extinct.
- Open Source project.
- As the architecture begins to solidify, this project will "open the doors" for open source involvement from the public at large.
For more information about the technical aspects of the Tree of Life Project please contact the ToL lead developer,