Lodz, November 18th 2009 -- The Midgard Project has released stable release of 
Midgard2 9.09 "Mjolnir" - second release of the new generation of the Midgard 
content repository.

## About this release

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.

## New functionalities in this release:

 *  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:

 * 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

Reply via email to