Upgrading to METAMOD 2.8

From version 2.7

METAMOD 2.7 was an internal release only, using Catalyst for the search interface. Upgrading is mostly the same as 2.6.

From version 2.6

Staticdata

staticdata/searchdata.xml

All <sc id=“x” type=“x”…> have change to <sc id=“1” idname=“activity_types” type=“basickey”…> (named ids + named rather than numeric types), see app/example for names and types.

Add dataset_file_location and dataset_file_size (see app/example):

  <mt name="data_file_location" share="FALSE"
   def="The location of the dataset on disk. Only for level 2 datasets" />
  <mt name="data_file_size" share="FALSE"
   def="The size of the file in bytes. Only for level 2 datasets" />

Master configuration

There are several new directives which must be set in master_config. Some examples:

    APPLICATION_USER - owner of webrun directory and Apache/Catalyst processes
    CATALYST_PORT    - run Catalyst on this port (normally 3000)
    PG_CONTRIB       - Directory for PostgreSQL contrib libs
    LDAP_SERVER      - LDAP server used for authentication
    LDAP_BASE_DN     - base DN for LDAP
    PMH_SYNCHRONIZE_ISO_IDENTIFIER - make OAI-PMH identifier the same as ISO-identifier
    APPLICATION_USER

    WMS_BACKGROUND_MAPSERVER - URL to background map server delivering coastlines and reticules
    WMS_NORTHPOLE_MAP - map names for different projections
    WMS_SOUTHPOLE_MAP - " "
    WMS_WORLD_MAP     - " "

Site-specific texts are no longer configured in master_config, but instead in a custom Template Toolkit file (applic/custom/templates/custom.tt). Custom images and CSS styles are similarly specified in applic/custom/static. Note that applic/filelist.txt must be updated for the files being copied to target. This concerns the following directives

    APP_HEADER_HTML
    APP_FOOTER_HTML
    SEARCH_APP_NAME
    SEARCH_APP_TITLE
    SEARCH_APP_HEADER_HTML
    SEARCH_APP_DESCRIPTION
    SEARCH_APP_PRESENTATION_HTML
    UPLOAD_APP_TITLE
    UPLOAD_APP_LOGIN_TEXT
    UPLOAD_APP_INLOGGED_TEXT
    UPLOAD_APP_COMMON_TEXT
    QUEST_TITLE
    QUEST_FORM_DEFINITON_FILE
    QUEST_METADATA_UPLOAD_FORM
    QUEST_SENDER_ADDRESS
    QUEST_RECIPIENTS
    QUEST_OKMESSAGE
    QUEST_ADM_BACKGROUND
    QUEST_ADM_TOPDIR

The following other directives are also no longer in use and should be removed:

    ADMIN_DOMAIN
    ADMIN_WEBUSER
    CATALINA_HOME
    CATALYST_SITE_CONFIG
    WMS_URL
    WMS_ONLINE_RESOURCE
    METADATA_SEARCH_URL
    UPLOAD_URL

SEARCH_CATEGORY_SEQUENCE must now use the alphabetical idnames from searchdata.xml (as modified in previous section) instead of numeric ids. Also, remove dataref from SEARCH_APP_SHOW_COLUMNS.

APP_MENU should no longer include links to the standard sections of the site (METADATA_SEARCH_URL, UPLOAD_URL) since these are now generated by Catalyst. See app/example for more information.

Database

Some minor changes to the metadata database. Suggest recreating the database and reimporting the metadata files:

  cd target/init
  ./create_and_load_all.sh

The userdatabase has been extensively modified, including support for login roles and SHA1-hashed passwords. Upgrade by running this script:

  target/userinit/upgradeuserdb_26-28.sh

XML metadata files

The XML files must be updated to include the attribute 'data_file_location', otherwise collection basket will not work. To update, run the script write_data_file_location.pl against the XML file directory, making sure you have access to the data files (NetCDF) since they must be read simultaneously.

Installation

Generation of Apache config and init scripts are now fully automated. After running update_target.pl you will find the following files in your target directory:

etc/httpd.conf

Apache configuration, destined either for /etc/apache2/sites-available (if using DNS-based virtual hosts) or /etc/apache2/conf.d (otherwise).

etc/init.d/catalyst-myapp

Init.d script to start/stop Catalyst.

metamodInit.sh

Script to start/stop the main METAMOD services.

To install these scripts systemwide, run install_jobs.sh from the target directory. You will need sudo permissions to execute it properly (the sudo commands are inside the script). This will place the following symlinks to the target directory:

etc/apache2/conf.d/APPLICATION_ID
etc/apache2/sites-available/APPLICATION_ID

Apache configuration, using either URL-based or DNS-based hosting. For the latter it will also run a2ensite to enable it.

/etc/init.d/catalyst-APPLICATION_ID

Init.d script to start/stop Catalyst.

/etc/init.d/metamodServices-APPLICATION_ID

Actually not a symlink, but a one-line script to run metamodInit.sh as the correct user.

Note: The configuration system is designed to work on a freshly installed Linux. Take care if you have already configured a site manually that it will not conflict with the newly generated config. Installation will abort if there are existing files in /etc with the same names. However, it is still possible if you have configured Apache manually in /etc/apache2/sites-enabled/default that the new directives in conf.d will never be applied. If so please remove your manual configuration to see if METAMOD will run, then reapply your custom config one bit at a time.

Starting and testing

See the Deploying manual on how to start/stop METAMOD.