Midgard2 - Content Repository
Midgard2 is an Open Source Content Repository. It provides an object-oriented and replicated environment for building data-intensive applications for both web and the desktop.
With Midgard2 you have generic way to define your own storage objects, that can then be queried and managed using multiple programming languages and applications. This enables writing your CMS or project management tool using a repository-oriented architecture where the Midgard2 storage system acts as the central point of integration between various tools.
Midgard2 is built on the GNOME stack of libraries like GLib and libgda, and has language bindings for C, Python, PHP and other languages via GObject Introspection. Communications between applications written in the different languages happen over D-Bus.
More more about the concept in "Why you should use a content repository for your application" and "Midgard2 - Your data everywhere" by Henri Bergius.
Documentation
- Midgard2 C API documentation
- Midgard2 API in PHP
- Midgard2 API for Seed JavaScript engine
- Midgard2 and Python (see also the Getting started tutorial)
- Midgard2 and Objective-C
- MgdSchema: defining your own objects
Applications using Midgard2
- Qaiku: conversation-oriented microblogging service
- MaeCalories: calories counter for the Nokia N900
- Qaikuclient: microblogging client for the Nokia N900
License
Midgard is free software available under the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the License, or (at your option) any later version.
Downloads
- Latest released tarballs
- Latest released builds for various distributions
- Midgard packages for Maemo
- Nightly tarballs
- Nightly builds for various distributions
Requirements
Getting in touch
If you're interested in using Midgard2 for your project, the #midgard freenode channel is a great place to start. Be sure to also subscribe to the developer mailing list!
Issue tracking and development for Midgard2 happens on GitHub.
