<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Midgard Updates</title>
        <description>News from the Midgard CMS project</description>
        <link>http://www.midgard-project.org/updates/</link>
        <lastBuildDate>Sat, 04 Feb 2012 05:41:51 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <item>
            <title>Midgard core 10.05.5.1 hotfix</title>
            <link>http://www.midgard-project.org/updates/midgard_core_10-05-5-1_hotfix/</link>
            <description><![CDATA[
<p> </p>
<p>Midgard core 10.05.5.1 hotfix has been released.<br />It includes <a href="https://github.com/midgardproject/midgard-core/issues/126">set_guid</a> method bugfix.</p>
<p><a href="http://www.midgard-project.org/download/10-05/">Download page.</a></p>
<p> </p>
<p> </p>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <pubDate>Wed, 16 Nov 2011 08:14:09 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-f5861d30102a11e1b2fdd3517f9b33e433e4</guid>
        </item>
        <item>
            <title>Midgard 10.05.5 Ratatoskr LTS released!</title>
            <link>http://www.midgard-project.org/updates/midgard_10-05-5_ratatoskr_lts_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, November 2nd 2011 -- The Midgard Project has released the fifth maintenance release of Midgard2 10.05.5 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release we provide:</p>
<ul><li>
<p>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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</p>
</li>
</ul><h2>Main changes from 10.05.4 release:</h2>
<h3>Core</h3>
<ul><li>Added Workspaces </li>
<li>Added new Validable and Executable interfaces</li>
<li>Added save() method to MidgardObject</li>
<li>Added MidgardRepligard class </li>
<li>Added support for abstract classes, interfaces and mixins</li>
<li>Added new methods to reflector classes </li>
<li>MidgardView bugfixes and improvements</li>
<li>Other major bugfixes</li>
</ul><p><a href="https://github.com/midgardproject/midgard-core/issues?sort=created&amp;direction=desc&amp;state=closed&amp;page=1">See the full list</a></p>
<h3>PHP extension</h3>
<ul><li>Added reflector classes</li>
<li>Added missed MidgardConnection's methods</li>
<li>Midgard core classes are registered with CamelCase naming convention </li>
<li>GLib errors are propagated as PHP ones</li>
<li>Other bugfixes</li>
</ul><p><a href="https://github.com/midgardproject/midgard-php5/issues?sort=created&amp;direction=desc&amp;state=closed&amp;page=1">See the full list</a></p>
<h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a></li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala</li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-05/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/wiki/WikiStart">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Wed, 02 Nov 2011 15:39:05 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-cbf95c10056811e18dbe912c4aaecd34cd34</guid>
        </item>
        <item>
            <title>Midgard2 10.05.4 &quot;Ratatoskr&quot; LTS released!</title>
            <link>http://www.midgard-project.org/updates/midgard2_10-05-4-ratatoskr-lts_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, March 1st 2011 -- The Midgard Project has released the fourth maintenance release of Midgard2 10.05.4 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release we provide:</p>
<ul><li>
<p>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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</p>
</li>
</ul><h2>Main changes from 10.05.3 release:</h2>
<h3>Core</h3>
<ul><li>Fixed MidgardUser memory leaks (#71, #72, #73)</li>
<li>Fixed SQL prepared statements memory leaks (#76)</li>
<li>Major memory leak fixes</li>
</ul><h3>PHP extension</h3>
<ul><li>Improved MidgardConnection singleton </li>
<li>Improved property handling routines</li>
<li>Major memory leak fixes</li>
</ul><h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a></li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala</li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-05/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/wiki/WikiStart">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <pubDate>Tue, 01 Mar 2011 12:18:22 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-005f920843fe11e09138893ac231661d661d</guid>
        </item>
        <item>
            <title>Midgard2 10.05.3 &quot;Ratatoskr&quot; LTS released!</title>
            <link>http://www.midgard-project.org/updates/midgard2_10-05-3-ratatoskr-lts_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, Feb 08th 2011 -- The Midgard Project has released the third maintenance release of Midgard2 10.05.3 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release we provide:</p>
<ul><li>
<p>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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</p>
</li>
</ul><h2>Main changes from 10.05.2 release:</h2>
<h3>Core</h3>
<ul><li>Added LDAP authentication type (#68)</li>
<li>Added new signals to QueryExecutor (#57)</li>
<li>Added support for metadata in views (#48)</li>
<li>Added RDF mapping for selected base classes (#55)</li>
<li>Improved delete operation for classes without metadata (#45)</li>
<li>Improved performance of SQL UPDATE queries (MidgardObject derived classes) (#46)</li>
<li>Fixed QuerySelect bugs (add_order, set_offset, INTREE operator) (#50, #51, #60)</li>
<li>Fixed memory leaks in  QuerySelect (#44)</li>
<li>Fixed generated SQL queries (#41, #42, #47,#49, #52, #58)</li>
</ul><h3>PHP extension</h3>
<ul><li>Added GMainLoop wrapper (#33)</li>
<li>Added midgard_connection reopen method (#19)</li>
<li>Improved midgard_object derived class' constructor (#20)</li>
<li>Fixed metadata property bugs (#22, #25, #26, #32)</li>
<li>Fixed memamory leaks (#22)</li>
</ul><h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>Data mode    l 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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a></li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala</li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-05/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/wiki/WikiStart">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Tue, 08 Feb 2011 08:55:44 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-37084744336111e0af15012d88c480598059</guid>
        </item>
        <item>
            <title>MidgardCR 10.12 &quot;Hrungnir&quot; released</title>
            <link>http://www.midgard-project.org/updates/midgardcr_10-12-hrungnir-released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, Dec 16th 2010 -- The Midgard Project has released the first release of the third generation of the Midgard Content Repository.</p>
<p>MidgardCR 10.12 "Hrungnir" is a technology preview of the third  generation of the Midgard Content Repository. It is released to allow  developers to gain familiarity with the upcoming Midgard storage APIs  and RDF storage.</p>
<p>MidgardCR is available as a GObject-oriented C library with language  bindings for multiple languages including Python, JavaScript, Scheme and  Java through GObject Introspection.</p>
<p>Content managed in MidgardCR can be stored to multiple relational  databases supported by the GNOME Database Abstraction Library. Databases  tested with MidgardCR include SQLite, MySQL and Postgres.</p>
<h2>Why use a Content Repository?</h2>
<p>Content Repository is a service that sits between an application and a  data store. It provides several advantages to using  application-specific data storage:</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application  using the repository modifies something, enabling collaborative data  management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the  content repository level meaning that you gain these features without  having to worry about them</li>
</ul><h2>Key features</h2>
<h3>Flexible storage definitions</h3>
<p>In previous Midgard content repository versions the content models  have been defined with MgdSchema XML files loaded at application  start-up. MidgardCR makes this approach more flexible by providing fully  programmable interfaces for model definition.</p>
<p>Vala example:</p>
<pre><code>/* Define Person class */<br />ObjectModel person_model = new ObjectModel ("Person");    <br />/* Define properties: 'firstname' and 'lastname' */<br />person_model<br />    .add_model (new ObjectPropertyModel ("firstname", "string", ""))<br />    .add_model (new ObjectPropertyModel ("lastname", "string", ""));<br /></code></pre>
<h2>Multiple database connections</h2>
<p>Content storage and retrieval in MidgardCR is handled through Storage  Managers. This approach allows multiple different databases and  connections to be used within an application, and storing different  types of content to most appropriate backends.</p>
<p>Vala example:</p>
<pre><code>SQLStorageManager storage_manager = null;<br /><br />/* Create new Config which sets SQL database type and its name */<br />Config config = new Config ();    <br />config.dbtype = "SQLite";<br />config.dbname = "ExampleDB";<br />config.dbdir = "./";<br /><br />/* Create new, named StorageManager for given Config instance */<br />try {<br />    storage_manager = new SQLStorageManager ("test_manager", config);<br />} catch (StorageManagerError e) {<br />    GLib.warning ("Failed to initialize new SQLStorageManager");<br />}<br /><br />/* Open connection to underlying SQL database and "bootstrap" storage */<br />try {<br />    storage_manager.open ();<br />    storage_manager.initialize_storage ();<br />} catch (StorageManagerError e) {<br />    GLib.warning (e.message);<br />}<br /></code></pre>
<h3>RDF storage and querying</h3>
<p>In addition to object storage, MidgardCR also provides APIs for  storing and querying RDF triples. This makes Midgard a capable Content  Repository also for Linked Data applications.</p>
<p>RDF storage example:</p>
<pre><code>var rdf_vali = new RDFGenericObject ("http://xmlns.com/foaf/0.1/Person");<br />rdf_vali.identifier = "http://www.midgard-project.org/people/vali";<br /><br />rdf_vali.set_property_literal ("foaf:currentProject", "http://www.midgard-project.org/");<br />rdf_vali.set_property_value ("foaf:myersBriggs",    "INTJ");<br />rdf_vali.set_property_value ("foaf:name",           "Vali");<br />rdf_vali.set_property_value ("foaf:homepage",       "http://www.midgard-project.org/people/vali");<br /></code></pre>
<p>RDF querying example:</p>
<pre><code>/* Query Data */<br />var query = content_manager.query_manager.create_query_select ("foaf:Person");<br />query.set_constraint (new SQLQueryConstraint(<br />    new QueryProperty ("http://xmlns.com/foaf/0.1/currentProject", null),<br />    "=",<br />    QueryValue.create_with_value ("http://www.midgard-project.org/"),<br />    null<br />));<br /><br />query.validate();<br />query.execute();<br /><br />GLib.print ("These people work on midgard!\n");<br />foreach (Storable object in query.list_objects ()) {<br />    RDFGenericObject rdf_obj = (RDFGenericObject) object;<br />    var name = rdf_obj.get_property_value ("foaf:name");<br />    GLib.print("\t%s\n", name != null ? (string) name : "Empty name");<br />}<br /></code></pre>
<h2>Upcoming features</h2>
<p>The first production-ready MidgardCR release is targeted for April  2011. This release will add functionality to the library including:</p>
<ul><li>Workspaces support. Workspaces in MidgardCR provide a sort of  branching interface on top of a relational databases. Instances of same  content can live in different branches, and queries can work with a tree  of branches. This allows for efficient and clean management of  different workflow, data validation and temporary storage needs.</li>
<li>PHP5 bindings through the GObject for PHP extension: <a href="https://bitbucket.org/indeyets/gobject-for-php">https://bitbucket.org/indeyets/gobject-for-php</a></li>
<li>Replication support</li>
<li>SPARQL query interface</li>
</ul><h2>Installing MidgardCR</h2>
<p>MidgardCR can be installed from sources with manual builds or easier, from binary packages. Instructions about installation can be found at download page <a href="../../../download/10-12/">http://www.midgard-project.org/download/10-12/</a></p>
<h2>Contributing</h2>
<p>MidgardCR is a free software library licensed under LGPL. It is developed using the Vala language and managed on GitHub.</p>
<p>Issues can be reported in <a href="https://github.com/midgardproject/midgard-core/issues">https://github.com/midgardproject/midgard-core/issues</a>.</p>
<p>Developers interested in working on the MidgardCR library are free to  fork the project with Git and submit pull requests to the project.</p>
<p>There is a development mailing list available at <a href="http://lists.midgard-project.org/mailman/listinfo/dev">http://lists.midgard-project.org/mailman/listinfo/dev</a> and a #midgard IRC channel on FreeNode.</p>
<h2>Contact</h2>
<p>Piotr Pokora piotrek.pokora@gmail.com</p>
<p>Henri Bergius henri.bergius@iki.fi</p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <pubDate>Thu, 16 Dec 2010 15:45:50 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-8ef7cfac092b11e0b4013dfbc7970bd80bd8</guid>
        </item>
        <item>
            <title>Midgard2 10.05.2 &quot;Ratatoskr&quot; LTS released!</title>
            <link>http://www.midgard-project.org/updates/midgard2_10-05-2-ratatoskr-lts_released/</link>
            <description><![CDATA[
<p>Lodz, Dec 14th 2010 -- The Midgard Project has released the second maintenance release of Midgard2 10.05.2 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release we provide:</p>
<ul><li>
<p>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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</p>
</li>
</ul><h2>Main changes from 10.05.1 release:</h2>
<ul><li>Fixed duplicate object returned from QuerySelect (#41)</li>
<li>Fixed boolean property values set by QueryBuilder (#42)</li>
<li>Improved UPDATE SQL queries (#46)</li>
<li>Fixed views related SQL queries (#48, #52)</li>
<li>Fixed SQL queries generated by QuerySelect (#47, #49, #50, #51)</li>
<li>Fixed memory leaks in PHP bindings </li>
<li>Fixed crash in reflection property class in PHP bindings</li>
</ul><h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a></li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala</li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-05/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/wiki/WikiStart">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Tue, 14 Dec 2010 13:37:28 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-4af398b8078711e0bcc93db447f3cc9ecc9e</guid>
        </item>
        <item>
            <title>Midgard2 Ratatoskr hotfix package</title>
            <link>http://www.midgard-project.org/updates/midgard2_ratatoskr_hotfix_package/</link>
            <description><![CDATA[
<div class="content">
<p>Hotfix package has been released for midgard-core.</p>
<ul><li><a href="../../../download/10-5/">Chnages</a></li>
<li><a href="../../../download/10-5/">Download page</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr/">Binary  packages</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr:/nogir/">Binary  packages without GIR (GObject Introspection) support</a></li>
</ul></div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Wed, 20 Oct 2010 11:25:52 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-cbd07b66dc3c11df9e692bd8545aeaf9eaf9</guid>
        </item>
        <item>
            <title>Midgard2 Ratatoskr hotfix packages</title>
            <link>http://www.midgard-project.org/updates/midgard2_ratatoskr_hotfix_packages/</link>
            <description><![CDATA[
<p>Hotfix packages has been released for midgard-core and  python-midgard.</p>
<ul><li><a href="http://www.midgard-project.org/download/10-5/">Chnages</a></li>
<li><a href="http://www.midgard-project.org/download/10-5/">Download page</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr/">Binary  packages</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr:/nogir/">Binary  packages without GIR (GObject Introspection) support</a></li>
</ul>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <pubDate>Thu, 05 Aug 2010 09:51:27 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-040f911ca07711dfb19ca58ab404eccfeccf</guid>
        </item>
        <item>
            <title>Midgard-core 8.09.9.2 hotfix release for Ragnaroek</title>
            <link>http://www.midgard-project.org/updates/midgard-core_8-09-9-2_hotfix_release_for_ragnaroek/</link>
            <description><![CDATA[
<p>Midgard-core hotfix package 8.09.9.2 in Ragnaroek LTS branch includes a <a href="http://trac.midgard-project.org/changeset/26558">fix</a> for multilingual sites where data was returned in random order.</p>
<ul><li><a href="http://www.midgard-project.org/download/8-9/">Tarball download</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/">Binary packages download</a></li>
</ul>]]></description>
            <author>jval@puv.fi (Jarkko Ala-Louvesniemi)</author>
            <category>cms</category>
            <pubDate>Thu, 22 Jul 2010 11:16:48 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-9eaeea9c958211df877f0976e31e01dd01dd</guid>
        </item>
        <item>
            <title>Midgard Gatherings in aKademy and FSCONS 2010</title>
            <link>http://www.midgard-project.org/updates/midgard_gatherings_in_akademy_and_fscons_2010/</link>
            <description><![CDATA[
<p>The Midgard Gatherings for 2010 will be held together with two free software conferences. This will be an excellent opportunity for Midgardians to meet and learn also about other related projects.</p>
<p>
</p><ul><li>July 5-7: <a href="http://www.midgard-project.org/community/events/akademy_and_midgard_gathering/">Midgard Gathering in aKademy</a>, Tampere, Finland</li>
<li>November 4-5: <a href="http://www.midgard-project.org/community/events/midgard_gathering_in_fscons_2010/">Midgard Gathering in FSCONS</a>, Gothenburg, Sweden</li>
</ul>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>community</category>
            <pubDate>Wed, 30 Jun 2010 11:02:41 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-0093705a843711dfaa14578c8754595f595f</guid>
        </item>
        <item>
            <title>Midgard-core hotfix release for Ragnaroek</title>
            <link>http://www.midgard-project.org/updates/midgard-core_hotfix_release_for_ragnaroek/</link>
            <description><![CDATA[
<p>Midgard-core hotfix package 8.09.9.1 in Ragnaroek LTS branch includes major fix for multilingual sites where default (fallback) language content replaced defined language content.</p>
<ul><li><a href="http://www.midgard-project.org/download/8-9/">Tarball download</a></li>
<li><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/">Binary packages download</a></li>
</ul><p> </p>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>cms</category>
            <pubDate>Wed, 30 Jun 2010 08:01:32 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-b2581a76841d11dfa169852c1c0422702270</guid>
        </item>
        <item>
            <title>Midgard2 10.05.1 &quot;Ratatoskr&quot; LTS released!</title>
            <link>http://www.midgard-project.org/updates/midgard2_10-05-1-ratatoskr-lts_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, June 22nd 2010 -- The Midgard Project has released the  first maintenance  release of Midgard2 10.05.1 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content  Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release we provide:</p>
<ul><li>
<p>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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications.  Midgard MVC  includes interfaces for loadable components, hierarchical sub-requests,  a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application  server  and a WebKit UI to provide a full Midgard web development environment on  the desktop.</p>
</li>
</ul><h2>Main changes from 10.05.0 release:</h2>
<ul><li>Major fixes in new MidgardQuery classes</li>
<li>Many improvements for GObject Introspection </li>
<li>Fixed critical issues in MidgardView generation</li>
<li>MidgardQuery classes has been implemented in PHP and Python bindings</li>
<li>Improved installer for Midgard Runtime</li>
<li>midgard_dbus class available in PHP bindings only if core is built  with DBus support</li>
<li>Fixed datetime related crash in Python bindings</li>
</ul><h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can  work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a> </li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a> </li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process  development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for  Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala </li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set  of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-05/">Download  page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/wiki/WikiStart">Bug  reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users'  forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers'  forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on  Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Tue, 22 Jun 2010 14:25:38 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-078916d67e0a11df81c9d3397c78023f023f</guid>
        </item>
        <item>
            <title>Midgard &quot;Ragnaroek&quot; 8.09.9 released!</title>
            <link>http://www.midgard-project.org/updates/midgard-ragnaroek-8-09-9_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, June 22nd 2010 -- The Midgard Project has released the  ninth maintenance release of Midgard 8.09 Ragnaroek LTS. Ragnaroek LTS  is a Long Term Support version of the free software Content Management  Framework.</p>
<p>Midgard is an industrial CMS built on top of a Content Repository and  the LAMP stack. It provides object-oriented PHP APIs for developing and  modifying website functionalities, and a PEAR-based system for  installing new web components from a growing online library. Midgard has  been running since 1999 on systems ranging from simple organizational  websites to complex web communities and corporate management tools, in  organizations like Aalto University, Nokia, Lufthansa, HP, Poland  International Fairs and CMS Watch.</p>
<p>The stable 8.09.9 release is recommended for all users of Midgard.</p>
<h2>Main changes from 8.09.8:</h2>
<ul><li>Rewritten Multilang queries (<a href="http://trac.midgard-project.org/ticket/1776" title="#1776">#1776</a>)</li>
<li>Fixed crashes (<a href="http://trac.midgard-project.org/ticket/1547" title="#1547">#1547</a>, <a href="http://trac.midgard-project.org/ticket/1684" title="#1684">#1684</a>)</li>
<li>Fixed major MidCOM admin and style issues (<a href="http://trac.midgard-project.org/ticket/1779" title="#1779">#1779</a>,  <a href="http://trac.midgard-project.org/ticket/1788" title="#1788">#1788</a>)</li>
<li>Midgard internal features are now optional for better performance  tunning (<a href="http://trac.midgard-project.org/ticket/1851" title="#1851">#1851</a>)</li>
<li>Many bugfixes and feature enhancements</li>
</ul><p>In total more than 90 feature requests or bugs have been handled  in this release. See the <a href="http://trac.midgard-project.org/query?status=closed&amp;milestone=8.09.9+Ragnaroek">Midgard  issue tracker</a> for a full list.</p>
<h2>Binary packages</h2>
<p>The Midgard Project provides binary packages that are ready to  install for most popular Linux distributions. This includes various  versions of Debian, Fedora, Ubuntu, RHEL and openSUSE. See the full  list:</p>
<p><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/">http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/</a></p>
<p>Distribution-specific installation instructions can be found from the  <a href="../../../documentation/">Midgard  documentation site</a>.</p>
<h2>Source downloads</h2>
<p><a href="../../../download/">http://www.midgard-project.org/download/</a></p>
<p>Instructions for building Midgard from the sources can be found from  the <a href="../../../documentation/">Midgard  documentation site</a>.</p>
<h2>Getting started</h2>
<p>On a typical Linux distribution setting up Midgard is quite trivial.  Simply add the Midgard repository to your configuration, and then run:     # apt-get update     # apt-get install midgard-data     # datagard</p>
<p>After this you should have a running Midgard server. Simply access it  with the browser and follow the instructions provided on the <a href="../../../documentation/getting-started/">Midgard  Getting Started guide</a></p>
<h2>Issue tracker &amp; getting help</h2>
<p>See the Midgard issue tracker for currently open issues and planned  enhancements. <a href="http://trac.midgard-project.org/roadmap">http://trac.midgard-project.org/roadmap</a></p>
<p>If you need help with your Midgard setup, the #midgard IRC channel on  freenode is the best place to start. There is also an user mailing  list.</p>
<h2>More information</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard bug master henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org/</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>cms</category>
            <pubDate>Tue, 22 Jun 2010 09:30:02 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-bbfea29a7de011df892273b0a0d44ae14ae1</guid>
        </item>
        <item>
            <title>Midgard2 has moved to GitHub</title>
            <link>http://www.midgard-project.org/updates/midgard2_has_moved_to_github/</link>
            <description><![CDATA[
<p>Development of <a href="http://www.midgard-project.org/midgard2/">Midgard2</a>, the generic content repository for web and desktop applications is now <a href="http://github.com/midgardproject">happening on GitHub</a>. From <a href="http://bergie.iki.fi/blog/midgard2_has_moved_to_github/">Henri Bergius</a>:</p>
<blockquote>
<p>Now that <a href="http://bergie.iki.fi/blog/ratatoskr_is_out-midgard2_content_repository_goes_lts/">Midgard2 is at Long-Term Supported stage</a> it was time to finally make the jump and migrate our development efforts to happen on top of <a href="http://git-scm.com/">Git</a>, the fast version control system. To maximize project visibility and enable easy tool access we chose <a href="http://github.com/">GitHub</a> as the Git hosting provider.</p>
<p><img src="http://bergie.iki.fi/static/1/1df64cc8af1955464cc11dfa27e2702d32509890989_git-banner.png" border="0" alt="git-banner.png" title="git-banner.png" /></p>
<p>While migrating to Git we also decided to implement the <a href="http://www.slideshare.net/err/git-machine">Distributed Version Control model</a> where the <a href="http://github.com/midgardproject">MidgardProject account</a> contains "blessed" repositories of various modules of the Midgard2 ecosystem, with <a href="http://whygitisbetterthanx.com/#any-workflow">development happening in personal clones</a>. Maintainers of Midgard modules will be responsible for merging changes from developers back upstream, based on <a href="http://github.com/guides/pull-requests">pull requests</a>.</p>
</blockquote>
<p>Read more from the<a href="http://www.midgard-project.org/discussion/developer-forum/read/4cf414fe644311df818bd7a6bcc6d37ed37e.html"> Midgard developer list thread</a>.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>community</category>
            <pubDate>Fri, 21 May 2010 09:44:30 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-74227fa064bd11df9b588d870e8013521352</guid>
        </item>
        <item>
            <title>Midgard2 10.05 &quot;Ratatoskr&quot; released!</title>
            <link>http://www.midgard-project.org/updates/midgard2_10-05-ratatoskr-released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, May 6th 2010 -- The Midgard Project has released the first  release of Midgard2 10.05 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.</p>
<h2>About 10.05 releases</h2>
<p>Midgard2 10.05 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.</p>
<p>In this release:</p>
<ul><li>
<p>Content Repository API bindings for the following programming languages: C, Python, PHP, C# and Vala. 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.</p>
</li>
<li>
<p>Midgard MVC, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</p>
</li>
<li>
<p>Midgard Runtime that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</p>
</li>
</ul><h2>Main changes from 9.09 releases:</h2>
<ul><li>Improved core which supports GObject Introspection</li>
<li>Built on top of Libgda4</li>
<li>Replication , quota and DBus are now optional and fully configurable</li>
<li>Improved performance</li>
</ul><h2>New functionalities in 10.05 releases:</h2>
<ul><li>New reflection and introspection routines</li>
<li>New database query interfaces</li>
<li>New language bindings: vala and mono (C#)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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 </li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a></li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a></li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><p>It also provides bindings for other languages:</p>
<ul><li>Vala </li>
<li>Mono (C#)</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Midgard resources</h1>
<ul><li><a href="../../../download/10-5/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/report">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Thu, 06 May 2010 20:17:43 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-6d9b2cbc594c11df95b409b7410642db42db</guid>
        </item>
        <item>
            <title>Midgard &quot;Ragnaroek&quot; 8.09.8 released!</title>
            <link>http://www.midgard-project.org/updates/midgard-ragnaroek-8-09-8_released/</link>
            <description><![CDATA[
<p>Lodz, March 24th 2010 -- The Midgard Project has released the eighth maintenance release of Midgard 8.09 Ragnaroek LTS. Ragnaroek LTS is a Long Term Support version of the free software Content Management Framework.<br /></p>
<div>Midgard is an industrial CMS built on top of a Content Repository and the LAMP stack. It provides object-oriented PHP APIs for developing and modifying website functionalities, and a PEAR-based system for installing new web components from a growing online library. Midgard has been running since 1999 on systems ranging from simple organizational websites to complex web communities and corporate management tools, in organizations like <em>Aalto University</em>, <em>Nokia</em>, <em>Lufthansa</em>, <em>Poland International Fairs</em> and <em>CMS Watch</em>.<br /><br />The stable 8.09.8 release is recommended for all users of Midgard.<br /><br />Main changes from 8.09.7:<br /><div><br /><ul><li>Usability of the on-site Midgard toolbar has been enhanced (<a href="http://trac.midgard-project.org/ticket/877" title="#877">#877</a>, <a href="http://trac.midgard-project.org/ticket/1624" title="#1624">#1624</a>)</li>
<li>Performance when using the MidCOM content cache has been improved (<a href="http://trac.midgard-project.org/ticket/1599" title="#1599">#1599</a>, <a href="http://trac.midgard-project.org/ticket/1531" title="#1531">#1531</a>, <a href="http://trac.midgard-project.org/ticket/1048" title="#1048">#1048</a>, <a href="http://trac.midgard-project.org/ticket/1577" title="#1577">#1577</a> and <a href="http://trac.midgard-project.org/ticket/1584" title="#1584">#1584</a>)</li>
<li>bundled jQuery javascript library has been upgraded to version <a href="http://blog.jquery.com/2010/02/19/jquery-142-released/" title="1.4.2">1.4.2</a> (<a href="http://trac.midgard-project.org/ticket/1596" title="#1596">#1596</a>) and jQuery UI to <a href="http://blog.jqueryui.com/2009/06/jquery-ui-172/" title="1.7.2">1.7.2</a> (<a href="http://trac.midgard-project.org/ticket/696" title="#696">#696</a>)</li>
<li>PHP 5.3 compatibility on both php5-midgard (<a href="http://trac.midgard-project.org/ticket/1433" title="#1433">#1433</a>) and MidCOM levels</li>
<li>Asgard now shows contextual helpers when creating Midgard templates (<a href="http://trac.midgard-project.org/ticket/1595" title="#1595">#1595</a>)</li>
<li>Midgard is able to act as both OpenID provider (<a href="http://trac.midgard-project.org/ticket/1664" title="#1664">#1664</a>) and consumer (<a href="http://trac.midgard-project.org/ticket/1709" title="#1709">#1709</a>)</li>
<li>Fixed SQL errors in complex Query Builder queries (<a href="http://trac.midgard-project.org/ticket/1625" title="#1625">#1625</a>)</li>
<li>Fixed midgard_connection environment settings in Apache environment (<a href="http://trac.midgard-project.org/ticket/1689" title="#1689">#1689</a>)</li>
<li>midcom.helper.datamanager was deprecated in favor of datamanager2 (<a href="http://trac.midgard-project.org/ticket/930" title="#930">#930</a>) and will be removed in 8.09.9 (<a href="http://trac.midgard-project.org/ticket/1715" title="#1715">#1715</a>)</li>
<li>Updated OpenPSA packages (<a href="http://trac.midgard-project.org/ticket/1655" title="#1655">#1655</a>)</li>
</ul></div>
<br />In total more than 150 feature requests or bugs have been handled in this release. See the <a href="http://trac.midgard-project.org/query?status=closed&amp;milestone=8.09.8+Ragnaroek" title="Midgard issue tracker">Midgard issue tracker</a> for a full list.<br /><h2>Binary packages</h2>
<div>The Midgard Project provides binary packages that are ready to install for most popular Linux distributions. This includes various versions of Debian, Fedora, Ubuntu, RHEL and openSUSE. See the full list:</div>
<br /><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/" title="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/">http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/</a><br /><br /><div>Distribution-specific installation instructions can be found from the <a href="../../../documentation/installation-distros/" title="Midgard documentation site">Midgard documentation site</a>.<br /><h2>Source downloads</h2>
<a href="../../../download/" title="http://www.midgard-project.org/download/">http://www.midgard-project.org/download/</a></div>
<br /><div>Instructions for building Midgard from the sources can be found from the <a href="../../../documentation/installation-source/" title="Midgard documentation site">Midgard documentation site</a>.<br /><h2>Getting started</h2>
<div>On a typical Linux distribution setting up Midgard is quite trivial. Simply add the Midgard repository to your configuration, and then run:</div>
<em> # apt-get update</em></div>
<div><em> # apt-get install midgard-data</em></div>
<div><em> # datagard</em></div>
<br /><div>After this you should have a running Midgard server. Simply access it with the browser and follow the instructions provided on the Midgard Getting Started guide:<br /><a href="../../../documentation/getting-started/" title="http://www.midgard-project.org/documentation/getting-started/">http://www.midgard-project.org/documentation/getting-started/</a><br /><h2>Issue tracker &amp; getting help</h2>
<div>See the Midgard issue tracker for currently open issues and planned enhancements.</div>
<a href="http://trac.midgard-project.org/roadmap" title="http://trac.midgard-project.org/roadmap">http://trac.midgard-project.org/roadmap</a></div>
<br /><div>If you need help with your Midgard setup, the #midgard IRC channel on freenode is the best place to start. There is also an <a href="http://lists.midgard-project.org/mailman/listinfo/user" title="user mailing list">user mailing list</a>.<br /><h2>More information</h2>
Piotr Pokora, Midgard release manager<br />piotrek.pokora(at)gmail.com<br /><br />Henri Bergius, Midgard bug master<br />henri.bergius(at)iki.fi<br /><br />The Midgard Project<br /><a href="../../../" title="http://www.midgard-project.org/">http://www.midgard-project.org/</a><br /><br /></div>
<br /></div>
<p> </p>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>cms</category>
            <pubDate>Wed, 24 Mar 2010 20:07:19 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-d9e0546c378011dfb09c8dd5ef9fc556c556</guid>
        </item>
        <item>
            <title>Midgard2 core hotfix package</title>
            <link>http://www.midgard-project.org/updates/midgard2_core_hotfix_package/</link>
            <description><![CDATA[
<p>Midgard2-core (Mjolnir) hotfix package available for <a href="http://www.midgard-project.org/download/9-9/">downloads</a>.</p>
<p>Fixes include:</p>
<ul><li>Fix for <a href="http://trac.midgard-project.org/ticket/1663">strings being incorrectly escaped</a>, when registered as view property. This fix is actually workaround for Libgda' routines which transform binary values to string ones.</li>
<li>Minor fix for MidgardObject create() method, which in some particular cases (and very rarely) could create two objects identified by the same guid.</li>
</ul><p>Hotfix is also available as <a href="http://download.opensuse.org/repositories/home:/midgardproject:/mjolnir/">binary packages.</a></p>
<p> </p>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Tue, 23 Feb 2010 12:54:23 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-913437d2207a11dfa7deb102f5e73d763d76</guid>
        </item>
        <item>
            <title>Midgard2 9.09.2 &quot;Mjolnir&quot; released</title>
            <link>http://www.midgard-project.org/updates/midgard2_9-09-2-mjolnir-released/</link>
            <description><![CDATA[
<div class="description">
<p>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.</p>
<h2>About 9.09 releases</h2>
<p>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.</p>
<p>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.</p>
<h2>Main changes from 9.09.1 release:</h2>
<ul><li>Fixed class names in Pythin bindings (#1559)</li>
<li>Fixed escaping and quoting problems (#1549, #1573)</li>
<li>Added delete method to MidgardUser class</li>
<li>Fixed crash in MgdSchema extended class (#1574)</li>
<li>Added metadata support to MidgardView derived classes.</li>
</ul><h2>New functionalities in 9.09 releases:</h2>
<ul><li>Database views</li>
<li>MgdSchema classes are extendable or might be duplicated</li>
<li>New authentication system with stack support and multiple authentication methods per user</li>
<li>Optional metadata for MgdSchema classes</li>
<li>User defined, reflectable fields in MgdSchema</li>
<li>Database transactions</li>
</ul><h2>Main changes from Midgard 9.03.0:</h2>
<ul><li>Removed sitegroups and multilang (#1340)</li>
<li>New midgard_storage class for storage management (#1136)</li>
<li>Fully functional D-Bus support (#986)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<ul><li><a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a> </li>
<li><a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a> </li>
<li><a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a> </li>
<li><a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></li>
</ul><h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Planned for next Midgard2 releases</h1>
<ul><li>Midgard MVC, an elegant PHP MVC framework written for Midgard2</li>
<li>New installer for database and web server deployment</li>
<li>Midgard2 Runtime for integrating Midgard web applications to the desktop</li>
</ul><h1>Midgard resources</h1>
<ul><li><a href="../../../download/9-9/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/report">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>framework</category>
            <pubDate>Mon, 25 Jan 2010 14:38:08 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-412827c009bf11df837edd07657eb8d4b8d4</guid>
        </item>
        <item>
            <title>Ragnaroek 8.09.7 released</title>
            <link>http://www.midgard-project.org/updates/ragnaroek_8-09-7_released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, January 6th 2010 -- The Midgard Project has released the seventh maintenance release of Midgard 8.09 Ragnaroek LTS. Ragnaroek LTS is a Long Term Support version of the free software content management framework.</p>
<p>Stable 8.09.7 release is recommended for all users of Midgard.</p>
<p>Main changes from 8.09.6:</p>
<ul><li>Fixed crashes in content replication </li>
<li>Fixed deleting Multilang objects (#1522)</li>
<li>Fixed installer crashes (#1421)</li>
<li>Admin and user UI fixes (#1141, #1415, #1447)</li>
<li>Improved page symlinks feature (#1548)</li>
</ul><p>More than 70 feature requests or bugs have been handled in this release. See the <a href="http://trac.midgard-project.org/query?status=closed&amp;milestone=8.09.7+Ragnaroek">Midgard issue tracker</a> for a full list.</p>
<p>This release requires database update to be done by datagard.</p>
<h2>Planned for next maintenance release:</h2>
<ul><li>More performance tuning</li>
<li>Unit tests for midgard-php and MidCOM DBA layers</li>
<li>New Midgard visual guidelines deployed more widely</li>
<li>Filesync git integration for collaborative site development</li>
</ul><p><a href="http://trac.midgard-project.org/query?status=new&amp;status=assigned&amp;status=reopened&amp;status=closed&amp;milestone=8.09.8+Ragnaroek&amp;order=priority">See the full list</a>.</p>
<h2>Source downloads</h2>
<p><a href="../../../download/">http://www.midgard-project.org/download/</a></p>
<h2>Binary packages</h2>
<p><a href="http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/">http://download.opensuse.org/repositories/home:/midgardproject:/ragnaroek/</a></p>
<h2>Getting started</h2>
<p><a href="../../../documentation/getting-started/">http://www.midgard-project.org/documentation/getting-started/</a></p>
<h2>Issue tracker</h2>
<p><a href="http://trac.midgard-project.org/roadmap">http://trac.midgard-project.org/roadmap</a></p>
<h2>More information</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard bug master henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org/</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>cms</category>
            <pubDate>Wed, 06 Jan 2010 13:30:36 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-ac823300fac711de8983bb8b11163de83de8</guid>
        </item>
        <item>
            <title>Midgard2 9.09.1 &quot;Mjolnir&quot; released</title>
            <link>http://www.midgard-project.org/updates/midgard2_9-09-1-mjolnir-released/</link>
            <description><![CDATA[
<div class="description">
<p>Lodz, December 23rd 2009 -- The Midgard Project has released maintenance release of Midgard2 9.09 "Mjolnir" - second release of the new generation of the Midgard content repository.</p>
<h2>About 9.09 releases</h2>
<p>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.</p>
<p>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.</p>
<h2>Main changes from 9.09.0 release:</h2>
<ul><li>New connection routines (#1475)</li>
<li>New MidgardQueryBuilder signals (#1486, #1487)</li>
<li>Configuration supports remote host's port (#1248)</li>
<li>MgdSchema files compatibility fix (#1503)</li>
<li>Storage related fixes (#1533, #1543)</li>
<li>Fixed crashes when running Midgard with Apache (#1520) </li>
<li>Fixed D-Bus path issue (#1552)</li>
</ul><h2>New functionalities in 9.09 releases:</h2>
<ul><li>Database views</li>
<li>MgdSchema classes are extendable or might be duplicated</li>
<li>New authentication system with stack support and multiple authentication methods per user</li>
<li>Optional metadata for MgdSchema classes</li>
<li>User defined, reflectable fields in MgdSchema</li>
<li>Database transactions</li>
</ul><h2>Main changes from Midgard 9.03.0:</h2>
<ul><li>Removed sitegroups and multilang (#1340)</li>
<li>New midgard_storage class for storage management (#1136)</li>
<li>Fully functional D-Bus support (#986)</li>
</ul><h2>Midgard2</h2>
<p>Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages</p>
<ul><li>Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data</li>
<li>Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps</li>
<li>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</li>
<li>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</li>
<li>Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them</li>
</ul><p>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.</p>
<p>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.</p>
<p>Read more about Midgard's content repository approach:</p>
<p>* <a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/</a> * <a href="http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/">http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/</a> * <a href="http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/">http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/</a> * <a href="http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/">http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/</a></p>
<h2>New Midgard architecture</h2>
<h3>Language independence</h3>
<p>Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:</p>
<ul><li>PHP5 extension for web application and CMS development</li>
<li>Python module for desktop application and background process development</li>
<li>Objective-C package <a href="../../../documentation/xcode_tutorial/">for Mac OS X</a> and GNUstep developers</li>
</ul><h3>Database independence</h3>
<p>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:</p>
<ul><li>MySQL</li>
<li>Postgres</li>
<li>SQLite</li>
<li>Microsoft SQL Server</li>
<li>Oracle</li>
<li>DB2</li>
</ul><h3>Built-in replication and metadata</h3>
<p>All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.</p>
<p>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.</p>
<h1>Planned for next Midgard2 releases</h1>
<ul><li>Midgard MVC, an elegant PHP MVC framework written for Midgard2</li>
<li>New installer for database and web server deployment</li>
<li>Midgard2 Runtime for integrating Midgard web applications to the desktop</li>
</ul><h1>Midgard resources</h1>
<ul><li><a href="../../../download/9-9/">Download page and changelog for latest release</a></li>
<li><a href="http://trac.midgard-project.org/report">Bug reporting</a></li>
</ul><h2>User and developers support:</h2>
<ul><li><a href="../../../discussion/user-forum/">Users' forum</a></li>
<li><a href="../../../discussion/developer-forum/">Developers' forum</a></li>
<li>IRC: #midgard on irc.freenode.net</li>
<li><a href="http://www.qaiku.com/channels/show/midgard/">#midgard on Qaiku</a></li>
<li>MidgardProject on Twitter</li>
</ul><h2>About Midgard</h2>
<p>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.</p>
<p>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.</p>
<p>Midgard2 is free software available under the GNU LGPL license.</p>
<p><a href="http://www.midgard2.org/">http://www.midgard2.org</a></p>
<h2>Contacts</h2>
<p>Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com</p>
<p>Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi</p>
<p>The Midgard Project <a href="../../../">http://www.midgard-project.org</a></p>
</div>]]></description>
            <author>piotrek.pokora@gmail.com (Piotr Pokora)</author>
            <category>cms</category>
            <pubDate>Wed, 23 Dec 2009 18:07:20 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-038692b6efee11deb604c9645ed4f5aff5af</guid>
        </item>
    </channel>
</rss>

