CLARIN COMPONENT REGISTRY ========================= What is it? ----------- The Component Registry stores CMDI metadata components and profiles and offers a service to list and retrieve them. The separate GUI project is a web application displaying available components in the component registry in the correct context: application domain, creator, creation date, version, etc. The registry offers a hierarchical structure for browsing the components. The Component Registry is set up as a Javascript frontend communicating with a Java based backend (REST service). Sources for the front end can be found, along with more information, at . The ComponentRegistry is a central software component to the Clarin MetaData Infrastructure (CMDI). For more information on CMDI, see . Documentation ------------- - A set of TRAC pages for developers has been setup on the Clarin.eu TRAC at . You will need a login to access these pages. To request one, contact . - The REST interface is documented at . - Documentation for users is available at . - Information on internally managing the application can be found at . Project structure ----- This project contains two modules: - 'ComponentRegistry', a Java project that implements the Component Registry REST service, administration pages and a web container for a client UI. - 'ComponentSpecFixer', a utility that cleans up the component specifications in the database with 'materialised expansion'. How to set up for development/building from source -------------------------------------------------- * Creating initial setup files: - in ComponentRegistry: `mvn eclipse:eclipse` - Generates eclipse configuration - For NetBeans, simply open the POM as a project * Creating war artifact for local deployment: - in ComponentRegistry: mvn package The ComponentRegistry war will include the front end files needed to start the application. So deploying the resulting war will be enough to start the application. * Building for specific deployment environment By default the application is set to work when deployed on localhost. If you want to change that change the serverRootUrl property in the pom.xml of ComponentRegistry. There are already build profiles for lux16.mpi.nl and catalog.clarin.eu that set these correctly. You can trigger these by providing the -Plux16 or -Pclarin options to mvn respectively. The rest service relies on a Component Registry database, for which a create script can be found in the src/sql directory. For configuration instructions, see the comments in context.xml. * NOTE on generating java classes from general-component-schema.xsd. The ComponentRegistry needs the general-component-schema.xsd, which should be found at: 1) ComponentRegistry/src/main/binding/ -> that directory has a svn:externals property pointing to the schema. Do a 'svn propget svn:externals' to see the property. Results in: 'http://svn.clarin.eu/metadata/trunk/toolkit/general-component-schema.xsd general-component-schema.xsd' * Developing and Debugging "ComponentRegistry" back-end. Select the 'development' Maven profile (Netbeans has a dropdown menu for this) to get logging output on the console. If, when trying to run the backend, you're getting errors from Spring stating that "Name [ComponentRegistry] is not bound in this Context. Unable to find [ComponentRegistry]" it means that you do not have a JNDI resource for the database connection set up correctly. See the installation instructions for more information. * Developing the front end: See . Installation ------------ Please see the file called INSTALL Upgrading --------- Please see the file called UPDATE