IGetDBWiki/GettingStarted: Difference between revisions
imported>KaiRunte No edit summary |
imported>KaiRunte No edit summary |
||
Line 12: | Line 12: | ||
send an email to: [[MailTo(krunte DASH devel AT cebitec DOT uni DASH bielefeld DOT de)]] to get a | send an email to: [[MailTo(krunte DASH devel AT cebitec DOT uni DASH bielefeld DOT de)]] to get a | ||
developer account. | developer account. | ||
== Version Control == | |||
IGetDB has dependencies on several CVS-controlled projects (IGetDB itself is in a Subversion repository, see below). | |||
== CVS == | === CVS === | ||
* create a working direktory for CVS in your home named 'CVS' | * create a working direktory for CVS in your home named 'CVS' | ||
Line 23: | Line 25: | ||
You need to checkout the following projects: | You need to checkout the following projects: | ||
* projectmanagement | * projectmanagement | ||
* | * O2DBI | ||
== | === Subversion === | ||
* change into the directory <code><nowiki>CVS/bioinfo</nowiki></code> and execute | |||
<pre><nowiki> | <pre><nowiki> | ||
svn co http://svn.cebitec.uni-bielefeld.de/svn/igetdb/trunk igetdb | |||
</nowiki></pre> | </nowiki></pre> | ||
== | == API Documentation == | ||
The API documentation of IGetDB is not checked in as this causes more | |||
trouble then it's worth. To generate your own copy of the API | |||
documentation, simply run <code><nowiki>ant doc</nowiki></code> in <code><nowiki>igetdb</nowiki></code> directory. | |||
== Web-Server == | |||
IGetDB should be able to run in any servlet-container, although it has been tested with Tomcat 5.5 only. | |||
== Documentation == | == Documentation == | ||
---- | ---- | ||
'''As developers we are also responsible for | '''As developers we are also responsible for documentation. Please let's try the following conventions:''' | ||
* document your code | * document your code | ||
* use the specific documentation tools of the domain | * use the specific documentation tools of the domain | ||
* use [[JavaDoc]] comments for documenting Java classes | |||
* when using Eclipse use the Java formatter profile "Java Conventions" | |||
* use POD for documenting Perl module | * use POD for documenting Perl module | ||
* use perlmodule Pod::Usage for documenting perl-scripts | * use perlmodule Pod::Usage for documenting perl-scripts | ||
* each script needs a usage message (see above) | * each script needs a usage message (see above) | ||
* [[O2DBIWiki|O2DBI]]-documentation (will create POD-doku for server classes) | * [[O2DBIWiki|O2DBI]]-documentation (will create POD-doku for server classes) | ||
---- | ---- | ||
The other main source is the perldoc documentation. The generated [[O2DBIWiki|O2DBI]]-servermodules are pod documented. You can read them with: | The other main source is the perldoc documentation. The generated [[O2DBIWiki|O2DBI]]-servermodules are pod documented. You can read them with: |
Revision as of 13:47, 11 December 2006
Getting Started
This HowTo explains briefly how to get started with developing code for IGetDB project.
DB Access
All IGetDB projects are backed by the projectmanagement system GPMS. To be able to work with IGetDB you need an account.
If you are a developer send an email to: MailTo(krunte DASH devel AT cebitec DOT uni DASH bielefeld DOT de) to get a developer account.
Version Control
IGetDB has dependencies on several CVS-controlled projects (IGetDB itself is in a Subversion repository, see below).
CVS
- create a working direktory for CVS in your home named 'CVS'
- cd to that directory and get the projects needed to run emma:
cvs checkout bioinfo/<name of project>
You need to checkout the following projects:
- projectmanagement
- O2DBI
Subversion
- change into the directory
CVS/bioinfo
and execute
svn co http://svn.cebitec.uni-bielefeld.de/svn/igetdb/trunk igetdb
API Documentation
The API documentation of IGetDB is not checked in as this causes more
trouble then it's worth. To generate your own copy of the API
documentation, simply run ant doc
in igetdb
directory.
Web-Server
IGetDB should be able to run in any servlet-container, although it has been tested with Tomcat 5.5 only.
Documentation
As developers we are also responsible for documentation. Please let's try the following conventions:
- document your code
- use the specific documentation tools of the domain
- use JavaDoc comments for documenting Java classes
- when using Eclipse use the Java formatter profile "Java Conventions"
- use POD for documenting Perl module
- use perlmodule Pod::Usage for documenting perl-scripts
- each script needs a usage message (see above)
- O2DBI-documentation (will create POD-doku for server classes)
The other main source is the perldoc documentation. The generated O2DBI-servermodules are pod documented. You can read them with:
perldoc module.pm
Other modules may also have pod-documetation but this is not guaranteed. The documentation found can also be incomplete or rather outdated. If you wish to generate the documentation for all perl modules you can do so be executing the shell script:
CVS/bioinfo/igetdb/share/exec/create_html_docs.pl
It generates an HTML version of the perldoc documentation in the directory 'CVS/bioinfo/igetdb/share/doc/html'.
Additional documentation can be found in CVS/bioinfo/igetdb/share/doc.
Directory Structure
The directory `CVS/bioinfo/igetdb/` contains the specific components of the igetdb software:
- `/bin` start wrapper(s) for executable scripts in `/share/exec`.
To run a script in share exec type: `igetdb_start scriptname.pl -p project [options]`
- `/share` contains the main application code
- `/exec` executable scripts
- `/perl` contains perl code
- `/IGetDB` contains perl code
- `/WWW/` modules specific to the web front-end of IGetDB
- `/DBmodules` modules accessing the backend, used by the www-modules
- `/IGetDB` contains perl code
- `/www` contains web-server specific code and the document root
- `/cgi-bin' contains the cgi-scripts
- `/templates' the HTML-templates for each page
- `/cgi-bin' contains the cgi-scripts
- `/htdocs' contains the static HTML pages for the web front-end
- `/images' the images used for the web front-end
- `/log' contains logging files of the apache web server
- `/src` contains the database schema and code for generation of code and documentation