Committed to Code

Midgard is an Open Source persistent storage framework. It provides an object-oriented and replicated environment for building data-intensive applications.

Midgard also ships with MidCOM content management system built on the Midgard framework. MidCOM's features include web-based authoring WYSIWYG interfaces and a component interface for installing additional web functionalities.

Midgard is built on the GNOME stack of libraries like GLib and libgda, and has language bindings for C, Python and PHP. Communications between applications written in the different languages happen over D-Bus. The CMS functionalities run on the LAMP (Linux, Apache, MySQL and PHP) platform.

Code Analysis


Recent Highlights

Avatar
Repository came back to life!

A repository received new code changes after 4 months of inactivity.

In commit /p/midgard/commits/171233019 by Piotr Pokora (Using name ‘piotras’) on 2012-03-30 (about 1 month ago)

See all highlights…


News

Midgard 10.05.6 Ratatoskr LTS released!

Lodz, March 6th 2012 -- The Midgard Project has released the sixth maintenance release of Midgard2 10.05.6 "Ratatoskr" LTS. Ratatoskr LTS is a Long Term Support version of Midgard2 Content Repository.

About 10.05 releases
Midgard2 10.05 ... [More] is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools.

In this release we provide:

Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other.

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.

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.

Main changes from 10.05.5 release:
Core
New query interfaces
Improved Postgres functionalities
Many major GIR corrections
Minor bugfixes
See the full list

PHP extension

PHP 5.4 support

