Project

General

Profile

TaxonomicEditorImplementation » History » Version 15

Pepe Ciardelli, 03/28/2008 11:11 PM

1 1 Pepe Ciardelli
{{>toc}}
2
3
4
5
6
----
7
8
9 2 Pepe Ciardelli
# Taxonomic Editor Implementation
10 1 Pepe Ciardelli
11 2 Pepe Ciardelli
This page is a technological overview of the implementation of the [[TaxonomicEditor]].
12 1 Pepe Ciardelli
13
14 2 Pepe Ciardelli
A list of resources - tutorials, code snippets, etc. - can be found under [[EclipseRCPResources]].
15 1 Pepe Ciardelli
16
17
18
## Technology
19
20
 **Eclipse Rich Client Platform (RCP)** - the Java framework upon which the Taxonomic Editor will be built. It exposes to the developer the libraries for all graphic and interactive elements used within the Eclipse IDE. For more information, see the [Eclipse](http://www.eclipse.org/eclipse/platform-ui/) website.
21
22
23
Important libraries of the RCP include:
24
25
* **org.eclipse.ui** - the basic building blocks of an Eclipse UI - windows, views, menus, and toolbars - which are extended by the developer within the context of an Eclipse Plug-In Project 
26
27
* **org.eclipse.swt** - the Eclipse Standard Widget Toolkit, which provides GUI elements and basic layouts
28
29
* **org.eclipse.jface** - helper classes for UI development, such as viewers; contains components for implementing an MVC framework
30
31
* **org.eclipse.ui.forms** - offers a "Web-like", more modern look for SWT widgets, and puts font, headings, and colors in a managed form object that makes things like re-drawing all the elements on a page simpler. Also includes a nice master-detail framework used for the freetext-form implementation.
32
33
34
 **SWT Designer** - a plug-in for the Eclipse IDE that provides a graphic, drag-and-drop interface for GUI development and rapid UI prototyping, as well as some support for data binding. We have purchased 10 academic licenses; if you are interested in using SWT Designer in the course of the project, please contact me at p.ciardelli@bgbm.org. For more information, visit the SWT Designer [website](http://www.swt-designer.com/.)
35
36
37
 **Technical requirements** - Eclipse version 3.3.0 ("Equinox"), with Compiler Compliance (Windows -> Preferences -> Java -> Compiler) set to 5.0 and on-board Java Runtime Environment (Windows -> Preferences -> Java -> Installed JREs) set to 1.5. The settings ensure compliance with the CDM Java libraries.
38 3 Pepe Ciardelli
39
40
41
## Java Web Start
42
43 15 Pepe Ciardelli
The Editor is deployed on a user's desktop via  [Java Web Start](http://java.sun.com/products/javawebstart/ ([FAQ](http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/faq.html)) ), which allows the remote launching of a Java application. The user clicks on a link to a JNLP ("Java Network Launching Protocol") file describing application resources and launch specifications. Clicking on the JNLP link causes the browser to start Web Start, which first checks whether the user has the appropriate JRE to run the application (1.5 in the Editor's case), installs the appropriate JRE as necessary on the user's machine, then downloads and launches the application.
44 3 Pepe Ciardelli
45 1 Pepe Ciardelli
46 14 Pepe Ciardelli
The Editor is now cached on the local computer, in the user's directory ("C:\Documents and Settings\_username_\Application Data\Sun\Java\Deployment\cache"). Shortcuts are created on the desktop and in the startup menu; after the initial download, the user starts the Editor via these shortcuts. On each subsequent startup, the application checks with the remote site and downloads any updates to the codebase. Thus, the user experiences the Editor as a normal desktop application, with Web Start ensuring that it is always up to date.
47 10 Pepe Ciardelli
48
49
Java Web Start also provides an Application Cache Viewer which is accessed via the Java Control Panel and allows the user to see which Web Start applications are currently cached. This is especially useful for testing: the user can view the currently referenced JNLP file, see whether the application should still work offline, and delete the application from the cache.
50 8 Pepe Ciardelli
51 11 Pepe Ciardelli
52 13 Pepe Ciardelli
For a detailed description of deploying the Editor via Web Start, please see [[JavaWebStart]].