Linux Today: Linux News On Internet Time.

Midgard Weekly Summary for September 6, 2000 (#46)

Sep 06, 2000, 19:53 (0 Talkback[s])
(Other stories by Ken Pooley)

Date: Wed, 6 Sep 2000 13:49:26 -0500
From: Ken Pooley kpooley@sewanee.edu
To: marty@linuxtoday.com
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 week!

Current versions:
        Stable: 1.2.5 'Mad King'
        Devel.: 1.4beta.5
        Oracle: 1.2.5 Oracle 8i

A new home for Midgard-Project.org

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 server:
" 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 migration right."

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.

Armand can be reached at armand@nl.envida.net

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 science-related.

KP- What has the reality of administrating a midgard site been like, how has it influenced the development of the new versions?

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 1.4.?

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 Midgard.

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

KP- What have been the hardest parts of getting 1.4 finished? Are therestill challenges left in finishing the final candidate?

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 the beginning.

About Midgard

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 web services.

- http://www.midgard-project.org

About MWS

The Midgard Weekly Summary is a newsletter for the Midgard user and developer community.

The MWS is currently being distributed in following mediums:

-The Midgard Project's Web site
- http://www.midgard-project.org

-Linux Weekly News
- http://www.lwn.net

-Linux Today
- http://www.linuxtoday.com

-Linux Developer's Network
- http://linuxdev.net

- http://www.linuxprogramming.com

-Midgard mailing list

If you would like to release it elsewhere, please contact Henri Bergius (Henri.Bergius@iki.fi).

Previous issues of Midgard Weekly Summary can be found archived at the Midgard web site.
- http://www.midgard-project.org/topic/169.html