EMMAWiki/DeveloperDocumentation/GettingStarted: Difference between revisions

From BRF-Software
Jump to navigation Jump to search
imported>MichaelDondrup
No edit summary
m (11 revisions)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
Here comes a short [[HowTo]] about how to get started with developing EMMA.
Here comes a short HowTo about how to get started with developing EMMA.


== DB Access ==
== DB Access ==
Line 13: Line 13:
== CVS ==
== CVS ==


* create a working direktory for CVS in your home named 'CVS'
* create a working directory for CVS in your home named 'CVS'
* cd to that directory and get the projects needed to run emma:
* cd to that directory and get the projects needed to run emma:


<pre><nowiki>
<pre><nowiki>
cvs checkout bioinfo/emma2
cvs checkout bioinfo/emma2
cvs checkout bioinfo/projectmanagement
...
</nowiki></pre>
</nowiki></pre>


Line 23: Line 25:
* emma2
* emma2
* projectmanagement
* projectmanagement
* ontodb
* common
* common
== Symlinks ==
Create the folowing symbolic links in the directory 
  <code><nowiki> CVS/bioinfo/emma2/bin </nowiki></code>
<pre><nowiki>
/CVS/bioinfo/emma2/bin> ln -s emma_start runtool_emma
/CVS/bioinfo/emma2/bin> ln -s emma_start test_import
lrwxrwxrwx    1 you emma        10 Feb 18  2005 runtool_emma -> emma_start
lrwxrwxrwx    1 you emma        10 Feb 22  2005 test_import -> emma_start
</nowiki></pre>


== Web-Server ==
== Web-Server ==
Line 29: Line 45:
* goto CVS/bioinfo/emma2/share/www
* goto CVS/bioinfo/emma2/share/www
* edit apache2.sh: change `PORT=XXXX` to any free port on the webserver, and set CVS= to your CVS-directory
* edit apache2.sh: change `PORT=XXXX` to any free port on the webserver, and set CVS= to your CVS-directory
* login on a suitabel test-webserver using `qxterm` or `qrsh`
* login on a suitable test-webserver using `qxterm` or `qrsh`
* in that shell execute:
* in that shell execute:


Line 39: Line 55:
* if nothing happens or you get an error message have a look at `CVS/bioinfo/emma2/share/www/all.errors`
* if nothing happens or you get an error message have a look at `CVS/bioinfo/emma2/share/www/all.errors`


== Documentation ==
The main source of documentation is this Wiki ;) see [[EMMA2Overview]]
----
----
'''As developers we are also responsible for ducumentation. Please let's try the following conventions:
'''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 POD for documenting Perl module
* use POD for documenting Perl module
* use permodule Pod::Usage for documenting perl-scripts
* use perl module Pod::Usage for documenting perl-scripts
* each script needs a usage massage (see above)  
* each script needs a usage message (see above)  
* O2DBI-documentation (will create POD-doku for server classes)
* O2DBI-documentation (will create POD-docu for server classes)
* R-doc for R functions
* R-doc for R functions
'''
'''
Line 58: Line 71:
</nowiki></pre>
</nowiki></pre>


Other modules may also have pod-documetation but this is not guaranteed. The documentation found can also be incomplete or rather outdated.
Other modules may also have pod-documentation but this is not guaranteed. The documentation found can also be incomplete or rather outdated.
The documentation of the server-modules is mostly derived from the MAGE-OM documentation. Additional documention
The documentation of the server-modules is mostly derived from the MAGE-OM documentation. Additional documentation
on the MAGE-OM part of the data scheme can be found at http://www.mged.org .
on the MAGE-OM part of the data scheme can be found at http://www.mged.org .



Latest revision as of 07:14, 26 October 2011

Here comes a short HowTo about how to get started with developing EMMA.

DB Access

All EMMA projects are backed by the projectmanagement system GPMS. To be able to work with EMMA you need an account.

If you are a developer send an email to: MailTo(emma DASH devel AT cebitec DOT uni DASH bielefeld DOT de) to get a developer account.

CVS

  • create a working directory for CVS in your home named 'CVS'
  • cd to that directory and get the projects needed to run emma:
cvs checkout bioinfo/emma2
cvs checkout bioinfo/projectmanagement
...
  you need to checkout the following projects:
  • emma2
  • projectmanagement
  • ontodb
  • common

Symlinks

Create the folowing symbolic links in the directory

   CVS/bioinfo/emma2/bin 

/CVS/bioinfo/emma2/bin> ln -s emma_start runtool_emma
/CVS/bioinfo/emma2/bin> ln -s emma_start test_import
lrwxrwxrwx    1 you emma        10 Feb 18  2005 runtool_emma -> emma_start
lrwxrwxrwx    1 you emma        10 Feb 22  2005 test_import -> emma_start
 


Web-Server

  • goto CVS/bioinfo/emma2/share/www
  • edit apache2.sh: change `PORT=XXXX` to any free port on the webserver, and set CVS= to your CVS-directory
  • login on a suitable test-webserver using `qxterm` or `qrsh`
  • in that shell execute:
CVS/bioinfo/emma2/share/www/apache2.sh start
  • try to open `http://SERVER:PORT` with your browser
  • if nothing happens or you get an error message have a look at `CVS/bioinfo/emma2/share/www/all.errors`

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 POD for documenting Perl module
  • use perl module Pod::Usage for documenting perl-scripts
  • each script needs a usage message (see above)
  • O2DBI-documentation (will create POD-docu for server classes)
  • R-doc for R functions


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-documentation but this is not guaranteed. The documentation found can also be incomplete or rather outdated. The documentation of the server-modules is mostly derived from the MAGE-OM documentation. Additional documentation on the MAGE-OM part of the data scheme can be found at http://www.mged.org .

Additional documentation can be found in CVS/bioinfo/emma2/share/doc.

Directory Structure

The directory `CVS/bioinfo/emma2/` contains the specific components of the emma2 software:

  • `/bin` start wrapper(s) for executable scripts in `/share/exec`.

To run a script in share exec type: `emma_start scriptname.pl -p project [options]`

  • `/share` contains the main application code
    • `/exec` executable scripts
    • `/perl` contains the perl code
      • `/EMMA` same as above
        • `/www/modules` modules generating html
        • `/www/cgi-bin` the cgi-scripts
        • `/DBmodules` modules accessing the backend, used by the www-modules
        • `/MAGEOM` the generated o2dbi backend modules
        • `/MAGEOM_Server` the extension modules for o2dbi where functionality can be added to the standard classes
  • `/www` contains web-server specific code and the document root
    • `/tmpl' the HTML-templates for each page
  • `/src` contains the DB scheme and code for generation of code and documentation