Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Midgard is an Open Source persistent storage framework available under the LGPL for Linux and Mac OS X. It operates on a database backend and provides an object-oriented access to its storage in mutliple programming languages. It is suitable for desktop and web applications and provides features like D-Bus-based signals and replication.
The Midgard Core handles all database operations as well as other fundamentals like authentication and replication.
Currently, midgard-php is the most heavily-used language binding, which provides the foundation for the MidCOM CMS Framework. MidCOM Component developers should use Midgard functionality only indirectly through the MidCOM Framework, where MidCOM ACL and other additional features are added.
Datagard - used for database setup, updates and legacy applications installation
For current Midgard versions, packages exist for SuSE, Fedora and Debian via Suse's Open Build Service (OBS). Source installation is partly automated and involves ./configure-ing, make-ing and make install-ing the different parts of the system. After that, a MySQL-Database for Midgard can be created via Datagard. When Apache is correctly configured and restarted, Midgard should run and a new Host can be created in the browser using Midgard Site Wizard. See Midgard Installation for more details.
For Midgard 1, Apache 2.x (MPM Prefork) is required. As of version 1.8, MySQL versions starting from 4.1 can be used as a database backend. Midgard 2 supports other RDBMs as well through the use of libgda and does not required any specific web server.
Midgard uses per-database configuration files usually located in /etc/midgard/conf.d/DB_NAME. Furthermore, each Midgard-powered Apache virtual host needs specific Midgard directives in it. Both are usually generated when setting up a new database with Datagard. The virtual host configuration files are loaded from a very short config files which is included from Apache's main config file.
See also Troubleshooting for typical installation issues.
Midgard consists of
- Midgard-core - the C core
- php5-midgard - the language bindings for PHP 5 (other bindings are available as well)
Note: the package names might be different for older versions. In some versions, the MidCOM Framework and some of it's Components were included, nowadays they are installed via PEAR automatically during installation.
Main Midgard CMF site: http://www.midgard-project.org/
Developer services: http://trac.midgard-project.org/
Presentation on Midgard2: http://www.slideshare.net/bergie/midgard-2-the-cloud-you-can-control-presentation