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 |