Glossary

$argv, $argc

A C language like data structure. $argc contains the number of arguments to a Page. $argv is an array which contains their values

Article

Articles are the leaf-level entities of the content management hierarchy. Each Article belongs to a Topic.

<[code-init]>, <[code-global]>, <[code-compat]>

These three Elements are called before ROOT. They can be used for every Page as initialization routines, global declarations/definitions and backwards-compatibility code.

Element

Elements are children of either Pages or Styles. They are text macro blocks, and they can be nested. They are the basis of Midgard's templating system.

midgard-root.php4

The entry point to the Midgard system. It contains the <[code-compat]>, <[code-global]>, <[code-init]> and <[ROOT]> Elements.

Page

A table in the Midgard database where each record is a node in a tree structure. Pages are the structure of a Midgard site. Page names appear as directories in a Midgard targeted URL. Each Page node may have children Elements which are meant to define the dynamics of a web page.

Prefix

A Host record field. An optional string which follows the Host name in a Midgard targeted URL. It may be seen as a prefix to the requested Page or as a suffix to the Host name. Different prefixes enable separate virtual Hosts with the same Host name and port number.

ROOT

The <[ROOT]> Element is where the expansion process for nested elements begins. Upon expansion the nested elements are replaced with their content.

Sitegroup

A table and a field in every single other table of the Midgard database. Sitegroups separate Midgard's single MySQL database into multiple virtual databases. Users are restricted to accessing data for the Sitegroup which they have membership in when authentication is required.

Records belonging to SiteGroup 0 (SG0) are available read only to all users, whatever Sitegroup they have logged into. The root administrator, who must be part of SG0, has write permissions for all ressources, across all Sitegroups.

Snippet

A code Snippet is an object which acts like a little library with PHP code in it. Code Snippets can be used to store useful fragments of code that don't necessarily belong to styles: classes, utility functions, html templates, style sheets, etc... Code Snippets include documentation.

Style

A table in the Midgard database where each record is a node in a tree structure. Each Style node may have children Elements which are meant to define the look-and-feel of a Page.

Topic

Topics are the top-level entities of the content management hierarchy. They can contain sub-Topics and Articles. Articles contain the data that will be published.

Virtual Path

The end of a Midgard targeted URL. The arguments to the requested Page.