Difference between revisions of "Developers"

 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{DevelopersTopNav}}
 
{{DevelopersTopNav}}
  
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:
+
geWorkbench is an open source Java-based platform and contributions by members of the community are welcome and encouraged. The latest code under development
* 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.
+
is hosted on GitHub
* Read-only code access is also possible, please see the [[FAQ#download_geworkbench_code | FAQ section of the site for details]].
+
https://github.com/geworkbench-group. Anonymous read access is supported for all the code.
  
  
Development in geWorkbench takes place along 2 parallel axes:
+
Development in geWorkbench takes place along 2 lines:
* <u>'''geWorkbench core'''</u>: 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'' ('''B'''iomedical '''I'''nformatics '''S'''tructured '''ON'''tology) which contains the definition of the bioinformatics data types which form the basis of communication between the geWorkbench plugins.
+
* <u>'''geWorkbench core'''</u>: this portion of the code includes mainly 7 groups of packages:
* <u>'''geWorkbench plugins'''</u>: 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 [[A_Simple_Plugin |here]]).
+
# ''engine'', which implements services related to the geWorkbench component architecture framework (e.g., plugin instantiation and visual layout, message delivery, component registry management, etc)
 +
# ''bison'' ('''B'''iomedical '''I'''nformatics '''S'''tructured '''ON'''tology) which contains the definition of the bioinformatics data types which form the basis of communication between the geWorkbench plugins.
 +
# ''builtin'', supporting the internal execution and coordination of the core process, especially the project panel
 +
# ''parsers'', parsing supports for input data format
 +
# ''events'', event classes used by communication between all components and the core
 +
# ''util'', all the utility libraries
 +
# ''analysis'', a small number of classes providing abstract for analyses and savable parameter settings. This group used to be called "others" to include miscellaneous; ''analysis'' is the only one left now. This probably will be re-organized in the future.
 +
* <u>'''geWorkbench plugin components'''</u>: 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 [[A_Simple_Plugin |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.
+
There are no restrictions on who can develop a new component for geWorkbench. You can work against the development version or a release version of the geWorkbench core. To contribute your component to geWorkbench code, you need write access to the subversion server. Please contact us for the procedure.
 
+
Contributions to the geWorkbench core packages are more controlled in order to avoid changes that may adversely affect large numbers of plugins.
The [[Software Development Kit | geWorkbench software development kit]] is not currently supported.
 

Latest revision as of 11:21, 13 November 2013

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 under development is hosted on GitHub https://github.com/geworkbench-group. Anonymous read access is supported for all the code.


Development in geWorkbench takes place along 2 lines:

  • geWorkbench core: this portion of the code includes mainly 7 groups of packages:
  1. engine, which implements services related to the geWorkbench component architecture framework (e.g., plugin instantiation and visual layout, message delivery, component registry management, etc)
  2. bison (Biomedical Informatics Structured ONtology) which contains the definition of the bioinformatics data types which form the basis of communication between the geWorkbench plugins.
  3. builtin, supporting the internal execution and coordination of the core process, especially the project panel
  4. parsers, parsing supports for input data format
  5. events, event classes used by communication between all components and the core
  6. util, all the utility libraries
  7. analysis, a small number of classes providing abstract for analyses and savable parameter settings. This group used to be called "others" to include miscellaneous; analysis is the only one left now. This probably will be re-organized in the future.
  • geWorkbench plugin components: 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)

There are no restrictions on who can develop a new component for geWorkbench. You can work against the development version or a release version of the geWorkbench core. To contribute your component to geWorkbench code, you need write access to the subversion server. Please contact us for the procedure. Contributions to the geWorkbench core packages are more controlled in order to avoid changes that may adversely affect large numbers of plugins.