Developers
Developers Home | A Simple Plugin | geWorkbench Archive Files | Collaborative Development | Design Documentation | Javadocs | gForge Page | Report Defects |
geWorkbench is an open source Java-based platform and contributions by members of the community are welcome and encouraged. The latest code releases as well as technical documentation can be found at the project's gForge page, http://gforge.nci.nih.gov/projects/geworkbench. There are two ways to access the project's code:
- Individuals interested in participating in the development process can click on the "Request to join" link at the bottom of the project page to acquire an account on the geWorkbench CVS code repository. Once this account is issued it is be possible to check code in and out of the repository.
- Read-only code access is also possible, please see the FAQ section of the site for details.
Development in geWorkbench takes place along 2 parallel axes:
- geWorkbench core: this portion of the code includes mainly 2 groups of packages: engine, which implements services related to the geWorkbench component architecture framework (e.g., plugin instantiation and visual layout, message delivery, component registry management, etc); and, bison (Biomedical Informatics Structured ONtology) which contains the definition of the bioinformatics data types which form the basis of communication between the geWorkbench plugins.
- geWorkbench plugins: this portion of the source tree contains the code for the various application plugin components (sample code for creating a simple plugin can be found here).
Contributing a new geWorkbench component is a straightforward process: First you would request space in the project's CVS server (using the "Request to join" link from the gForge page). This allows you to work against the development version of the geWorkbench core. There are no restrictions on who can develop and submit a new component. On the other hand contributions to the geWorkbench core packages are controlled in order to avoid changes that may adversely affect large numbers of plugins.