CDM Server » History » Version 11
Andreas Kohlbecker, 10/29/2009 04:37 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 | 11 | Andreas Kohlbecker | 1. Download the [cdmserver-standalone.jar":http://dev.e-taxonomy.eu/download/cdmserver/2.2/cdmserver-standalone.jar and the init script "cdmserver":http://dev.e-taxonomy.eu/download/cdmserver/2.2/initscript/cdmserver and the "datasources.xml](http://dev.e-taxonomy.eu/download/cdmserver/2.2/datasources.xml.) |
32 | 7 | Andreas Kohlbecker | |
33 | 1. Store `cdmserver-standalone.jar` in the filesystem of your server. |
||
34 | |||
35 | 11 | Andreas Kohlbecker | 1. Copy the init script `cdmserver` into `/etc/init.d/` and adapt the permissions and the ownership: |
36 | 1 | Markus Döring | |
37 | 10 | Andreas Kohlbecker | ~~~ |
38 | cp cdmserver /etc/init.d/ |
||
39 | chmod 755 cdmserver |
||
40 | chown root:root cdmserver |
||
41 | ~~~ |
||
42 | 7 | Andreas Kohlbecker | 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. |
43 | |||
44 | 1 | Markus Döring | 1. Create the `.cdmLibrary` folder in `CDM_HOME` |
45 | 7 | Andreas Kohlbecker | |
46 | 10 | Andreas Kohlbecker | 1. Install the init script `cdmserver` by running the following command: |
47 | 1 | Markus Döring | |
48 | 10 | Andreas Kohlbecker | ~~~ |
49 | update-rc.d cdmserver defaults |
||
50 | ~~~ |
||
51 | 7 | Andreas Kohlbecker | 1. Copy `datasources.xml` into it and edit this file to match your cdm data bases. |
52 | 1 | Markus Döring | |
53 | 10 | Andreas Kohlbecker | 1. Start the cdm server: |
54 | 1 | Markus Döring | |
55 | 10 | Andreas Kohlbecker | ~~~ |
56 | /etc/init.d/cdmserver start |
||
57 | ~~~ |
||
58 | 1. You can stop the server by executing |
||
59 | |||
60 | ~~~ |
||
61 | /etc/init.d/cdmserver stop |
||
62 | ~~~ |
||
63 | 7 | Andreas Kohlbecker | |
64 | |||
65 | |||
66 | ---- |
||
67 | |||
68 | |||
69 | 1 | Markus Döring | ## Webservices |
70 | |||
71 | 6 | Andreas Müller | Srvices/APIs exposed by the community store are: |
72 | 1 | Markus Döring | |
73 | |||
74 | |||
75 | ### XML/JSON REST |
||
76 | |||
77 | 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]]. |
78 | 1 | Markus Döring | |
79 | The detailed list of implemented and planned operations can be found at wiki:CdmAPI#RemoteAPI |
||
80 | |||
81 | |||
82 | |||
83 | ### RSS Search feeds |
||
84 | |||
85 | 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. |
||
86 | |||
87 | |||
88 | |||
89 | ### OAI-PMH |
||
90 | |||
91 | 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. |
||
92 | |||
93 | |||
94 | |||
95 | ### LSID |
||
96 | |||
97 | The CDM Store will include an LSID resolver exposing [[PrimaryCdmObjects]] objects in RDF as TDWG LSID voc |
||
98 | |||
99 | |||
100 | 3 | Markus Döring | |
101 | 4 | Markus Döring | ### Linkback Annotations |
102 | |||
103 | All pages should expose a linkback mechanism that allows to be aware of external comments done on popular blogging software. See Wikipedia:Linkback |
||
104 | |||
105 | |||
106 | 3 | Markus Döring | |
107 | ---- |
||
108 | 1 | Markus Döring | |
109 | |||
110 | ## File Server |
||
111 | |||
112 | |||
113 | ### Images |
||
114 | |||
115 | Please see [[ImageServer]] |
||
116 | |||
117 | |||
118 | ### Documents/PDF |
||
119 | |||
120 | We will use Drupal as a start |