1 | CLARIN COMPONENT REGISTRY |
---|
2 | ========================= |
---|
3 | |
---|
4 | What is it? |
---|
5 | ----------- |
---|
6 | The Component Registry stores CMDI metadata components and profiles and |
---|
7 | offers a service to list and retrieve them. The separate GUI project is a web |
---|
8 | application displaying available components in the component registry in the |
---|
9 | correct context: application domain, creator, creation date, version, etc. |
---|
10 | The registry offers a hierarchical structure for browsing the components. |
---|
11 | |
---|
12 | The Component Registry is set up as a Javascript frontend communicating with a |
---|
13 | Java based backend (REST service). Sources for the front end can be found, along |
---|
14 | with more information, at <https://github.com/clarin-eric/react-webpack-comp-reg>. |
---|
15 | |
---|
16 | The ComponentRegistry is a central software component to the Clarin MetaData |
---|
17 | Infrastructure (CMDI). For more information on CMDI, see |
---|
18 | <http://www.clarin.eu/cmdi>. |
---|
19 | |
---|
20 | Documentation |
---|
21 | ------------- |
---|
22 | - A set of TRAC pages for developers has been setup on the Clarin.eu TRAC at |
---|
23 | <http://trac.clarin.eu/wiki/ComponentRegistryAndEditor>. You will need a |
---|
24 | login to access these pages. To request one, contact <clarin@clarin.eu>. |
---|
25 | |
---|
26 | - The REST interface is documented at <http://www.clarin.eu/node/3248>. |
---|
27 | |
---|
28 | - Documentation for users is available at <http://www.clarin.eu/node/3223>. |
---|
29 | |
---|
30 | - Information on internally managing the application can be found at |
---|
31 | <https://trac.clarin.eu/wiki/ComponentRegistryAndEditor#Management>. |
---|
32 | |
---|
33 | Project structure |
---|
34 | ----- |
---|
35 | This project contains two modules: |
---|
36 | |
---|
37 | - 'ComponentRegistry', a Java project that implements the Component Registry |
---|
38 | REST service, administration pages and a web container for a client UI. |
---|
39 | - 'ComponentSpecFixer', a utility that cleans up the component specifications |
---|
40 | in the database with 'materialised expansion'. |
---|
41 | |
---|
42 | How to set up for development/building from source |
---|
43 | -------------------------------------------------- |
---|
44 | * Creating initial setup files: |
---|
45 | |
---|
46 | - in ComponentRegistry: `mvn eclipse:eclipse` |
---|
47 | - Generates eclipse configuration |
---|
48 | - For NetBeans, simply open the POM as a project |
---|
49 | |
---|
50 | * Creating war artifact for local deployment: |
---|
51 | |
---|
52 | - in ComponentRegistry: mvn package |
---|
53 | |
---|
54 | The ComponentRegistry war will include the front end files needed to start the |
---|
55 | application. So deploying the resulting war will be enough to start the |
---|
56 | application. |
---|
57 | |
---|
58 | * Building for specific deployment environment |
---|
59 | By default the application is set to work when deployed on localhost. If you want to change that |
---|
60 | change the serverRootUrl property in the pom.xml of ComponentRegistry. There are already build |
---|
61 | profiles for lux16.mpi.nl and catalog.clarin.eu that set these correctly. You can trigger |
---|
62 | these by providing the -Plux16 or -Pclarin options to mvn respectively. |
---|
63 | |
---|
64 | The rest service relies on a Component Registry database, for which a create script can be found in |
---|
65 | the src/sql directory. For configuration instructions, see the comments in context.xml. |
---|
66 | |
---|
67 | * NOTE on generating java classes from general-component-schema.xsd. |
---|
68 | The ComponentRegistry needs the general-component-schema.xsd, which should be found at: |
---|
69 | 1) ComponentRegistry/src/main/binding/ -> that directory has a svn:externals property pointing to the schema. |
---|
70 | Do a 'svn propget svn:externals' to see the property. Results in: |
---|
71 | 'http://svn.clarin.eu/metadata/trunk/toolkit/general-component-schema.xsd general-component-schema.xsd' |
---|
72 | |
---|
73 | * Developing and Debugging "ComponentRegistry" back-end. |
---|
74 | |
---|
75 | Select the 'development' Maven profile (Netbeans has a dropdown menu for this) to get |
---|
76 | logging output on the console. |
---|
77 | |
---|
78 | If, when trying to run the backend, you're getting errors from Spring stating that |
---|
79 | "Name [ComponentRegistry] is not bound in this Context. Unable to find [ComponentRegistry]" |
---|
80 | it means that you do not have a JNDI resource for the database connection set up correctly. |
---|
81 | See the installation instructions for more information. |
---|
82 | |
---|
83 | * Developing the front end: |
---|
84 | |
---|
85 | See <https://github.com/clarin-eric/react-webpack-comp-reg>. |
---|
86 | |
---|
87 | Installation |
---|
88 | ------------ |
---|
89 | Please see the file called INSTALL |
---|
90 | |
---|
91 | Upgrading |
---|
92 | --------- |
---|
93 | Please see the file called UPDATE |
---|