Midgard Weekly Summary for August 31, 2000 (#45)

Date: Thu, 31 Aug 2000 11:35:49 -0500
From: Ken Pooley [email protected]
To: [email protected]
Subject: MWS for 31st of Aug , 2000 (#45)


This almost came out by the traditional Wednesday deadline but
there were enough important things happening in different parts of
the Midgard world to hold up publication. Below you will find
information on the release of 1.4b5, a short status update for
Midgard 2.0 and the first in a series of Newbie notes aimed at new
Midgard users.

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

1.4b5 is available!

As of last Tuesday there were tarballs available for 1.4b5, the
official announcement came from Alexander Bokovoy last night. This
release does not include the new administrative interface, Asgard,
but there will be one more beta release before the final candidate
which is still slated for October 1st.

>From Alexander Bokovoy’s announcement:

Midgard 1.4 beta 5a fixes various problems with ‘named’
functions (i.e. functions like mgd_get_something_by_name) and
object management as well as installation issues in beta 4.

Below is the list of notable changes, for full description
please look into documentation inside packages:

– Authentication now provided by Midgard itself, without help of
Apache’s configuration options. It means that you have to remove
[<<tt>>][<</tt>>] section for

– Midgard now can be used as a source of authentication
information for regular Apache sites using standard Apache

– FileTemplates were incorporated into Midgard in order to allow
creation of portable Midgard applications on platforms where
databases are unavailable.

– Database structure has changed: now all text fields can
contain up to 2^32 bytes instead of 2^16 in 1.4 beta 4 and previous
versions. You need to export your data with mysqldump, re-create
tables (or update their fields), and put data again in order to use
this feature. There is nothing to change at the Application

– Midgard now uses GNOME
[<<strong>>]glib[<</strong>>] library for
safe and reliable resource management, as well as James Clark’s
[<<strong>>]expat[<</strong>>] XML parser
for working with FileTemplates.

It is important to keep in mind that beta software is software
in development, it isn’t really meant for those new to Midgard.
1.2.5 is the current stable release and sites started with 1.2 will
be have an upgrade path to 1.4. Having said that, the Midgard dev
team welcomes any input from those who are working with development
releases. The download can be found at:

Midgard 2.0 is proceeding.

Work on Midgard 2.0 is coming along. The next few weeks will see
the release of a white paper which outlines the strategies behind
the architectural changes in Midgard 2. The white paper will also
create a functional context for version 2 in the development
history of Midgard. Within the same time frame tests will begin
which use an LDAP (Lightweight Directory Access Protocol) backend
for Midgard data storage. These tests are aimed at looking at a
number of different storage possibilities for the next generation
of Midgard implementations.

Newbie Notes – Dynamic Content, letting Midgard know where it is

This is the first in a weekly series of articles for newer
Midgard users who are trying to figure out how to get the software
to do what they think it ought to. Almost everybody who is using
Midgard was a newbie at some point, some longer than others. Even
with the best documentation there are questions better answered

One of the best features of Midgard is the ability to draw
information from the structure database and move though the
information based on that structure. To move through the database,
whether from article to article or topic to topic, the server needs
to be able to tell itself where it will go and then translate that
into a completable directive to be followed.

While the topic and article numbers all are created in the topic
or content section of the administrative site, the mechanism by
which the links are made is defined in the host section. The first
part of this equation is easy, when topics or articles are listed
using mgd_list_topic, or mgd_get_article one of the fields which is
returned is the topic id number, this information can then, in turn
be used to format the URL into the topic or article. Like this:
This creates a link which is referenced specifically to the topic
or article which will be the destination.

There are two keys to making the move into the next page. First
the origination page must be defined as “ACTIVE” in the host
record. The active designation allows Midgard to transfer the end
of the URL onto the next page using a variable called $argv. $argv
is an array which takes the URL apart broken by the “/” and
stripping the “.html” if it is there. Generally $argv[0] holds the
numerical reference to the topic or article number it is aimed at
in Midgard. Technically though, $argv will hold just whatever
happens to be after the active page. In the example http://www.wicked/one/two/3.html
, if the root page were active, $argv[0] would be ‘one’, $argv[1]
would be ‘two’, and $argv[2] would be ‘3’. If http://www.wicked.com/one was the
active page, $argv[0] would be ‘two’ and $argv[1] would be ‘3’.

On the destination page $argv[0] can be transferred to another
variable or used directly in a get statement : $article =
mgd_get_article($argv[0]); another way to do this, which is used on
the Midgard Admin page, is to transfer the value of $argv in a
code-init page element and then use that variable. Code-init is one
of several elements which Midgard can keep for special use and is
executed before the rest of the page. Here is a code-init from one
of my sites, in this case the $id value will get the article or
topic desired.


It actually all starts to make sense and is more simple than it
seems at first. The mistakes that most people make is to forget to
set the origination page as “active” and to make sure that the
origination link includes a reference to the destination article.

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.


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

-Linux Weekly News

-Linux Today

-Linux Developer’s Network


-Midgard mailing list

If you would like to release it elsewhere, please contact Henri
([email protected]).

Previous issues of Midgard Weekly Summary can be found archived
at the Midgard web site.