Project

General

Profile

Download (6.4 KB) Statistics
| Branch: | Tag: | Revision:
1 02f4b5a9 Patrick Plitzner
        ------
2
        Setting up a Taxonomic Editor development environment
3
        ------
4
        n.hoffmann
5
        ------
6
        
7 ddd13af9 n.hoffmann
8 3be6ef3e n.hoffmann
Setting up a Taxonomic Editor development environment
9
10 02f4b5a9 Patrick Plitzner
    This document describes all steps necessary to create a development environment to develop the EDIT Taxonomic Editor. If you are looking for 
11
    instructions on how to install the EDIT Taxonomic Editor please consult the {{{./manual.html} manual}}.
12
    
13
    <Table of Contents>
14
    
15 3be6ef3e n.hoffmann
%{toc|section=0|fromDepth=2|toDepth=3}
16 02f4b5a9 Patrick Plitzner
    
17 3be6ef3e n.hoffmann
* Requirements
18 ddd13af9 n.hoffmann
19 02f4b5a9 Patrick Plitzner
    The current version of the EDIT Taxonomic Editor is developed using the Eclipse IDE for RCP developers.
20
    
21
    
22 3be6ef3e n.hoffmann
* Checking out the sources
23
24 02f4b5a9 Patrick Plitzner
    Use git to check out the sources from the EDIT repository to a location on your development machine.
25
    
26 3be6ef3e n.hoffmann
---
27 a2cfd9b1 Patrick Plitzner
$ git clone ssh://git@dev.e-taxonomy.eu/var/git/taxeditor.git
28 3be6ef3e n.hoffmann
---
29
30 02f4b5a9 Patrick Plitzner
    This will leave you with a directory <<<taxeditor/>>> containing everything that is needed. We will have a look at the contents later on.
31 3be6ef3e n.hoffmann
32
* Setting up eclipse
33
34 02f4b5a9 Patrick Plitzner
    * Start up eclipse and open a workspace. 
35
    
36
    * Open up the Import Wizard via <File -\> Import...> from the menu
37
    
38
    * Choose <Maven -\> Existing maven projects > and click next.
39
    
40
    * For setting the <Root Directory> browse to the <<<taxeditor/>>> directory. After confirming the directory selection dialog, the <Projects> list should contain a number of projects all starting with 
41
    <<<eu.etaxonomy.taxeditor>>> which should be checked for import.
42
    
43
    * Click <Select All> to finish the wizard and import the projects into your workspace.
44
    
45
    You should now be able to see the taxeditor projects in your workspace.
46
    
47 d9ee5eab n.hoffmann
* Dependencies
48 02f4b5a9 Patrick Plitzner
    
49
    The Taxonomic Editor uses <maven 3> for convenient configuration and automation of common tasks, 
50
    such as resolving dependencies and automating builds.
51 8e2a3b63 Patrick Plitzner
52 02f4b5a9 Patrick Plitzner
    We have two modules that use maven for dependency resolution: cdmlibrary and the molecular module.
53
    
54
    The <<<latest snapshot branch>>> of the Taxonomic Editor is programmed against the latest
55
    SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we
56
    do not include it with the other dependencies but rather install it with maven. 
57 d9ee5eab n.hoffmann
58 02f4b5a9 Patrick Plitzner
    In order to do that you have to run <<<mvn install>>> and <<<mvn validate>>> in your <<<taxeditor>>> directory.
59 d9ee5eab n.hoffmann
60
---
61 c5af512a Patrick Plitzner
$ cd taxeditor
62
$ mvn clean install 
63 8e2a3b63 Patrick Plitzner
$ mvn validate
64 d9ee5eab n.hoffmann
---
65
66 02f4b5a9 Patrick Plitzner
    The maven pom.xml provides a special profile which you may want to use if you are developing the cdmlib at the same time. This profile, named <<<local-repository>>>, causes maven to always use the local maven repository, so the latest changes to the cdmlib will be used. You have to run <<<mvn install>>> in the cdmlib folder beforehand to install the local dependencies to the repository. In order to use this profile you would execute the <<<validate>>> gloal differently:
67 c34323ed Andreas Kohlbecker
68
 ---
69 2f1028ca Andreas Kohlbecker
 $ mvn -P local-repository  -Dlocalrepo=/home/${youUserName}/.m2/repository validate
70 c34323ed Andreas Kohlbecker
 ---
71
72 02f4b5a9 Patrick Plitzner
    This will take some time, as maven will download the required dependencies.
73
    
74
    There is also a convenience shell script <<<setup-project.sh>>> in the <<<taxeditor>>> directory which runs the above mentioned commands.
75
    
76 c5af512a Patrick Plitzner
 ---
