Lodz, January 25th 2010 -- The Midgard Project has released maintenance release of Midgard2 9.09 "Mjolnir" - second release of the new generation of the Midgard content repository.
## About 9.09 releases Midgard2 9.09 is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools. In this release we provide Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other. ## Main changes from 9.09.1 release: * Fixed class names in Pythin bindings (#1559) * Fixed escaping and quoting problems (#1549, #1573) * Added delete method to MidgardUser class * Fixed crash in MgdSchema extended class (#1574) * Added metadata support to MidgardView derived classes. ## New functionalities in 9.09 releases: * Database views * MgdSchema classes are extendable or might be duplicated * New authentication system with stack support and multiple authentication methods per user * Optional metadata for MgdSchema classes * User defined, reflectable fields in MgdSchema * Database transactions ## Main changes from Midgard 9.03.0: * Removed sitegroups and multilang (#1340) * New midgard_storage class for storage management (#1136) * Fully functional D-Bus support (#986) ## Midgard2 Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages * Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data * Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps * Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection * Data model is scriptable when you use a content repository, meaning that users can easily write Python or PHP scripts to perform batch operations on their data without having to learn your storage format * Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them Midgard's philosophy includes building on top of a well-known and supported GNOME libraries like glib and libgda on the system end, and connecting with popular programming languages like PHP and Python. Data storage can utilize SQLite with desktop and mobile applications, or a database server like MySQL or Postgres for web application storage. The Midgard2 platform enables developers to define a storage structure once and use it on both web and desktop applications, with the possibility of easy data replication between the two. Read more about Midgard's content repository approach: * <http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/> * <http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/> * <http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/> * <http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/> ## New Midgard architecture ### Language independence Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments: * PHP5 extension for web application and CMS development * Python module for desktop application and background process development * Objective-C package [for Mac OS X][5] and GNUstep developers ### Database independence The Midgard 1.x was heavily coupled with the MySQL database. The new Midgard2 architecture is instead built on top of libgda, the GNOME database abstraction layer. This enables Midgard to be used with various storage engines, including: * MySQL * Postgres * SQLite * Microsoft SQL Server * Oracle * DB2 ### Built-in replication and metadata All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow. In addition, Midgard provides an API for serializing and unserializing stored objects in XML format that can be used for replicating data between different systems. The replication architecture can be used for staging/live web environments or mobile applications that synchronize between each other or a web back-end. # Planned for next Midgard2 releases * Midgard MVC, an elegant PHP MVC framework written for Midgard2 * New installer for database and web server deployment * Midgard2 Runtime for integrating Midgard web applications to the desktop # Midgard resources * [Download page and changelog for latest release][1] * [Bug reporting][2] ## User and developers support: * [Users' forum][3] * [Developers' forum][4] * IRC: #midgard on irc.freenode.net * [#midgard on Qaiku][6] * MidgardProject on Twitter ## About Midgard The Midgard Framework development started in 1997 and it was initially released as free software in May 1999. Midgard Project has since gathered an active user and developer community, powering thousands of web sites ranging from simple organizational intranets to large community portals. 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 has been supported by several commercial and governmental entities including the European Union and the Swedish Internet Foundation. Midgard2 is free software available under the GNU LGPL license. <http://www.midgard2.org> ## Contacts Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi The Midgard Project <http://www.midgard-project.org> [1]: http://www.midgard-project.org/download/9-9/ [2]: http://trac.midgard-project.org/report [3]: http://www.midgard-project.org/discussion/user-forum/ [4]: http://www.midgard-project.org/discussion/developer-forum/ [5]: http://www.midgard-project.org/documentation/xcode_tutorial/ [6]: http://www.qaiku.com/channels/show/midgard/ _______________________________________________ user mailing list [email protected] http://lists.midgard-project.org/mailman/listinfo/user
