![[LWN Logo]](/images/lcorner.png) |
|
![[Timeline]](/images/Included.png) |
From: Ken Pooley <kpooley@sewanee.edu>
To: "'midgard@greywolves.org'" <midgard@greywolves.org>,
Subject: MWS for 31st of Aug , 2000 (#45)
Date: Thu, 31 Aug 2000 11:35:49 -0500
Greetings!
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>>]<Files>[<</tt>>]
section for [<<tt>>]midgard-root.php3[<</tt>>] file.
- Midgard now can be used as a source of authentication information for
regular
Apache sites using standard Apache directives.
- 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
level.
- Midgard now uses GNOME [<<b>>]glib[<</b>>] library for safe and reliable
resource
management, as well as James Clark's [<<b>>]expat[<</b>>] 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:
http://www.midgard-project.org/article/8325.html
----------------------------
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 going.
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 directly.
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: <A
HREF="/topic/&(topic.id);.html">&(topic.name);</A> 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.
<?if ($argc == 1) $id = $argv[0];
if ($id) $article = mgd_get_article($id);
if ($id) $topic = mgd_get_topic($id);
if ($article) $author = mgd_get_person($article->author);?>
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.
- 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
-LinuxProgramming
- 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
============================