EMMA 2 Getting Started
Here comes a short HowTo about how to get started with developing EMMA.
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/emma2
you need to checkout the following projects:
- emma2
- projectmanagement
- common
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 the testwebserver (hook): `rsh hook`
- execute
CVS/bioinfo/emma2/share/www/apache2.sh start
- try to open http://hook:PORT with your browser
- 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 The other main source is the perldoc documentation. The generated O2DBI-servermodules are pod documented you can read 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. The documentation of the server-modules is mostly derived from the MAGE-OM documentation. Additional documention 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
- `/EMMA` same as above
- `/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