The Midgard Project turns one

It is now a year since Midgard 1.0 was first released, taking the development project into public view.

To summarize the developments that have taken place during the year, I've written a time line to the Midgard Web site. Enjoy!

Powered by Midgard

The first year of Midgard

It is now a year since Midgard 1.0 was first released on May 8th 1999. While the project has obviously been going on for a longer time than that (first mention of the project is on Bergie's personal Web site, dated April 25th 1998), the 1.0 launch was when the project became public.

As it is very easy to only see where the project is now, and forget the long process that has taken us here, I decided to put together a quick look back into major happenings with the project in last year.

To summarize, the year was one of quick growth for Midgard. We've gathered a quite sizable community of active users and contributors, and also made inroads to corporate acceptance of Midgard both as an important business tool, and a product. In addition, the Midgard application server itself has evolved much from its modest beginnings, and the development team has had good time working on it.

Please note that this document is still in draft state. If you want to make any additions or corrections, please contact Henri Bergius ( about them.

May 1999

Midgard 1.0.0 "Land Rover" released. The first public release of Midgard was announced by Henri Bergius and Jukka Zitting. The initial announcement attracted quite much interest from the Open Source community, and was carried by Linux Today, Scripting News, Freshmeat, and various other sites. (May 8th)

Bug fix release 1.0.1 available. The original "Land Rover" release 1.0.0 of Midgard failed to install properly because of a small bug that entered the code during final packaging. Release 1.0.1 fixed the bug. (May 10th)

Anonymous CVS access. The Midgard Project started using the CVS version control utility for coordinating development work. The CVS server enabled read-only access to anonymous users. (May 10th)

First MWS released. Henri Bergius started gathering weekly summaries of latest Midgard developments by the request of Linux Weekly News. (May 26th)

Development Roadmap. Jukka Zitting released the first Midgard development roadmap. The document illustrated future plans starting from the 1.0 architecture to a much more dynamic 2.0 release. (May 30th)

Midgard 1.0.2 is ready. The new release contained a simplified installation procedure and some bug fixes. No new features were included. (May 30th)


Midgard 1.0.3 in CVS. The latest stable release of Midgard, version 1.0.3 was committed to CVS. This was not released officially in the Midgard site as it contained many troublesome modifications to Midgard's database tables (and so could break many older sites without proper installation), and 1.1 was not that far anyway. (June 16th)

The Midgard FAQ available. First version of Jonni Lehtiranta's Midgard FAQ was released. The FAQ was written based on various discussions on the Midgard mailing list. Later on the FAQ was integrated to the Midgard Manual. (June 22nd)

New Midgard Web site. The Midgard project's Web site was rewritten to use the newest features of the 1.1 release that was still under development at the time. The new site was developed by Jukka Zitting and included an integrated administration interface. (June 23rd)

Midgard function reference. A first step towards a complete Midgard function reference was taken as the Midgard functions and their arguments were listed on the Midgard website. (June 23rd)


Midgard 1.1 "Iron River" released. The Midgard Project released a new version of Midgard Application Server Suite. The new release contained Midgard core libraries, a PHP-based Web Application Server for the Apache platform and the needed Web-based administration tools. (July 14th)

Midgard 1.1.1 released. This release fixed the problems introduced with the 1.1 release to the Midgard Admin site. The Admin site now contains a bunch of new functionality and works without the --with-old-midgard compatibility option to Midgard-PHP. (July 19th)

Mailing list archives online. The Progressive Computing Concepts Inc.'s MARC system started archiving the Midgard mailing list. (July 20th)

The First Midgard IRC Meeting. The meeting took place on channel #midgard from 15:00 GMT to 17:20 GMT. Topics discussed included possible ODBC and WebDAV support, and there were 11 attendees. (July 22nd)

Midgard RPM packages. Emile Heyns' RPM packages for Midgard 1.1.1 were declared stable and made available for Red Hat 5.2 users as both Intel binaries and Source RPMs. (July 28th)


Installation manual for Midgard. Eddie Azman wrote an installation manual for Midgard based on his experiences with the Iron River release.

New development mailing list. Midgard-dev, the mailing list for active Midgard contributors was launched by Jukka Zitting (August 4th)

Midgard 1.3 "Broken Shinai" released. This new ODBC-enabled experimental release was beginning of work on adding support of non-MySQL databases to Midgard. (August 20th)

Midgard 1.2 "Mad King" released. The 1.2 "Mad King" release of Midgard contained usability enhancements and new features. A number of misfeatures and bugs had also been fixed since the 1.1 series. (August 23rd)

Midgard development branched. By the releases of Midgard 1.2 and Midgard 1.3, we separated the Midgard development process to two differenty branches. The branches marked with even minor number are stable, production-quality releases, and the ones with odd minor number are experimental development versions. (August 25th)


Midgard in Linux-Mandrake 6.1. We received word from Jean-Michel Dault that MandrakeSoft's Linux distribution, Linux-Mandrake 6.1 would ship with the latest stable version of Midgard. This made it the first commercial product to contain the Midgard Application Server. (September 1st)

Midgard 1.2.1 released. The 1.2.1 release of Midgard contained some bug fixs and minor new features over the 1.2 release. The most notable new features were support for plaintext passwords and the possibility to compile mod_midgard statically with Apache using the --add-module configure option. (September 3rd)

Midgard 1.2.2 released. The 1.2.2 release of Midgard contained some bug fixes and minor new features over the 1.2.2 release. The most notable new features were support for reply articles, verbose error reporting in connection phase and a few new configure options to ease installation. (September 15th)

Midgard bug reporting. The Midgard Project started using the Bugzilla system for bug tracking. (September 15th)

Midgard 1.2.3 released. Midgard 1.2.3 was a bug fix release. It contained a number of small usability and compatibility fixes. The configure scripts were now wiser than before and should help overcome common installation problems. The mgd_list_topic_calendar function was extended to support limited time frames. (September 29th)


DevShed interview on Midgard. The Developer Shed had a nice interview with Henri Bergius, Emiliano Heyns and Jukka Zitting from The Midgard Project. Topics discussed included DAV, Zope, Midgard 2.0 and our release naming conventions. (October 3rd)

The Road to Midgard 2.0. Jukka wrote about our plans for the forthcoming 2.0 release. The document listed the components of the new library architecture and told about their current state. (October 6th)

Planning the DAV implementation. Emile wrote some notes on a possible way of implementing the DAV (Distributed Authoring and Versioning) specification in Midgard. (October 6th)

The Midgard Workshop. The first Midgard developer workshop was held in Helsinki, Finland. There were 11 participants for the event that included some training sessions, sauna, and discussion in a nearby pub. Event sponsors were Takomo Oy and Data Fellows Corporation. (October 13th)

Midgard training slides. The slides we used for training in the Workshop became available on Midgard's site. (October 15th)

Installation troubleshooting. Emile Heyns posted his solution to organizing help for Midgard installation problems. (October 15th)

Midgard 1.2.4 released. Midgard 1.2.4 added support for multiple Midgard databases in a single Apache server. Support for URL address space management was extended and better defaults for configuration directives was added. Some access control bugs were fixed in the Midgard library. (October 26th)

Russian version of Midgard. Alexander Bokovoy announced a version of Midgard in Russian language. This version included a translated Admin site and some modifications to the Midgard 1.2.3 sources to allow the use of Russian code pages. (October 28th)


Midgard 1.2.5 released. Midgard 1.2.5 fixed the problems with the MidgardDatabase directive and incorporated the Russian Midgard patch from Alexander Bokovoy. Some minor bugs had also been fixed. (November 10th)

Midgard Demo site available. An online demo installation of Midgard 1.2.5 was made available, thanks to Michael Ed and Anders Karlsson. The idea of this new service was to enable people interested in Midgard to experiment with the system safely without having to install it beforehand. (November 24th)

Midgard Development Meeting on IRC. The meeting was held on #midgard at on November 25th at 16:00 GMT. Jukka Zitting coordinated the discussion. (November 25th)


Network World on Open Source app servers. Network World had a short article discussing Open Source application servers. The focus was mostly on Zope, but Midgard and Enhydra also got mentioned. (December 14th)

Midgard and Oracle. Jean-Pierre Arneodo from Initiative Internet announced that they had a team working on adding Oracle support to Midgard and planned to release the new interface under GPL. (December 15th)

Russian Midgard news and tutorial on PrefNews. Alexander Bokovoy started writing a weekly column regarding Midgard usage and developement news to the Russian e-zine PrefNews. (December 19th)

Midgard hints and tips. David Guerizec started publishing a collection of useful code snippets and tricks for Midgard developers. (December 22nd)

January 2000

Midgard 1.2.6 test files available. We decided to still have at least one release for the current stable branch. Midgard 1.2.6 would wrap up all code updates that have come up since the release of 1.2.5 last November. It will also show many usability fixes for the administration tools. Later on this work was wrapped to the 1.4 development tree. (January 5th)

New branch maintainers. Alexander Bokovoy, the author of Russian Midgard wasassigned as the maintainer of the stable branch. This means that his responsibility is to coordinate the releases in that branch, control the addition of new features and keep the regular and Russian Midgard packages synchronized. In addition, Emile Heyns was assigned as maintainer for the development branch. (January 5th)

Midgard and search engines. Emile has worked on adding search engine support to Midgard. Emile's work was on Udmsearch, to which he had a Midgard-enabling patch available. (January 5th)

Midgard 2 API frozen. As Midgard 2 neared the first alpha release, Jukka finally committed the last API changes to CVS. This planned alpha never came to be, though, and Midgard 2 work has been postponed. (January 5th)

IT Week on Midgard and Zope. ZDnet UK's IT Week publication ran a story comparing Midgard and Zope to commercial application servers like Vignette StoryServer. (January 17th)

Midgard RPMs for SuSE. Malte Knoerr, the maintainer of Midgard RPMs for SuSE, made the first packages (Intel binaries and source RPMs) available for that platform. (January 25th)

Midgard on Windows. The Open Server Architecture Project (a group making implementations of popular Unix server programs for the Win32 platform) started porting Midgard for Windows. Their work is based on the 1.3 (Broken Shinai) experimental release. (January 26th)

Manual tarballs. Emile has started making tar packages of the Midgard Manual in RTF, HTML and plain text formats available on his Web site. (January 26th)


Midgard RPMs for Mandrake. Ronan-Yann Lorin released RPM packages of Midgard 1.2.6 beta 1 and Midgard 1.2.5 for Linux-Mandrake. (February 2nd)

Midgard 1.2.6-beta2 released. The second beta for Midgard 1.2.6 became available for download from The Midgard Project's Web site. This new test version included an impressive list of new features that had come up since Midgard 1.2.5 was released in November 1999. (February 7th)

Calendaring and Midgard. David Guerizec announced his proposal for the Midgard calendar API. Documentation of the system and a test application implemented in PHP became available from his site. (February 16th)

New bug tracking system. The Midgard Project started using the Keystone request tracking software for handling bug reports and wishlist items. (February 24th)


Version number for Midgard 1.2.6 changed. We decided to change the version number of Midgard 1.2.6 to 1.4. This was because it contains too much features and newly-written code to justify it being listed as a mere patch to the 1.2 source tree. (March 8th)

SiteGroups announced. Emile announced a new system for handling the Midgard access control data in the 1.2 architecture. This system involved marking a 'sitegroup' information to each toplevel entry in a Midgard database, and then allowing creation of administrator accounts that have administrative rights only for records that are in their site group. (March 8th)

Repligard implementation plans. Midgard's new replication system Repligard was being worked on very actively. Jukka Zitting assumed the responsibility for this module, and started handling most of the development. (March 15th)

Extensible records. Emile's implementation for adding extension capabilities to Midgard's database records was released as a patch against Midgard 1.2.5. (March 15th)

OOP support for Midgard records. Jukka Zitting added a nice new feature into Midgard, enabling Midgard applications to be coded in a much cleaner way. Now all mgd_get_record functions return methods for modifying the records without needing to call the specific modification functions. (March 15th)

New CVS commit policy. By Emile's proposal, all new feature additions to Midgard core should now get approved by the branch maintainer before they are allowed to be committed in. Bug fixes and minor improvements can of course bypass these, as can normal work on the existing features. (March 15th)

Support for Postgres. Ami Ganguli volunteered to start coordinating the work on adding Postgres database support to Midgard. (March 29th)

Calendaring support beta. David Guerizec released the first beta of Midgard's inbuilt calendaring support. This addition was integrated into the 1.4-beta3 release of Midgard. (March 29th)


Midgard 1.4-beta3 released. The third beta release for 1.4 series of Midgard became available for download from The Midgard Project's Web site. This new test version built up on the successful 1.2.6-beta2 release by adding another load of frequently requested new features. It was also another step in the way for creating a new stable version of Midgard to replace the 1.2.5 distribution released in November 1999. (April 18th)

The Midgard Project Ry founded. We have founded a nonprofit organization to advance the development and usage of the Midgard Web Application environment and project, and to provide equal opportunities of making use of the system to both users and developers. (April 18th)

Documentation Roadmap. Ron Parker wrote a letter to the Midgard community in an attempt to help focus the group's effort to produce a publishable Midgard manual. (April 18th)

Blob serving. Emiliano Heyns posted the first version of BLOB (Binary Large OBject) serving support for Midgard. This enables Midgard site maintainers to serve and manage arbitary data (sound, images, video, ...) natively with the Midgard database. (April 18th)

Web Techniques on Midgard. The May issue of Web Techniques carried an introductory article to Midgard by Brian Jepson. (April 26th)


First beta of Midgard 1.2.5 for Oracle released. The first test release of Midgard 1.2.5 port to the Oracle 8i database became available for download. The release was sponsored by E-Target-B, a French eCommerce software developer. (May 2nd)

Midgard European tour & meetings in June. We announced a series of meetings with Midgard people in various European countries in June 2000. (May 3rd)

Read more Midgard posts.