August 8, 2006

Midgard 1.8beta1 "Danke" released

Piotr Pokora writes "Lodz, August 8th 2006 - The Midgard Project has released the first
beta release version for the upcoming 1.8 stable branch of the
Midgard Open Source Content Management System.

Midgard's 1.8 branch focus on improved stability for Midgard2 technology
preview features introduced in 1.7 branch.

First beta release is fully customizable and installable release adressed
for developers and users who want to use Midgard environment on testing and
even semi-production servers.

New branch provides metadata for all objects registered from schemas.
Improved MgdSchema types managament includes features like automatic
guid accessibility and ISO datetimes.

Midgard-schema, new command line tool creates database's storage tables
and performs tests on registered types before implementing application
in production environment.

PHP is no more the only one scripting language supported by Midgard.
Due to MgdSchema technology Midgard provides better connectivity for
Java developers.

1.8 branch is the last one Midgard branch with repligard.
Replication and undelete functionality will be fully supported by midgard
core library in stable release.

Midgard 1.8 for end users

Unified Configuration

New configuration file format allows users to reuse the same midgard
configuration among many different applications and among many environments.
New file format is in beta state in this release and will be provided as the
only one recommended way to configure any applications in future Midgard releases.
The main goal is to reuse configuration even with different binaries without any
need to rebuild Midgard.

New file format is currently supported by:

  • midgard-php used with php-cli
  • midgard-schema
  • midgard-query
  • midgard-apache2 module

Midgard 1.8 for developers

Midgard metadata.

New midgard_metadata class is new Midgard's internally initialized type which is
integral part of every user defined class. midgard_metadata object is accessible
as 'metadata' property for every newly created object instance. Informations
like date of object's creation or last update, visibility or object's creator
are available for all classes defined in schema files. This functionality also
supports sheduling dates for registered classes. Even for attachments or persons.

Midgard metadata in Query Builder

As Midgard Query Builder is the default way to query objects from database,
it also supports metadata constraints. Any object may be queried from database
not only using its own properties but also using metadata property.

Midgard Query Builder

Highly improved Query Builder can create join like SQL queries and allow to
query schema objects with their corresponding parameters or attachments.
New INTREE operator may be used to query objects in Midgard content tree.

ISO datetimes

Following Midgard mRFC 0020 midgard_metadata properties with MGD_TYPE_TIMESTAMP
represents dates as ISO datetimes. All dates are stored in UTC timezone in database.

Improved support for GUIDs

All midgard_metadata properties which are links to other types use only guids
instead of ids. Additionaly every object in midgard database is represented by
guid which is now stored in object's table and doesn't have to be retrieved by
particular method. Database upgrade performed by datagard updates every record
in database, so even records created or updated with old traditional Midgard API
are converted and ready for new applications.

Midgard Reflection

Midgard Reflection is designed for developers who need to write "schema aware"
applications without any knowledge about schema registered for application.
Property's or type's attributes defined in schema files are easily accessible
with Midgard Reflection objects.

  • midgard_reflection_property
  • midgard_reflection_class ( not yet implemented )

New datatype for object's properties.

With Midgard's Reflection one may retrieve property's type. Types like longtext
or datetime defined in application's schema are easily accessible on any level
wihout any need to redefine such data for application which create user's GUI
based on used objects.

New MidgardCollector type

MidgardCollector, special and limited resource data handler optimized for
performance and data accessibility. Implementation design focus on fast and easy
reusable data accessibility for such features like object's parameters or even
powerfull Midgard style engine.

Changes from 1.7 branch:


  • Metadata for all MgdSchema objects
  • Support for ISO metadata datetimes
  • New Quota for MgdSchema objects
  • Rewritten database SELECTs with performance in mind
  • Metadata and joined objects supported by MidgardQueryBuilder
  • Guids support for objects and metadata
  • New midgard-schema command line tool for testing schemas and creating database tables


  • Repligard as part of midgard-data package
  • Improved support for pear packages
  • New Midgard sitewizard


  • Extension is not built against MySQL or Apache

Changes from 1.8alpha3 release:


  • Improved mulitilingual support
  • Replication related functions rewritten for guids only
  • New API get_languages method for MgdSchema objects
  • midgard_topic class defined with multilingual support


  • Improved missed root file "detection"


  • Legacy MidgardTopic class rewritten with multilingual support
  • Implemented midgard_collector for PHP4 and PHP5 language bindings
  • Improved PHP5 support
  • New language functions: mgd_set_default_lang and mgd_get_default_lang
  • New API get_languages method for MgdSchema objects.


  • Removed obsolete layout xml packages
  • Fixed new configuration file management
  • Fixed cache and lib directories permissions
  • Midcom's static dirs configurable via pear packages

Planned for next releases

  • Next 1.8beta2 release: September 2006
  • Automated database MgdSchema management and table initialization
  • Deprecation of the classic functional Midgard API in favor of
    MgdSchema and Query Builder
  • Deprecation of repligard and apache1 support.
  • Core's library API for replication and undelete
  • Integrated midgard-java package

Download page for latest release:

Getting started with Midgard:


Bugs reporting:

User and developers support:

About Midgard

The Midgard Content Management Framework was initially released in May
1999, and has since gathered a sizable user and developer community.
Midgard powers thousands of web sites ranging from simple organizational
websites to major portals like New Zealand eGovernment site and

Midgard is being developed by an international team of professionals.
Midgard's development team includes new media designers, system
integrators and content management consultants. Midgard development is
being supported by several commercial and governmental entities
including the European Union.

Piotr Pokora, Midgard release manager

Henri Bergius, Midgard spokesman

The Midgard Project"

Click Here!