Midgard 1.4 is an Open Source (OS) content management system based on Apache and MySQL. The system uses PHP as its scripting language. The application and documentation are licensed LGPL, GPL and GFDL which ensures developers, webmasters, ISPs, and business managers that they're investing in a strategy that grants everyone the freedom to share solutions and participate in the application design. While Midgard will always implement an OS development to publishing solution, future releases will include APIs for implementing commercial applications.
Midgard was originally developed for The Grey Wolves, a Finish historical society. The original developers, Jukka Zitting and Henri Bergius, needed an application to develop, publish and manage content. After making Midgard available to the public with Open Source licenses, it attracted new developers and users who advanced the application beyond the original goals. Features like SiteGroups were added to ensure that many users could share a common database without the risk of compromising each other's content.
Commercial ventures like Aurora-Linux, Paris, France, are investing in Midgard development which is encouraged by the licensing strategy. Rather than start an application from scratch, businesses can participate in the design and implementation stages of live code. Aurora has built a ten person development team that includes four long standing volunteer contributers and has enabled them to work full-time on Midgard development.
These investments have accelerated development of the 2.0 branch which is a complete rewrite of the application. This effort is an active design phase. The primary challenge is in designing the back end storage solution and APIs from the Midgard library to the storage back end. An implementation of the current database has been designed in LDAP and is being tested for ease of feature inclusion and performance. Candidates for replacing the current solution include; FramerD and OpenLDAP and various SQL implementations.
Midgard addresses the publishing challenge by providing tools that are based on content organization which creates a content tree that's similar to a Yahoo style directory. Layout is separated from content by a style system that enables HTML developers to focus on site design while writers focus on articles. The SiteGroup (SG) tool separates the single MySQL database into multiple virtual databases and manages access control. When many developers work on one site, each one is assigned membership to a SiteGroup.
Code developers can directly embed Midgard objects; content, users and styles into PHP applications with the Application Programming Interface (API) which makes calls to the Midgard library. Redundant coding is controlled with CodeSnippets which are shareable objects.
Repligard is used to deploy sites from development to production. The exchange format is XML based. (Repligard is an integral part of Midgard since 1.4 release.)
Asgard, a new web browser based administration tool, was released on Christmas, 2000. Asgard is used to manage publishing, development and deployment. It will include interfaces to the new features including SiteGroups.