Open Source Content Management Framework

MidCOM 2.3.1 released

Posted on 2005-04-04 18:45:47 CEST.

GÜNZBURG -- The Midgard Project has released the latest development version 2.3.1 of MidCOM - the Midgard Components Framework. MidCOM is a PHP-based component framework for the Midgard Content Management System. This version is the second integration build for the upcoming 2.4.0 release, the current API can be considered 99% stable already.

MidCOM is the default Content Management interface in Midgard CMS, and provides developers a production-proven architecture for building new web applications. With the MidCOM framework PHP applications have powerful localization, configuration, templating and data abstraction features.

This is the second of a few relase candiadates for the upcoming 2.4.0 release. No more new features will be allowed into this branch and it is now open for translation updates (see a separate, upcoming annoucement for this).

Noteworthy changes since the 2.2 release branch (italic items have changed since 2.3.0):

  • Core
    • Created a more standardized configuration mechanism. See the file midcom/config/midcom_config.php for details. This will break any site not using MidCOM-Template, which has been adapted to the new config system.
    • Moved code to use the PEAR Package PHP_Compat instead of my own reimplementations.
    • Added a whole set of base classes to aid component authoring, making it significantly easier. See the documentation package midcom.baseclasses for further details.
    • Adapted the component loader and all derived places to support the new component baseclasses. A compatibility-layer for old-style components is in place, but it will be deprecated in 2.6. Components not using the new interface base class will then cease to work.
    • Added a Metadata interface that is independant of the actual object. It uses GUIDs to link to the conent objects, which can be retrieved using NAP. This is finally a single way to set and retrieve metadata for content objects. See the class midcom_helper_metadata.
    • The sessioning service now force-opens the session with disabled error reporting, as running session detection from NemeinAuth encoded sessions does not really work.
  • AIS
    • Integrated the new Metadata handler into the UI.
    • Updated navigation classes that supports dynamic navigation
    • Added configuraton interface.
  • Caching Engine
    • Added a uncached operation mode, where the cache is running normally but doesn't write out cache files. This is better then disabling the cache as the regular output control (including the headers added by the engine) are still in place. Use the MidCOM configuration option 'cache_uncached' to enable this mode.
    • When running under PHP 4.3+, the configuration process now tries to autodetect the best available cache handler, currently only supporting the db2, db3 and db4 handlers, as others haven't been tested with MidCOM yet.
    • Added a "live mode" that allows for the continuing uncached output to the client, mainly geared for status logs (in use during reindexing and n.s.photos bulk uploads).
  • Datamanager
    • The Datamaanger does now allow you to specify a schema upon initialization. This was required for the Metadata interface to allow editing the same MidgardObject with different schemas.
    • Fixed the number type using its own storage handler, as the default double from/to string conversion of PHP throws kommas and dots as decimal separators together, breaking the reading code (decimals got lost).
  • I18n
    • The main i18n class midcom_service_i18n does now include two small helper functions to convert any string between UTF-8 and the current local charset. This should encaspulate all iconv calls in the future, components should adapt to this until 2.6.0.
    • Centralized the iconv handling into the I18n service. You should no longer call iconv directly, but use $i18n->iconv instead.
  • Indexer
    • Added a new Indexer service. See the documentations on the various midcom_services_indexer* classes and the corresponding MidCOM technical notes.
    • The indexer is not yet included in the MidCOM distribution directly, see these installation instructions.
  • Logging Engine
    • Added debug_push_class helper, for easily adding $classname::$methodname logging prefixes. Use debug_push_class(__CLASS__, __FUNCTION__) if in doubt.
  • NAP
    • Rewrote NAP to use the Metadata facilities for Visibility settings. Invisible objects are now no longer passed into the on-site NAP data and ViewerGroups hidden Items are also skipped within AIS. The key MIDCOM_NAV_VISIBLE is now deprecated, the component's value is no longer honored. The Metadata facilities are to be used instead. This fixes these Bugs on components showing ViewerGroups hidden items: #116 (Sitemap) and #113 (AIS).
    • The midcom_helper_nav constructor does now use the current context as a default, not the root context. This is more intuitive then the original solution, as you usually want to access the navigatonal data from the context you are running in.
MidCOM 2.3.1 can be downloaded from: http://www.midgard-project.org/projects/midcom/download/2.3.html

More information from the Midgard Components Framework: http://www.midgard-project.org/projects/midcom/

MidCOM is part of Midgard CMS. Midgard CMS is a reliable Open Source Content Management system built on the Midgard Framework for Unix operating systems. It provides users with lots of benefits including scalability, internationalization and rapid deployment. Features include web-based authoring WYSIWYG interfaces and powerful replication system.

More information about Midgard: http://www.midgard-project.org/

Torben Nehmer, MidCOM lead developer

Back

Designed by Nemein, hosted by Anykey