Difference between revisions of "Developers"

 
(14 intermediate revisions by 4 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 documenation, forums and mailing lists can be found at the project's gForge page, http://gforge.nci.nih.gov/projects/caworkbench. If you are interested in working with us you can follow the '''''"Request to join"''''' link from that page.
+
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 paralles axes:
 
* <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 plugins'''</u>: this portion of the source tree contains the code for the various application plugin components (the "[[A Simple Plugin]]" section provides sample code for creating a simple plugin).
 
  
Contributing a new geWorkbench component is a straightforward process: you can either use the [[Software Development Kit | geWorkbench software development kit]] in your local development environment or you can request space in the project's CVS server (using the "Request to join" link from the gForge page). The latter means that you will be working 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.
+
Development in geWorkbench takes place along 2 lines:
+
* <u>'''geWorkbench core'''</u>: this portion of the code includes mainly 7 groups of packages:
<br/><br/><br/>
+
# ''engine'', which implements services related to the geWorkbench component architecture framework (e.g., plugin instantiation and visual layout, message delivery, component registry management, etc)
* [[Introduction_For_Developers|Introduction For Developers]]
+
# ''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.
* [[Devkit|Instructions]] for the Developer Kit
+
# ''builtin'', supporting the internal execution and coordination of the core process, especially the project panel
* [[Building geWorkbench]]
+
# ''parsers'', parsing supports for input data format
* Coding Standards [[Style Guide]]
+
# ''events'', event classes used by communication between all components and the core
* [http://caldev/workbench/api Javadocs]
+
# ''util'', all the utility libraries
* [[CVS Repository]]
+
# ''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.
* [[Screenshots]]
+
* <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]])
* Information on [[.GEAR files]], a method of distributing plugins.
+
 
* [[Plugin certification checklist]]
+
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.

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.