77
 $ ./setup-project.sh
78
 ---
79 8e2a3b63 Patrick Plitzner
80
81 02f4b5a9 Patrick Plitzner
    After maven has finished follow these steps:
82 8e2a3b63 Patrick Plitzner
83 02f4b5a9 Patrick Plitzner
    The UI is implemented using a fixed version of SWT. So please follow the steps to correctly set the  {{{https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/TaxonomicEditorDevelopersGuide#Target-RCP-Environment}Target-RCP-Environment}} 
84 e5d541d1 Patric Plitzner
85 8e2a3b63 Patrick Plitzner
86 02f4b5a9 Patrick Plitzner
    
87 3be6ef3e n.hoffmann
* Bundle overview
88
89 02f4b5a9 Patrick Plitzner
    Let's have a quick look at some important projects:
90
    
91 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.store>
92 3be6ef3e n.hoffmann
93 02f4b5a9 Patrick Plitzner
    This package communicates with cdmlib-service directly, offering all services, basic operations on cdm data as well as import export functionality. Database and user management is also contained in this package.
94
    
95 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.navigation>
96 3be6ef3e n.hoffmann
97 02f4b5a9 Patrick Plitzner
    The <Taxon Navigator> as well as the <Search> view are located in this plugin.
98 3be6ef3e n.hoffmann
99 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.editor>
100 3be6ef3e n.hoffmann
101 02f4b5a9 Patrick Plitzner
    Everything that has to do with editing taxa or specimens or data that is connected to those resides in this plugin. This includes the <Name Editor>, the <Specimen Editor>, the <Details View>,
102
    the <Supplemental View>, the <Descriptive Data View> as well as the <Media View>. All interface elements that are used in the <taxeditor-bulkeditor> plugin are 
103
    also located here.
104 3be6ef3e n.hoffmann
105 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.bulkeditor>
106 3be6ef3e n.hoffmann
107 02f4b5a9 Patrick Plitzner
    The different bulkeditors are in this plugin.
108 3be6ef3e n.hoffmann
109 8e2a3b63 Patrick Plitzner
** <eu.etaxonomy.taxeditor.molecular>
110
111 02f4b5a9 Patrick Plitzner
    This plugin provides editors and views for working with phylogenetic data like single reads and consensus sequences. This includes the <Alignment Editor>, the <Pherogram View> and export functionality.
112 8e2a3b63 Patrick Plitzner
113
** <eu.etaxonomy.taxeditor.molecular.lib>
114
115 02f4b5a9 Patrick Plitzner
    Manages the external dependencies for the molecular plugin.
116 8e2a3b63 Patrick Plitzner
117
** <eu.etaxonomy.taxeditor.webapp>
118 02f4b5a9 Patrick Plitzner
    
119
    Provides all remoting facilities i.e. manages the internal CDM Server to connect to remote data sources.
120 8e2a3b63 Patrick Plitzner
121 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.printpublisher>
122 3be6ef3e n.hoffmann
123 02f4b5a9 Patrick Plitzner
    This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://cybertaxonomy.eu/printpublisher/}according documentation}} for further information.
124 3be6ef3e n.hoffmann
125 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.application>
126 3be6ef3e n.hoffmann
127 02f4b5a9 Patrick Plitzner
    This plugin bundles all the previous plugins into an application and configures the look and feel.
128 3be6ef3e n.hoffmann
129 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.cdmlib>
130 3be6ef3e n.hoffmann
131 02f4b5a9 Patrick Plitzner
    As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
132 3be6ef3e n.hoffmann
133 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.feature.platform>
134 3be6ef3e n.hoffmann
135 02f4b5a9 Patrick Plitzner
    A feature containing all dependencies for the eclipse platform.
136 3be6ef3e n.hoffmann
137 d9ee5eab n.hoffmann
** <eu.etaxonomy.taxeditor>
138 3be6ef3e n.hoffmann
139 02f4b5a9 Patrick Plitzner
    The product configuration for the standalone application.
140 3be6ef3e n.hoffmann
141 3d0e3097 n.hoffmann
** <eu.etaxonomy.taxeditor.test>
142 02f4b5a9 Patrick Plitzner
    
143
    Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://eclipse.org/swtbot/}SWTBot}}.
144 3d0e3097 n.hoffmann
145 3be6ef3e n.hoffmann
* Creating a launch configuration
146
147 02f4b5a9 Patrick Plitzner
    To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
148
    
149
    * Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
150
    
151
    * In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
152
    
153
    The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
154
    
155 3be6ef3e n.hoffmann
* Where do I go from here?
156 00ae55e5 n.hoffmann
157 02f4b5a9 Patrick Plitzner
    Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.