
Introduction to the Tripal API
==============================

Tripal provides an Application Programming Interfaces (API) that allows developers to interact with and customize Tripal. Using the API, developers can customize the way data is presented or create custom modules that provide new or different functionality. These custom modules can in turn be shared with the Tripal community. The Tripal API is documented online at http://api.tripal.info/api/tripal/3.x (COMING SOON). This document provides examples and best practices for using the Tripal API.

Requirements
-------------------------------

In order to use the Tripal API the developer should have the following skills:

Common skills:

* Knowledge of PHP.
* Knowledge of relational databases and SQL.

To create custom modules:

* Familiarity with Drupal API
* Familiarity with Drupal module development

To use Chado for data storage:

* Knowledge of Chado and relationships between tables (at least tables where data of interest is stored).
* An idea how data is stored in Chado (or a willingness to ask questions)

Things that will make your Tripal development experience postive, fun and rewarding:

* A desire to write code that can be re-used and shared by other groups
* A desire to share your work with others to support other the Tripal community members.
* A willingness to ask for help on the Tripal Github issue queue if you get stuck, find bugs or desire new features.
