Modular Gateway Interface

Modular Gateway Interface (MGI) is a plugin for the Apache HTTP server running on Mac OS X. The software acts as a tag-based dynamic server facilitating interactive Web site creation, with capabilities roughly comparable to those of ASP, ColdFusion and PHP. MGI also includes internal databases as well as ODBC hooks to third-party databases.
MGI is a proprietary software product developed by PagePlanet Software of Raleigh, North Carolina.
Previous versions of MGI (prior to March 2009) were written for WebSTAR server software for Mac OS 9 as well as for IIS for Windows NT.
MGI tags
For the Web site coder, MGI serves as a programming language which adds functionality to an HTML page. MGI tags embedded in the page cause desired server-side operations to be carried out, generating HTML and JavaScript which is then sent to the end-user's Web browser.
An aspect of MGI tags is their near-Plain English phrasing. In the example below using the mgiIf tag, text is generated dependent upon whether "A" is greater than "B." Note that "lhs" denotes the left-hand side of an equation, and "rhs" the right.
<mgiIf lhs="A" relationship="greaterThan" rhs="B">
A is greater than B!
<mgiElse>
A is not greater than B!
</mgiIf>
Another aspect of MGI tags is the degree to which they can simplify the creation of database-driven websites. For example, tags are provided to support the creation of online shopping baskets, guestbooks, and graphical hit counters. Instead of many lines of low-level php code to maintain, the programmer needs to insert the tags and a few parameters. For example, to require user authentication for access to a web page, the following MGI tag can be inserted:
<mgiAuthenticateDB>
User database maintenance requires another simple tag:
<mgiAuthenticateDB mode="admin">
In addition to the advantages of simplified coding, a high-level interface like MGI also moves much of the processing from an interpreted environment to a compiled one.
MGI databases
MGI includes internal databases with six field types:
* whole number (integer)
* positive number (unsigned integer)
* multi-precision number (containing up to 50 significant digits including decimal positions)
* true/false (Boolean)
* text (containing up to 250 alpha-numeric characters)
* long text (containing more than 250 alpha-numeric characters)
 
< Prev   Next >