updated getting started section on taxeditor site
[taxeditor.git] / src / site / apt / getting-started.apt
1 ------
2 Setting up a Taxonomic Editor development environment
3 ------
4 n.hoffmann
5 ------
6
7
8 Setting up a Taxonomic Editor development environment
9
10 This document describes all steps necessarry 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 %{toc|section=0|fromDepth=2|toDepth=3}
16
17 * Requirements
18
19 The current version of the EDIT Taxonomic Editor is developed against Eclipse Indigo for RCP developers.
20
21
22 * Checking out the sources
23
24 Use subversion to check out the sources from the EDIT repository to a location on your development machine.
25
26 ---
27 $ svn co http://dev.e-taxonomy.eu/svn/trunk/taxeditor
28 ---
29
30 This will leave you with a directory <<<taxeditor/>>> containing everything that is needed. We will have a look at the contents later on.
31
32 * Setting up eclipse
33
34 * Start up eclipse (make sure you have the required version installed) and open a workspace.
35
36 * Open up the Import Wizard via <File -\> Import...> from the menu
37
38 * Choose <General -\> Existing projects into Workspace > and click next.
39
40 * Check <Select Root Directory> and 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.taxditor>>> 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 taaxeditor projects in your workspace.
46
47 * The eclipse installation may be missing the following plugins which have to be installed via their update site:
48
49 * <SWTBot API> from update site: <http://download.eclipse.org/technology/swtbot/releases/latest/>
50
51 * <Graphical Editing Framework Zest Visualization Toolkit SDK> from update site: <http://download.eclipse.org/releases/indigo>
52
53 * <Nebula Release Individual Widgets-\>Nebula CompositeTable Widget> from update site: <http://download.eclipse.org/technology/nebula/snapshot>
54
55 * To Install the plugins use the Eclipse-Install-Wizard via <Help -\> Install new Software> and paste the URL in the <Work With> row. Click <Add> and use the Filter to find, check and install plugins.
56
57 * Dependencies
58
59 The Taxonomic Editor uses <maven 3> for convenient configuration and automation of common tasks,
60 such as resolving dependencies and automating builds.
61
62 The <<<latest snapshot branch>>> of the Taxonomic Editor is programmed against the latest
63 SNAPSHOT version of the cdmlibrary. Because that dependency will change quickly, we
64 do not imclude it with the other dependencies but rather install it with maven.
65
66 In order to do that you have to run <<<mvn validate>>> in your <<<taxeditor/eu.etaxonomy.taxeditor.cdmlib>>> directory.
67
68 ---
69 $ cd taxeditor/eu.etaxonomy.taxeditor.cdmlib/
70 $ mvn validate
71 ---
72
73 This will take some time, as maven will download the required dependencies.
74 After maven has finished follow these steps:
75
76
77 To get rid of the errors, you have to update the classpaths of all plugin projects. To do this right-click any of the <taxeditor-*> projects and choose <PDE Tools -\> Update Classpath...>. Click <Select All> in the dialog and confirm. After a rebuild of your entire workspace all errors should be gone and you are ready to go.
78
79 * Bundle overview
80
81 Let's have a quick look at the projects:
82
83 ** <eu.etaxonomy.taxeditor.store>
84
85 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.
86
87 ** <eu.etaxonomy.taxeditor.navigation>
88
89 The <Taxon Navigator> as well as the <Search> view are located in this plugin.
90
91 ** <eu.etaxonomy.taxeditor.editor>
92
93 Everything that has to do with editing a taxon or data that is connected to a taxon resides in this plugin. This includes the <Name Editor>, the <Details View>,
94 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
95 also located here.
96
97 ** <eu.etaxonomy.taxeditor.bulkeditor>
98
99 The different bulkeditors are in this plugin.
100
101 ** <eu.etaxonomy.taxeditor.printpublisher>
102
103 This plugin is a frontend and GUI for the <cdmlib-print> module. Please see the {{{http://wp5.e-taxonomy.eu/printpublisher/}according documentation}} for further information.
104
105 ** <eu.etaxonomy.taxeditor.application>
106
107 This plugin bundles all the previous plugins into an application and configures the look and feel.
108
109 ** <eu.etaxonomy.taxeditor.cdmlib>
110
111 As said before, <cdmlib> dependecies reside in this plugin. Please also note that this plugin does not contain any sourcecode.
112
113 ** <eu.etaxonomy.taxeditor.feature.platform>
114
115 A feature containing all dependencies for the eclipse platform.
116
117 ** <eu.etaxonomy.taxeditor>
118
119 The product configuration for the standalone application.
120
121 ** <eu.etaxonomy.taxeditor.test>
122
123 Automated GUI Tests for the Taxonomic Editor that can be run with {{{http://swtbot.com/}SWTBot}}.
124
125 * Creating a launch configuration
126
127 To start the Taxonomic Editor from your newly created development environment you need to create a launch configuration.
128
129 * Expand <eu.etaxonomy.taxeditor> and open <<<eu.etaxonomy.taxeditor.product>>>
130
131 * In the <Testing> section (down left) click on <Launch an Eclipse application in Debug mode>
132
133 The Taxonomic Editor should launch. Note: You might want to tweak the launch configuration, e.g. increase the memory.
134
135 * Where do I go from here?
136
137 Please read the {{{http://dev.e-taxonomy.eu/trac/wiki/TaxonomicEditorDev}wiki}} for how-to's and code examples.