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

Reply via email to