The Fundamental Theorem of Web Site Generation

This theorem establishes that, independently of the underlying core, a web site may be computed by a function of its constituent components.. It is devided into three parts:

  • 1. The build process of an open source component-based web site may be structured as follows:
    • Transpose: obtaining the constituent components from the source into the building environment
    • Transfer: placing the components from the building environment into the target site code base
    • Configure: setting the identity of the target site
    • Install: initializing and activating core, module and theme components
    • Conform: configuring panels, blocks, and menus; setting site variables; defining permissinos; creating users and content
  • 2. A site may be defined as a directed series of actions on the constituent logic and presentation components that may be declared in a xml file. Actions may be:
    • those associated to the core and available to all packages: install package, update package, set variable, create block in panel, add row to menu. Internal functions common to all cores include: say if the core is installed, say if a module is installed and installed version
    • those exposed by installation packages associated to specific components -modules-
  • 3. Given a site, it is possible to automate the update the components from a reference components library.
  • 4. It is possible to clone a site as follows:
    • Backup the site: data base, file system and site identification
    • Restore: database and file system processing source and target site identification
    • Configure: setting the identity of the target site

This theorem is proved as follows:

Create a drupal site as identified in sbd501_at_localhost from the sib_drupal5_sif_sif.xml definition file

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbd501_at_localhost --siburi=./sibs/sib_drupal5_sif_sif.xml -x

Create a drupal site with a version-defined component

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbd501_at_localhost drupal5_mod_views_1_5 -x

Update the component in the site

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbd501_at_localhost drupal5_mod_views --nohistory --doupdate

Create a postnuke site as identified in sbpn501_at_localhost from the sib_PostNuke08_sif_sif.xml definition file

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbpn501_at_localhost --siburi=./sibs/sib_PostNuke08_sif_sif.xml --dev -x

Create a postnuke site with a version-defined component

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbpn501_at_localhost PostNuke08_mod_EZComments_1_3 --dev -x

Update the component in the site

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbpn501_at_localhost PostNuke08_mod_EZComments --dev -f --doupdate --doupdate

Create a xoops site as identified in sbx501_at_localhost from the sib_XOOPS20_sif_sif.xml definition file

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbx501_at_localhost --siburi=./sibs/sib_XOOPS20_sif_sif.xml --dev -x

Create a xoops site with a version-defined component

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbx501_at_localhost XOOPS20_mod_multimenu_1_74 --dev -x

Update the component in the site

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbx501_at_localhost XOOPS20_mod_multimenu --dev --doupdate --doupdate

Create a joomla site as identified in sbj501_at_localhost from the sib_joomla1_sif_sif.xml definition file

> php sifcmd.php b --sifpacksdir=../sifbuilder_local/packages --sifnetsite=sbj501_at_localhost --siburi=./sibs/sib_joomla1_sif_sif.xml --dev -x

The Corolarium I to this theorem establishes that, in two years, all open source component-based content management systems will include this function.

posted by admin at 2007-09-29 00:00:00 0 comments read more