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.
|