''Responsible for this page: [wiki:mwindhouwer Menzo Windhouwer]. Content checked: see last modified date.'' {{{ #!html

Purpose

}}} The purpose of this page is to collect relevant information about SCHEMAcat. = Project: SCHEMAcat = The schema registry, aka SCHEMAcat, is a store for resource schemas and their metadata. ---- == Contents == [[PageOutline(1-2, , inline)]] ---- == People == * [[mwindhouwer|Menzo Windhouwer]] * ([[andmor|André Moreira]]) ---- == Status == Alpha available: http://lux17.mpi.nl/schemacat ---- == Functionality == * Shibboleth based access and user management (for upload and maintenance) * Upload a schema (in any textual form) * Enter some metadata * Maintain the metadata * Share the schema * Publish the schema * a PID gets assigned to the schema * Browse/search the schema registry * Version and lifecycle management * (Interface with RELcat) * (Schema type specific functionality, e.g., instance validation) ---- == Service dependencies == SCHEMAcat is envisioned to interface with other Web Services and CLARIN registries trough their REST API: * a handle server - PID management * [[ISOcat|Data Category Registry (ISOcat)]] * [[RelationRegistry|Relation registry (RELcat)]] ---- == Getting code == * You can browse the code [source:cats here] * Check out SCHEMAcat code from: {{{https://svn.clarin.eu/cats/SCHEMAcat}}} * You will also need our 'SLOOT' (TOOLS) module for !NetKernel 5 from : {{{https://svn.clarin.eu/cats/shared/urn.org.isocat.sloot/trunk}}} ---- == System Requirements == * [[http://java.oracle.com/|Java 5]] * [[http://download.netkernel.org/nkse/|1060 NetKernel 5.2.1 Standard Edition Developer Kit]] and extra !NetKernel modules: * !NetKernel 5 'html5-frameworks' module. * !NetKernel 5 'xml-saxon' module. * !NetKernel 5 'lang-javascript' module. * [[http://basex.org/products/download/all-downloads/|BaseX 7.8.1]] ---- == Building and Deploying == '''''!NetKernel''''' 1. Download the [[http://download.netkernel.org/nkse/|1060 NetKernel 5.2.1 Standard Edition Developer Kit]] distribution JAR file from the !NetKernel Portal. 1. Boot !NetKernel from the JAR file. {{{ #java -jar 1060-NetKernel-SE-5.2.1.jar }}} 3. Point your browser to http://localhost:1060 to access the !NetKernel management panels. 3. Select the 'Install' tab, the 'Install !NetKernel' service and then follow the directions.[[BR]] Initially !NetKernel boots directly from its distribution JAR and can be explored immediately. Use the installation service to create a custom installation of !NetKernel on your disk. 5. With !NetKernel installed on your computer, use the Apposite repository to obtain updates to the installed modules, this will ensure you are running with the latest updates and capabilities. To access 'Apposite', select the 'Apposite' tab and then the 'Apposite' client service. 5. Download and install the missing modules used by SCHEMAcat which are not installed by default: * html5-frameworks * saxon-xml * lang-javascript [[BR]][[BR]] '''''SLOOT !NetKernel module''''' 1. Checkout the SLOOT !NetKernel module, which is an in-house developed module with generic !NetKernel tools, from [[https://svn.clarin.eu/cats/shared/urn.org.isocat.sloot/trunk|cats/shared]] into an own folder 1. Add the following (adapt the path to point to your SLOOT source directory) to the end (before {{{}}}) of {{{path-to-1060-NKSEDK-5.2.1/etc/modules.xml}}} to enable this module {{{ /path-to-SLOOT/src/urn.org.isocat.sloot/ }}} [[BR]][[BR]] '''''SCHEMAcat !NetKernel modules''''' 1. Checkout the 5 SCHEMAcat !NetKernel modules, from [[https://svn.clarin.eu/cats/SCHEMAcat/trunk]] into own folders. * urn.org.isocat.schemacat.interface.rest * urn.org.isocat.schemacat.site * urn.org.basex.rest * urn.org.isocat.schemacat.access.data * urn.org.isocat.schemacat.admin 1. Add the following (adapt the path to point to your SCHEMAcat source directory) to the end (before {{{}}}) of {{{path-to-1060-NKSEDK-5.2.1/etc/modules.xml}}} to enable this module {{{ /path-to-SCHEMAcat/src/urn.org.isocat.schemacat.interface.rest/ /path-to-SCHEMAcat/src/urn.org.isocat.schemacat.site/ /path-to-SCHEMAcat/src/urn.org.isocat.schemacat.admin/ /path-to-SCHEMAcat/src/urn.org.basex.rest/ /path-to-SCHEMAcat/src/urn.org.isocat.schemacat.access.data/ }}} [[BR]][[BR]] '''''SCHEMAcat BaseX database''''' SCHEMAcat data is expected to be loaded into a BaseX collection named SCHEMAcat by default. Menzo has created a little script to help with that: https://svn.clarin.eu/cats/SCHEMAcat/trunk/various/scripts/create-BaseX-database.bxs 1. Checkout the 'data' folder containing the initial SCHEMAcat data, from [[https://svn.clarin.eu/cats/SCHEMAcat/trunk]] 1. Edit the script file 'create-BaseX-database.bxs' and adapt the path inside pointing it to your checked-out 'data' folder. 1. Run the script with ''basexclient -c''. 1. Configure the file /path-to-SCHEMAcat/urn.org.isocat.schemacat.access.data/etc/BaseXConfig.xml to use your local BaseX configuration. i.e. * REST interface host. * REST interface port. * REST interface path. * Collection name ('SCHEMAcat' if the create-BaseX-database.bxs script was used to bootstrap the database). * BaseX username. * BaseX password. The last step can also be achieved in the SCHEMAcat control panel in the !NetKernel backend: * load http://localhost:1060/ * select ''Extras'' from the top menu bar * select ''SCHEMAcat'' from the additional control panel * configure the BaseX access and press ''save'' [[BR]] If you want to refresh the database you can execute the following commands in the basexclient" * DROP DATABASE SCHEMAcat * set CREATEFILTER *.schemacat * set UPDINDEX ON * set FTINDEX ON * CREATE DB SCHEMAcat /path-to-the-SCHEMAcat-data-directory '''''Run SCHEMAcat''''' With both !NetKernel and BaseX running in your machine, access SCHEMAcat by surfing to: http://localhost:8080/schemacat/site/index.html ---- == Tickets == List of all '''open''' tickets for this component: [[TicketQuery(status=accepted|assigned|new|reopened,component=SCHEMAcat,order=priority,format=table,version=SCHEMAcat-beta|SCHEMAcat-1.0|SCHEMAcat-1.1,col=summary|version|type|priority|owner|reporter)]]