Open Source Content Management System

Upgrading MidCOM from 2.6 to 2.8

  1. Upgrading via PEAR
  2. New topic storage format
  3. Changed storage handler for net.nemein.calendar.
  4. Updated style engine
  5. MidCOM manifest caching
  6. New cron configuration
  7. CSS file merger/compressor
  8. Upgrading from older MidCOM versions

MidCOM upgrade from 2.6 to 2.8 is fairly easy. There are some things outlined below that need attention.

Upgrading via PEAR

The first thing you need to do is run pear upgrade midcom/midcom and then just pear upgrade-all to make sure all components have been upgraded.

The you should run datagard (as root) and call the upgrade function. Do this twice to be sure that all tables have the needed updates. After this, restart apache.

New topic storage format

Topic component and style settings have been moved from parameters to proper topic properties in this release. Old content folders can be migrated automatically by running the convert_legacy_topics.php script. To do this, access it with your browser at http://www.example.net/midcom-exec-midcom/convert_legacy_topics.php

Since 2.8beta29 you will also need to access http/www.example.com/midcom-exec-midcom/move_legacy_rcs.php

Changed storage handler for net.nemein.calendar.

If you use net.nemein.calendar, you will also have to call an extra conversion script: http://www.example.com/midcom-exec-net.nemein.calendar/convert_legacy_events.php

You should also expect changes in the different styles that will need to be updated.

Updated style engine

MidCOM style engine has been switched to use collector instead of query builder to fetch elements.

This means that empty elements are not seen by the style engine. You can place HTML comments, the noop tag, or something similar in them.

MidCOM manifest caching

Due to the changes in MidCOM manifest caching you should invalidate the cache after upgrading.

New cron configuration

MidCOM's cron service has been changed so that each different cron run (minute, hour, day) is invoked separately. This means that instead of calling the midcom_services_cron.sh once per minute, add something like the following to your crontab:

#MidCOM Cron runs
*/2  *    * * *   root  /usr/local/bin/midcom_services_cron.sh
30 *    * * *   root    /usr/local/bin/midcom_services_cron.sh hour
15 5    * * *   root    /usr/local/bin/midcom_services_cron.sh day

CSS file merger/compressor

This feature needs to be separately enabled, instructions.

  1. Make sure you have memcached and PHP memcache extension installed and usable
  2. Enable memcache for MidCOM: in code-init-before-midcom add $GLOBALS['midcom_config_local']['cache_module_memcache_backend'] = 'memcached';
  3. Enable the merger module: in code-init-after-midcom add require(MIDCOM_ROOT . '/midcom/services/js_css_merger.php');
  4. Make sure any styles you use add CSS files via $_MIDCOM->add_link_head(), for example:
$_MIDCOM->add_link_head
(
    array
    (
        'href' => MIDCOM_STATIC_URL . '/template_SimpleGray/content.css',
        'media' => 'all',
        'type' => 'text/css',
        'rel' => 'stylesheet'
    )
);

Upgrading from older MidCOM versions

If you're upgrading from MidCOM 2.4 or older, please refer to the Upgrading MidCOM from 2.4 to 2.6 guide.

Designed by Nemein, hosted by Anykey