1.8
- Requirements
- Midgard 1.8 for end users
- Midgard 1.8 for developers
- Midgard metadata.
- Midgard metadata in Query Builder
- Midgard Query Builder
- ISO datetimes
- Improved support for GUIDs
- Midgard Reflection
- New datatype for object's properties.
- New MidgardCollector type
- Replication and undelete
- Improvemenets
- Installation improvements
- Resolved issues
- Known issues
- Issues which probably can not be fixed in 1.8 branch
Main focus of Midgard 1.8 release is stability , optimization and new features which couldn't be included in 1.7 release.
Get started with Midgard 1.8 now!
Requirements
- GLib2 >= 2.4
- libxml2 >= 2.6
- MySQL >= 4.1
- Apache ( Apache2 is recommended )
- PHP >= 4.3
Midgard 1.8 for end users
New features include
- Comprehensive authoring tools
- Website management
- Multilingual support
- Multilingual support
- Web development
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.
Replication and undelete
Not yet implemented.
Improvemenets
- Rewritten object's SELECTs from database
- MgdSchema objects independent from midgard pool
- MySQL 4.1 and MySQL 5.0 support
- UUID support and the mgd_is_guid() function
- Midgard Query Builder support for joined objects
- GCC4 support
Installation improvements
- Midgard CMS - MidCOM is installable and available as PEAR packages.
- New command line tool midgard-schema allows developers to create objects' database storage automatically. This tool is also able to perform basic object's operations ( like invoking real create or update methods ) before classes are registered in production environment.
- Datagard performs database with full UTF-8 support update
- CMS packages installed from pear channels are supported with datagard. As well, as initial new sitewizard setup.
Resolved issues
- midgard pool memory leak
- Wrong Sitegroup for Parameter Records
- SECURITY BLOCKER
- Object sometimes have 0 as value instead of their real value
- Parametrizable constraints in the Query Builder
- Bad API for IN queries
- midgard_query_builder_count badly implemented
- Datagard sets "php_flag output_buffering On"
- configure checks regarding libxml incomplete
- Possible Memory Corruption in the MgdSchema core
- guid not poulated after create
Known issues
- none major
Issues which probably can not be fixed in 1.8 branch
- Full GUIDs support , not only for midgard_metadata.
