Date: Wed, 6 Sep 2000 13:49:26 -0500
From: Ken Pooley firstname.lastname@example.org
Subject: MWS for 6th of Sept. , 2000 (#46)
Wednesday! And here is this week's MWS. This week there is an
interview with Alexander Bokovoy, keeper of the Midgard 1.4 flame.
Also there is news of the transition of Midgard-Project.org to a
new home. I am still looking for people who are using Midgard in
the real world and would be willing to look at their site as a case
study for what Midgard does and how. Let me know. Have a grand
Armand Verstappen has been working on moving the main Midgard
Project server to a new home. The goal of moving the server is to
provide the Midgard community with a more reliable dedicated
machine to serve the community's needs. Armand is a partner in
Envida, a Midgard Hosting company in the Netherlands and a Midgard
Project Ry Board member.
The decision to move from the current server was initiated by
Henri Bergius this summer. The current server is located
unofficially at Helsinki University, with no official mandate to be
there, and is on an aging machine. As the project has grown in
magnitude and traffic volume the server has become less reliable
and Henri started looking for a source of a dedicated server for
the project. Aurora Architecte Open Source, of Paris, France
offered a server as well as space and bandwidth to host the server.
As there are a number of Midgard Project Ry members working at
Aurora this proved to be an advantageous arrangement. Other offers
from companies like Laniflesx and Netrex were also accepted with
those sites being asked to mirror the main server.
Verstappen has outlined a phased migration to the new
" First a fresh Linux installation on the new server, then the
installation of security, monitoring and administration packages.
Then the migration of the Midgard Site, Migration of DNS, migration
of CVS, migration of mailinglists, migration of archives."
The new server will be set up initially to run Midgard 1.4b5a.
Verstappen points out,
" The real challenge will be the migration of the Midgard Database.
The old server is running 1.2.4, we will have to copy over that
database, and then upgrade the tables using the upgrade scripts.
Then we'll move the data to a sitegroup and weed out the sites we
don't need (remember, there are some 30 other sites on the old
server). There is a lot of room for error there. Luckily we control
DNS, so we can hold off the final move until we've got the database
In addition to its obvious benefit to those who need to track
down that online function reference at 2:00am, the server migration
should provide a good case study for those who will be moving their
own servers from 1.2x to 1.4 over the next few months. Look forward
to reading newbie notes concerning this process in a few weeks.
An Interview with Alexander Bokovoy: Keeper of Midgard 1.4
Alexander Bokovoy is a teacher of computer science in the
natural sciences department of the National Institute of Higher
Education of Belarussian State University, in Minsk, Belarus. He
has an MS in Mathematics and Computer Science. He is interested in
fractal geometry, geometry, web design & programming and Open
Source software development. He is also a member of the Minsk Linux
Users Group. Alexander has been an active contributor to the
Midgard community and was recently anointed keeper of the last
version of the 1.x software tree.
KP- How did you become involved with Midgard?
AB- I was looking for some kind of software usable for
managing/creating educational resources for Math & CS teaching
during 1999's autumn . I thought that, of course, this software
must be from the Open Source world because our institutions can't
buy proprietary products for several reasons (and the financial one
least). After spending several weeks of testing/selecting, I found
Midgard. It was Midgard 1.2.3. I found that it is very simple to
support non-Latin-1 languages (especially Cyrillic ones) and after
3 days of patches and translation work Russian Midgard was born. It
included configuration options for low-level Midgard libraries and
Admin Site translated to Russian. Since Midgard 1.2.5, it has been
included in the 'official' Midgard distribution.
After release of Midgard 1.2.5, the development team
concentrated on the work for Midgard 2.0, but I thought that we
needed something more usable in a shorter period than version 2.0
offered. That's why branch 1.2.x was continued and that's why now
we have Midgard 1.4 development tree. In February, 2000, when Jukka
Zitting (the original developer of Midgard) discontinued his active
developments, the Midgard team decided to make me a maintainer of
Midgard 1.x tree while Emiliano Heyns has been elected as
maintainer of Midgard 2.0 project.
KP - Do you use Midgard in a real world situation?
AB - Yes. We are using it to maintain the MLUG site
(www.minsk-lug.net) andI'm planning to use it for my lectures at
NIHE. Also there are several plans for deploying Midgard-based
sites during this Autumn and Winter. Most of them are
KP- What has the reality of administrating a midgard site been
like, how has it influenced the development of the new
AB-In reality, a well written Midgard site requires almost no
intervention in administration. For example, I hadn't used MLUG's
Admin Site for past three months. Instead, we wrote own
administrative interface which looks like MLUG site and provides
instant access to articles and topics on it. We have the same on
Midgard-Project.org -- it looks like people are working with
'preview' of the site, not with Admin Site itself. Of course,
practical requirements influence Midgard development. For example,
if you look into midgard-dev archive (http://bergie.greywolves.org:8081/archive/midgard-dev/),
you'll find that in last two months we added some functionality to
article's management, as requested by our users. The same is true
with Asgard development: if something is very inefficient in PHP,
it'll receive a prototype in core functions -- that's why
mgd_walk_xxx_tree() arrived, as well as CodeSnippets, and error
diagnostics (which also was required by users). For example, if
you're using CodeSnippet and an error has been found in it, PHP
will show you a name of CodeSnippet along with path to it and
number of line with error (i.e. /Asgard/Functions/MyFunction, line
KP- How has development gone with 1.4? Are you pretty confident
of makingthe beginning of October release?
AB - There are several 'to do' tasks we have to accomplish yet.
First, we must makeAsgard the new administration site. Second, we
must make the transition to PHP4. Third, the installation procedure
must be made smoother. Integration with PHP4 requires rewrite of
many parts of Midgard's code because the internals of PHP have been
changed since introduction of Zend. This task require serious
investigation of internal Zend API which is, in turn, poorly
documented (the only book on it is Ratschiller&Gerken's "Web
Application Development with PHP 4.0' released in July). The
installation procedure also requires improvement, mostly because
Midgard is able to work on many platforms which differ
significantly in paths to libraries and configuration files. While
it allows administrators to fine-tune the system, this common UNIX
feature complicates a developer's work, especially for Open Source
projects which give to the user a possibility to recompile
application to his/her needs. That's why we have so many questions
regarding Midgard installation.
KP- While 1.4 will be a huge improvement for Midgard it seems
like there are still some architectural limitations to the
application. What will the integration of php 4 bring to Midgard
AB- Integration with PHP4 will bring several good features to
Midgard. First, PHP4 is much more scalable than PHP3, it has a very
fast language engine Zend, and is capable of handling large
projects. Second, being a standard module for PHP4, Midgard will be
more distributed and chances that people will have an offer of
Midgard hosting from ISPs will be higher. Also, migration to Zend
allows us to improve our styling system and create a more powerful
KP- What features do you think are key to the future of Midgard,
will they come in v1.4 or v2?
AB- In short, they are Internalization, Modularization, Security
andUserfriendness. All of these we plan to implement in Midgard
2.0, with possible approximations for Midgard 1.4. It is hard,
however, to follow all these concepts in version 1.4 due
constraints of architecture design of Midgard 1.x branch. For
example the access system in Midgard 1.4 lacks read permissions,
which will be added in Midgard 2.0. Midgard 1.4 has no support for
multibyte encodings and Unicode which complicates Midgard's usage
in East countries. This is also true in multi-language environments
where several languages have overlapped eight-bit encodings and
have different rules for formatting in HTML code. (For example,
Cyrillic and French: Cyrillic doesn't have HTML entities like
Ó ç and so on, while for French they are
KP- What have been the hardest parts of getting 1.4 finished?
Are therestill challenges left in finishing the final
AB - The hardest part is Repligard. We still have
'proof-of-the-concept' only. Repligard is the tool for two-way
replication for the Midgard database. Due constraints of Midgard
1.x architectural design it is hard to implement two-way
replication without modifications in Midgard's core. It creates a
bigger amount of work and also requires developer's forces which
are limited when we talk about core development -- there are not
too many developers who can help at the core -- mostly because it
requires the steep learning curve of Midgard and PHP's internals in
Midgard is a freely-available Web application development and
publishing platform based on the popular PHP scripting language. It
is an Open Source development project, giving you the freedom to
create your solutions in an open environment. Midgard is the tool
for creating, modifying and maintaining dynamic database-enabled
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.