Project

General

Profile

CDM Server » History » Version 7

Andreas Kohlbecker, 10/29/2009 02:58 PM

1 1 Markus Döring
{{>toc}}
2
3
4
5
# CDM Community Server
6
7
A Central datastore for a community of users (taxonomically, geographically or otherwise defined). The community store server is used to centrally host versionable [[CommonDataModel]] data.
8
9
The store makes use of the [[CdmLibrary]] and exposes [[CdmAPI#RemoteAPI|webservices]] based on the [[CdmLibrary]] service layer.
10
11
The CDM store is a central piece of the platform and applications that are able to interface with this store are considered part of the platform.
12
13
14
15 3 Markus Döring
----
16
17
18 7 Andreas Kohlbecker
## Getting Started
19
20
The CDM Community Server comes in two flavors. As standalone server (@cdmserver-standalone.jar@) and as war archive (@cdmserver.war@). Using the standalone server is the easoied and recommendet way to get a CDM Community Server up and running. Installing the `cdmserver.war` into Tomcat is currently not recommendet due to a known memory leak which occured only in this combination. The standalone server does not have this problem.
21
22
23
In the following the required tesps to install the standalone server are described. Currently there is no official guidance on installing the war, bur iterested developers may refer to the [[WebserviceDeployment]] page to get some hints.
24
25
26
27
### Installing the standalone server
28
29
This install guide describes the installation of the standalone server on a Debian linux system and should also be compatible with Ubuntu systems. 
30
31
1. Download the `cdmserver-standalone.jar` and the init script `cdmserver` and the @datasources.xml@.
32
33
1. Store  `cdmserver-standalone.jar` in the filesystem of your server.
34
35
1. Copy the init script `cdmserver` into `/etc/init.d/` 
36
37
1. Edit in the init script `cdmserver` the `CDM_HOME` path variable to macth the path where `cdmserver-standalone.jar` has been stored in step 2.
38
39
1. Create the `.cdmLibrary` folder in `CDM_HOME` 
40
41
1. Install the init script `cdmserver` by running the following command: `update-rc.d cdmserver defaults` 
42
43
1. Copy `datasources.xml` into it and edit this file to match your cdm data bases.
44
45
1. Start the cdm server: `/etc/init.d/cdmserver start@. You can stop the server by executing @/etc/init.d/cdmserver stop` 
46
47
48
49
50
----
51
52
53 1 Markus Döring
## Webservices
54
55 6 Andreas Müller
Srvices/APIs exposed by the community store are:
56 1 Markus Döring
57
58
59
### XML/JSON REST
60
61 5 Andreas Kohlbecker
Mainly read operations exposing [[CdmDataTransferObjects]] for the [[CdmDataportal]]. The services are URL encoded REST services and the http content-type of a request specifies whether XML (default) or JSON will be returned. For further details please refer to [[CdmRestServices|CDM REST Services]].
62 1 Markus Döring
63
The detailed list of implemented and planned operations can be found at wiki:CdmAPI#RemoteAPI
64
65
66
67
### RSS Search feeds
68
69
Additionally to the search services provided by the REST API above, the same search methods will also be exposed as RSS feeds. This allows RSS clients, or wikipedia:Aggregator, to "subscribe" to specific searches as RSS feeds are natively ordered chronologically and new search entries therefore can easily be identified. It is planned that all [[PrimaryCdmObjects]] will be exposed for searches.
70
71
72
73
### OAI-PMH
74
75
In order to build central aggregators is is planned to support the  [OAI-PMH protocol](http://www.openarchives.org/OAI/openarchivesprotocol.html)  with selective date based harvesting. [GBIF":http://www.gbif.net, "EOL](http://www.eol.org/) or any other data aggregator will therefore be able to easily pool CDM data and keep their copy up to date by accessing incremental changes only - and not the entire CDM dataset every time.
76
77
78
79
### LSID
80
81
The CDM Store will include an LSID resolver exposing [[PrimaryCdmObjects]] objects in RDF as TDWG LSID voc
82
83
84 3 Markus Döring
85 4 Markus Döring
### Linkback Annotations
86
87
All pages should expose a linkback mechanism that allows to be aware of external comments done on popular blogging software. See Wikipedia:Linkback
88
89
90 3 Markus Döring
91
----
92 1 Markus Döring
93
94
## File Server
95
96
97
### Images
98
99
Please see [[ImageServer]]
100
101
102
### Documents/PDF
103
104
We will use Drupal as a start