Main changes from 9.09 releases:
Improved core which supports GObject Introspection
Built on top of Libgda4
Replication , quota and DBus are now optional and fully configurable
Improved performance
New functionalities in 10.05 releases:
New reflection and introspection routines
New database query interfaces
New language bindings: vala and mono (C#)
Midgard2
Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages

Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data
Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps
Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection
Data model is scriptable when you use a content repository, meaning that users can easily write Python or PHP scripts to perform batch operations on their data without having to learn your storage format
Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them
Midgard's philosophy includes building on top of a well-known and supported GNOME libraries like glib and libgda on the system end, and connecting with popular programming languages like PHP and Python. Data storage can utilize SQLite with desktop and mobile applications, or a database server like MySQL or Postgres for web application storage.

The Midgard2 platform enables developers to define a storage structure once and use it on both web and desktop applications, with the possibility of easy data replication between the two.

Read more about Midgard's content repository approach:

http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/
http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/
http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/
http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/
New Midgard architecture
Language independence
Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:

PHP5 extension for web application and CMS development
Python module for desktop application and background process development
Objective-C package for Mac OS X and GNUstep developers
It also provides bindings for other languages:

Vala
Mono (C#)
Database independence
The Midgard 1.x was heavily coupled with the MySQL database. The new Midgard2 architecture is instead built on top of libgda, the GNOME database abstraction layer. This enables Midgard to be used with various storage engines, including:

MySQL
Postgres
SQLite
Microsoft SQL Server
Oracle
DB2
Built-in replication and metadata
All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.

In addition, Midgard provides an API for serializing and unserializing stored objects in XML format that can be used for replicating data between different systems. The replication architecture can be used for staging/live web environments or mobile applications that synchronize between each other or a web back-end.

Midgard resources
Download page and changelog for latest release
Bug reporting
User and developers support:
Users' forum
Developers' forum
IRC: #midgard on irc.freenode.net
#midgard on Qaiku
MidgardProject on Twitter
About Midgard
The Midgard Framework development started in 1997 and it was initially released as free software in May 1999. Midgard Project has since gathered an active user and developer community, powering thousands of web sites ranging from simple organizational intranets to large community portals.

Midgard is being developed by an international team of professionals. Midgard's development team includes new media designers, system integrators and content management consultants. Midgard development has been supported by several commercial and governmental entities including the European Union and the Swedish Internet Foundation.

Midgard2 is free software available under the GNU LGPL license.

http://www.midgard2.org

Contacts
Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com

Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi

The Midgard Project http://www.midgard-project.org [Less]


Midgard core 10.05.5.1 hotfix

 

Midgard core 10.05.5.1 hotfix has been released.
It includes set_guid method bugfix.

Download page.

 

 


Midgard 10.05.5 Ratatoskr LTS released!

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.

About 10.05 releases
Midgard2 ... [More] 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.

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.

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.

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.

Main changes from 10.05.4 release:
Core
Added Workspaces
Added new Validable and Executable interfaces
Added save() method to MidgardObject
Added MidgardRepligard class
Added support for abstract classes, interfaces and mixins
Added new methods to reflector classes
MidgardView bugfixes and improvements
Other major bugfixes
See the full list

PHP extension
Added reflector classes
Added missed MidgardConnection's methods
Midgard core classes are registered with CamelCase naming convention
GLib errors are propagated as PHP ones
Other bugfixes
See the full list

Main changes from 9.09 releases:
Improved core which supports GObject Introspection
Built on top of Libgda4
Replication , quota and DBus are now optional and fully configurable
Improved performance
New functionalities in 10.05 releases:
New reflection and introspection routines
New database query interfaces
New language bindings: vala and mono (C#)
Midgard2
Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages

Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data
Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps
Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection
Data model is scriptable when you use a content repository, meaning that users can easily write Python or PHP scripts to perform batch operations on their data without having to learn your storage format
Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them
Midgard's philosophy includes building on top of a well-known and supported GNOME libraries like glib and libgda on the system end, and connecting with popular programming languages like PHP and Python. Data storage can utilize SQLite with desktop and mobile applications, or a database server like MySQL or Postgres for web application storage.

The Midgard2 platform enables developers to define a storage structure once and use it on both web and desktop applications, with the possibility of easy data replication between the two.

Read more about Midgard's content repository approach:

http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/
http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/
http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/
http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/
New Midgard architecture
Language independence
Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:

PHP5 extension for web application and CMS development
Python module for desktop application and background process development
Objective-C package for Mac OS X and GNUstep developers
It also provides bindings for other languages:

Vala
Mono (C#)
Database independence
The Midgard 1.x was heavily coupled with the MySQL database. The new Midgard2 architecture is instead built on top of libgda, the GNOME database abstraction layer. This enables Midgard to be used with various storage engines, including:

MySQL
Postgres
SQLite
Microsoft SQL Server
Oracle
DB2
Built-in replication and metadata
All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.

In addition, Midgard provides an API for serializing and unserializing stored objects in XML format that can be used for replicating data between different systems. The replication architecture can be used for staging/live web environments or mobile applications that synchronize between each other or a web back-end.

Midgard resources
Download page and changelog for latest release
Bug reporting
User and developers support:
Users' forum
Developers' forum
IRC: #midgard on irc.freenode.net
#midgard on Qaiku
MidgardProject on Twitter
About Midgard
The Midgard Framework development started in 1997 and it was initially released as free software in May 1999. Midgard Project has since gathered an active user and developer community, powering thousands of web sites ranging from simple organizational intranets to large community portals.

Midgard is being developed by an international team of professionals. Midgard's development team includes new media designers, system integrators and content management consultants. Midgard development has been supported by several commercial and governmental entities including the European Union and the Swedish Internet Foundation.

Midgard2 is free software available under the GNU LGPL license.

http://www.midgard2.org

Contacts
Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com

Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi

The Midgard Project http://www.midgard-project.org [Less]


Midgard2 10.05.4 "Ratatoskr" LTS released!

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.

About 10.05 releases
Midgard2 10.05 ... [More] is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools.

In this release we provide:

Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other.

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.

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.

Main changes from 10.05.3 release:
Core
Fixed MidgardUser memory leaks (#71, #72, #73)
Fixed SQL prepared statements memory leaks (#76)
Major memory leak fixes
PHP extension
Improved MidgardConnection singleton
Improved property handling routines
Major memory leak fixes
Main changes from 9.09 releases:
Improved core which supports GObject Introspection
Built on top of Libgda4
Replication , quota and DBus are now optional and fully configurable
Improved performance
New functionalities in 10.05 releases:
New reflection and introspection routines
New database query interfaces
New language bindings: vala and mono (C#)
Midgard2
Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages

Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data
Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps
Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection
Data model is scriptable when you use a content repository, meaning that users can easily write Python or PHP scripts to perform batch operations on their data without having to learn your storage format
Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them
Midgard's philosophy includes building on top of a well-known and supported GNOME libraries like glib and libgda on the system end, and connecting with popular programming languages like PHP and Python. Data storage can utilize SQLite with desktop and mobile applications, or a database server like MySQL or Postgres for web application storage.

The Midgard2 platform enables developers to define a storage structure once and use it on both web and desktop applications, with the possibility of easy data replication between the two.

Read more about Midgard's content repository approach:

http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/
http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/
http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/
http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/
New Midgard architecture
Language independence
Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:

PHP5 extension for web application and CMS development
Python module for desktop application and background process development
Objective-C package for Mac OS X and GNUstep developers
It also provides bindings for other languages:

Vala
Mono (C#)
Database independence
The Midgard 1.x was heavily coupled with the MySQL database. The new Midgard2 architecture is instead built on top of libgda, the GNOME database abstraction layer. This enables Midgard to be used with various storage engines, including:

MySQL
Postgres
SQLite
Microsoft SQL Server
Oracle
DB2
Built-in replication and metadata
All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.

In addition, Midgard provides an API for serializing and unserializing stored objects in XML format that can be used for replicating data between different systems. The replication architecture can be used for staging/live web environments or mobile applications that synchronize between each other or a web back-end.

Midgard resources
Download page and changelog for latest release
Bug reporting
User and developers support:
Users' forum
Developers' forum
IRC: #midgard on irc.freenode.net
#midgard on Qaiku
MidgardProject on Twitter
About Midgard
The Midgard Framework development started in 1997 and it was initially released as free software in May 1999. Midgard Project has since gathered an active user and developer community, powering thousands of web sites ranging from simple organizational intranets to large community portals.

Midgard is being developed by an international team of professionals. Midgard's development team includes new media designers, system integrators and content management consultants. Midgard development has been supported by several commercial and governmental entities including the European Union and the Swedish Internet Foundation.

Midgard2 is free software available under the GNU LGPL license.

http://www.midgard2.org

Contacts
Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com

Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi

The Midgard Project http://www.midgard-project.org [Less]


Midgard2 10.05.3 "Ratatoskr" LTS released!

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.

About 10.05 releases
Midgard2 10.05 ... [More] is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools.

In this release we provide:

Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other.

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.

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.

Main changes from 10.05.2 release:
Core
Added LDAP authentication type (#68)
Added new signals to QueryExecutor (#57)
Added support for metadata in views (#48)
Added RDF mapping for selected base classes (#55)
Improved delete operation for classes without metadata (#45)
Improved performance of SQL UPDATE queries (MidgardObject derived classes) (#46)
Fixed QuerySelect bugs (add_order, set_offset, INTREE operator) (#50, #51, #60)
Fixed memory leaks in QuerySelect (#44)
Fixed generated SQL queries (#41, #42, #47,#49, #52, #58)
PHP extension
Added GMainLoop wrapper (#33)
Added midgard_connection reopen method (#19)
Improved midgard_object derived class' constructor (#20)
Fixed metadata property bugs (#22, #25, #26, #32)
Fixed memamory leaks (#22)
Main changes from 9.09 releases:
Improved core which supports GObject Introspection
Built on top of Libgda4
Replication , quota and DBus are now optional and fully configurable
Improved performance
New functionalities in 10.05 releases:
New reflection and introspection routines
New database query interfaces
New language bindings: vala and mono (C#)
Midgard2
Midgard2 is a content repository. It provides an object-oriented and replicated environment for building data-intensive applications. This provides several advantages

Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data
Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps
Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection
Data 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
Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them
Midgard's philosophy includes building on top of a well-known and supported GNOME libraries like glib and libgda on the system end, and connecting with popular programming languages like PHP and Python. Data storage can utilize SQLite with desktop and mobile applications, or a database server like MySQL or Postgres for web application storage.

The Midgard2 platform enables developers to define a storage structure once and use it on both web and desktop applications, with the possibility of easy data replication between the two.

Read more about Midgard's content repository approach:

http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/
http://bergie.iki.fi/blog/midgard2_at_fscons-your_data-everywhere/
http://bergie.iki.fi/blog/midgard_and_jcr-a_look_at_two_content_repositories/
http://teroheikkinen.iki.fi/blog/midgard_workshop_at_fscons/
New Midgard architecture
Language independence
Midgard is also language independent and due to its powerful architecture has proven as stable, secure and flexible solution implemented in various environments:

PHP5 extension for web application and CMS development
Python module for desktop application and background process development
Objective-C package for Mac OS X and GNUstep developers
It also provides bindings for other languages:

Vala
Mono (C#)
Database independence
The Midgard 1.x was heavily coupled with the MySQL database. The new Midgard2 architecture is instead built on top of libgda, the GNOME database abstraction layer. This enables Midgard to be used with various storage engines, including:

MySQL
Postgres
SQLite
Microsoft SQL Server
Oracle
DB2
Built-in replication and metadata
All Midgard objects are automatically equipped with a consistent set of metadata properties that can be used for access control and workflow.

In addition, Midgard provides an API for serializing and unserializing stored objects in XML format that can be used for replicating data between different systems. The replication architecture can be used for staging/live web environments or mobile applications that synchronize between each other or a web back-end.

Midgard resources
Download page and changelog for latest release
Bug reporting
User and developers support:
Users' forum
Developers' forum
IRC: #midgard on irc.freenode.net
#midgard on Qaiku
MidgardProject on Twitter
About Midgard
The Midgard Framework development started in 1997 and it was initially released as free software in May 1999. Midgard Project has since gathered an active user and developer community, powering thousands of web sites ranging from simple organizational intranets to large community portals.

Midgard is being developed by an international team of professionals. Midgard's development team includes new media designers, system integrators and content management consultants. Midgard development has been supported by several commercial and governmental entities including the European Union and the Swedish Internet Foundation.

Midgard2 is free software available under the GNU LGPL license.

http://www.midgard2.org

Contacts
Piotr Pokora, Midgard release manager piotrek.pokora(at)gmail.com

Henri Bergius, Midgard spokesman henri.bergius(at)iki.fi

The Midgard Project http://www.midgard-project.org [Less]


Read all Midgard articles…

Edit RSS feeds.