ISOcat INSTALLATION AND INITIALIZATION 0) Prerequisites - JDK 1.6 (untested with 1.7) - PostgreSQL 8.4 (initial tests with 9.1 look fine) (An Unix-based system, but ISOcat is Java-based and also runs on Windows) 1) Install 1060 NetKernel 3.3.1 and ISOcat This distribution contains all ISOcat modules and dependencies slipstreamed into the NetKernel installation, which makes installation easy. -a Copy (and if needed unpack) the ISOcat-NKSEDK-3.3.1 directory to a directory where you have write rights. -b Run complete-tarball-install.sh to update some location specific settings. 2) Initialize the PostgreSQL database -c Create an isocat user (password: isocat) and an isocat database: CREATE ROLE isocat LOGIN PASSWORD 'isocat'; CREATE DATABASE isocat WITH owner = isocat ENCODING = 'UTF8'; Depending on the configuration of your PostgreSQL installation the pgpsql language has to be loaded: CREATE PROCEDURAL LANGUAGE plpgsql; -d Now initialize the database: cat modules/ISOcat/mod-ISOcat-access-data/dbms/ISOcat-schema-empty.sql | psql -U isocat -W isocat cat modules/ISOcat/mod-ISOcat-access-data/dbms/ISOcat-schema-init.sql | psql -U isocat -W isocat cat modules/ISOcat/mod-ISOcat-access-data/dbms/ISOcat-schema-constraints.sql | psql -U isocat -W isocat 3) First run of ISOcat -e Move to the ISOcat-NKSEDK-3.3.1/bin directory -f Run start.sh to startup the NetKernel application server. Check the messages you see on the console as due to a concurrent class loading bug from time to time we see the 'Externally supplied NodeInfo belongs to the wrong Configuration' message from Saxon. If you see this message stop the server (CTRL+C will do the trick) and try again. ... Sorry, we didn't find a solution to this problem yet :-( -g You should now be able to access your local ISOcat installation at: http://localhost:8080/isocat/interface/index.html -h The ISOcat management console is available via NetKernels control panel: http://localhost:1060/ 'Click Here To Continue' > 'applications' > ISOcat system management In the 'Configure' form a valid SMTP server should be specified, as this is needed to mail the credentials to a newly registered user. 4) Adding profiles and Thematic Domain Groups and the DCR Board chair. This installation of ISOcat comes with an Example TDG (and its profile) and DCR Board, both chaired by the user account 'chair'. You can adapt those and extend them. Unfortunately ISOcat currently doesn't provide an user interface to manage the TDG and profiles, so it has to be done by directly updating the database tables. WARNING: Always make a backup copy of the database before editing the tables directly! In this case the important tables are: - core_user: containing the user profiles - core_thematic_domain_group: contains the information on the TDGs - core_profile: contains the information on the profile -i To rename the login of the DCR Board chair: UPDATE core_user SET login = 'LOGIN' WHERE login='chair'; Where LOGIN should be replaced by a valid login string, i.e., it shouldn't contain spaces or start with a number. All other information can be edited in the UI by loging in as this user. -j Renaming the example TDG and profile can also be done by an UPDATE SQL statement. -k For adding a TDG and profile the following SQL statements need to be adapted: -- an example TDG INSERT INTO core_account DEFAULT VALUES; INSERT INTO core_group (id) VALUES (currval('core_account_id_seq'::regclass)); INSERT INTO core_owner (id) VALUES (currval('core_account_id_seq'::regclass)); INSERT INTO core_thematic_domain_group (id,"name",description,"order",status,activity) VALUES (currval('core_account_id_seq'::regclass),'TDG-NAME','TDG-DESCRIPTION.',1,'TDG-STATUS','TDG-ACTIVITY'); INSERT INTO link_group_members("group", member, "role", status) VALUES (currval('core_account_id_seq'::regclass),TDG-CHAIR,'chair','accepted'); -- the profile linked to the TDG INSERT INTO core_profile (name,tdg) VALUES ('TDG-PROFILE',currval('core_account_id_seq'::regclass)); Where the following should be replaced: - TDG-NAME: the name of the TDG - TDG-DESCRIPTION: a description of the aims of the TDG - TDG-STATUS: is the TDG established or being startup - TDG-ACTIVITY: is the TDG active or inactive - TDG-CHAIR: the account number of the user chairing the TDG - TDG-PROFILE: the profile linked to the TDG (a TDG can manage more then one profile) 5) What's missing? This installation description doesn't yet include the setup of a synced phpBB forum. 6) Some known problems - The 'Externally supplied NodeInfo belongs to the wrong Configuration' message due to a concurrent load from the Saxon classes. - For nice labels the HTML renderer for data category specifications relies on some data categories specific to the ISOcat TC37 instance running at www.isocat.org, there should be some fallback to a suplied export of the relevant selection. 7) Questions, problems, feature requests, etc. Please send an email to: isocat@mpi.nl