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!

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 (Henri.Bergius@iki.fi)
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)

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)

June

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 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)

The First Midgard IRC Meeting. The meeting took place
on irc.openprojects.net 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 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)

September

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 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)

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)

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 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)

November

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)

December

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)

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 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)

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)

February

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)

March

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)

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)

April

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)

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)

May

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)

Continue reading

Today has been an important day for the Midgard Project - development versions of both active Midgard branches were launched: Midgard 1.9.0alpha1 "White Nights" released Midgard 1.9 has been designed as a version easing the transition from Midgard 1.x to Midgard 2. To aid developers, the release includes both the classic Midgard APIs that are now deprecated, and the new...

We're currently in the stage where two branches of Midgard: 1.9 and 2.0 are both in active development. Midgard 2 is the fully legacy-free next generation of Midgard, and 1.9 is a transitional release that provides both Midgard 2 and Midgard 1 APIs to ease migration. The active development status means that bugs are bound to be found in them....

About Midgard

Midgard2 is a content repository library that can be used in both web and desktop applications. It is built as by Midgard Project, an international free software community. I've been an active part of the group since its beginnings in late 90s.

Thanks to GObject Introspection, the Midgard2 content repository can be used from almost any programming language, including PHP, Python, and JavaScript.