[=#topofpage]
''Responsible for this page: [wiki:mwindhouwer Menzo Windhouwer].''
''Last content check: 27-08-2012''
{{{
#!html
Purpose
}}}
The purpose of this page is to collect relevant information about ISOcat.
= Project: ISOcat =
ISOcat is an implementation of ISO 12620:2009, which describes the data model and procedures around a Data Category Registry (DCR).
----
== Contents ==
[[PageOutline(1-2, , inline)]]
----
== People ==
* [[mwindhouwer|Menzo Windhouwer]]
* [[andmor|André Moreira]]
----
== Getting code ==
* You can browse the code [source:cats here]
* Check out from: {{{http://svn.clarin.eu/cats/ISOcat}}}
----
== System Requirements ==
* [[http://java.oracle.com/|Java 6]]
* [[http://ant.apache.org/|Apache Ant]]
* [[http://download.netkernel.org/nkse/|1060 NetKernel 3.3.1 Standard Edition Development Kit]] (with some additional patches included in our codebase)
* [[http://www.postgresql.org/|PostgreSQL 8.x]] (an external instance uses 9.x)
* [[http://www.generalinterface.org/|General Interface 3.9.1]]
* [[http://tango.freedesktop.org/Tango_Icon_Library|Tango icon library]] (to be phased out, but still some leftovers)
* [[http://www.famfamfam.com/lab/icons/silk/|famfamfam silk icon library]] and [[http://damieng.com/creative/icons/silk-companion-1-icons|silk companion]]
* [[http://code.google.com/p/mimeparse/|mimeparse JavaScript library]]
* [[http://ostermiller.org/utils/|Ostermiller Java Utilities]]
* the ISOcat forum is based on [[http://www.phpbb.com/|phpBB]] (with some additional patches included in our codebase)
----
== Dependencies ==
There are several other CLARIN projects that make use of data categories and use the ISOcat REST API:
* [[ComponentRegistryAndEditor|CMDI component registry and editor]]
* [[MetadataEditor|Arbil]] (for CMDI)
There are also companion registries under development:
* RELcat, a [[RelationRegistry|Relation Registry]]
* SCHEMAcat, a [[SchemaCat|Schema Registry]]
----
== Building and Deploying ==
''!NetKernel''
* download and install [[http://download.netkernel.org/nkse/|1060 NetKernel 3.3.1 Standard Edition Development Kit]]
* start !NetKernel using the appropiate startup script in {{{path-to-1060-NKSEDK-3.3.1/bin}}}
* goto [[http://localhost:1060]]
* goto the ''Module Management Wizard'' in the ''control panel'' and update all existing modules
* at time of writing this will update the HTTP Client Services, the HTTP Transport and XQuery
* shutdown !NetKernel (''Kernel Shutdown'' in the ''control panel'')
''Patch !NetKernel''
* checkout our precompiled !NetKernel patches from [[source:cats/patches/NetKernel/trunk/dist]]
* and copy these files in the equivalent places in your !NetKernel installation directory
* remove all jars from {{{path-to-1060-NKSEDK-3.3.1/lib/expanded}}}, so the libraries our patched modules use will be unpacked with a next restart
''3rd party !NetKernel modules''
* checkout some 3rd party !NetKernel modules from [[source:cats/patches/NetKernel/trunk/contrib]]
* copy these jars into {{{path-to-1060-NKSEDK-3.3.1/modules}}}
* add the following to the end (before {{{}}}) of {{{path-to-1060-NKSEDK-3.3.1/etc/deployedModules.xml}}} to enable these modules
{{{
modules/mod-e4x-1.0.0.jar
modules/db-metadata.jar
modules/mod-stink-0.1.0.jar
modules/test-stink-0.1.0.jar
}}}
''SLOOT !NetKernel module''
* checkout the SLOOT !NetKernel modules, which is an in-house developed module with generic !NetKernel tools, from [[source:cats/shared]] into an own folder
* download the [[http://code.google.com/p/mimeparse/|mimeparse JavaScript library]]
* create a {{{local-props.xml}}} file in the SLOOT folder specifying the location of !NetKernel and mimeparse
{{{
}}}
* rename the old {{{ext-xquery-2.4.3.jar}}} module in {{{path-to-1060-NKSEDK-3.3.1/modules}}} to {{{ext-xquery-2.4.3.jar.BAK}}} to prevent some clashes
* run {{{ant}}} in the top SLOOT folder
* add the following (adapt the path to point to your ISOcat source directory) to the end (before {{{}}}) of {{{path-to-1060-NKSEDK-3.3.1/etc/deployedModules.xml}}} to enable this module
{{{
/path-to-SLOOT/mod-SLOOT
}}}
''ISOcat development-only !NetKernel modules''
* checkout the ISOcat !NetKernel modules from [[source:cats/ISOcat/trunk]] in your ISOcat source code folder
* the modules in the {{{path-to-ISOcat/develop}}} are !NetKernel modules to serve static files that in a production environment will be served by the HTTP server, e.g., Apache
* some of these static files need to be downloaded and placed in the right directory
* download the [[http://www.generalinterface.org/|General Interface 3.9.1]] Debug edition (in a production environment use the Standard edition) and place the content of the archive into the {{{path-to-ISOcat/develop/mod-gi/gi/3.9.1/}}} directory
* download the [[http://tango.freedesktop.org/Tango_Icon_Library|Tango icon library]] {{{tango-icon-theme}}} and place the content of the archive into the {{{path-to-ISOcat/develop/mod-Tango/Tango/}}} directory (in a production environment ISOcat only needs the {{{16x16}}} subdirectory)
* download the [[http://www.famfamfam.com/lab/icons/silk/|famfamfam silk icon library]] and place the content of the archive into the {{{path-to-ISOcat/develop/mod-famfamfam/famfamfam/silk}}} directory
* download the [[http://damieng.com/creative/icons/silk-companion-1-icons|silk companion]] and place the content of the archive into the {{{path-to-ISOcat/develop/mod-famfamfam/famfamfam/silk-companion}}} directory (there are several other ''silk companion'' icon sets, which might be interesting for new developments)
* add the following (adapt the path to point to your ISOcat source directory) to the end (before {{{}}}) of {{{path-to-1060-NKSEDK-3.3.1/etc/deployedModules.xml}}} to enable these modules
{{{
/path-to-ISOcat/develop/mod-gi
/path-to-ISOcat/develop/mod-Tango
/path-to-ISOcat/develop/mod-famfamfam
}}}
* tell the !NetKernel HTTP frontend fulcrum to resolve request for the files in these modules by adding the following below the ''Add your modules below here...'' comment in {{{path-to-1060-NKSEDK-3.3.1/modules/mod-fulcrum-frontend/module.xml}}}
{{{
urn:gi
urn:tango
urn:famfamfam
}}}
''ISOcat !NetKernel modules''
* download the [[http://ostermiller.org/utils/|Ostermiller Java Utilities]]
* create a {{{local-props.xml}}} file in the {{{path-to-ISOcat/mod-ISOcat-utils}}} folder specifying the location of !NetKernel and the Ostermiller Java Utilities
{{{
}}}
* run {{{ant}}} in the top ISOcat folder
----
== Interfaces ==
There is a [http://www.isocat.org/rest/help.html public readonly REST API] and the [http://www.isocat.org/interface/ General Interface web UI].
----
== Manual ==
See [http://www.isocat.org/manual/ the manual page at isocat.org]
----
== Design ==
----
== Tickets ==
There is a public [https://sourceforge.net/tracker/?group_id=244572 bug and issue tracker] at !SourceForge.
----
== Servers ==
The ISOcat production server is [[http://www.isocat.org/|www.isocat.org]].
The ISOcat test server is [[http://lux13.mpi.nl/|lux13]], which also hosts alpha versions of RELcat and SCHEMAcat.
----
== Status, Planning and Roadmap ==
Status: active
Planning and roadmap:
----
== History ==