
Global Information Delivery Framework™
<?php
$site = new Site;
if( $site->processConf( "../site.xml" ) ){
echo( "You now have the soul of the site loaded and can now flesh it out." );
}
?>
Layer 1 - Data (nodes)
Layer 2 - Request Handling and Translation
Layer 3 - Structured XHTML
Layer 4 - Visual Rendering
System Files
- site.php (request handler)
- site.xml (configuration)
- lib.php (general functions)
- wrapper/* (xhtml shell)
Specifications

Example of a Site Tree
<?xml version="1.0" encoding="utf-8"?>
<things description="Web Coding Projects" owner="Orgnsm, LLC">
<thing id="webapp" content="/content/code/webapp/index.xml"/>
<things id="webmodules"
title="Orgnsm Web Application Modules"
client="INTERNAL"
subject="web"
ref="http://orgnsm.org/code/web/products/webmodules"
thumb="/content/code/05_thumb.png">
<thing id="journalmodule"
title="Orgnsm Journal Module"
client="INTERNAL"
subject="web"
ref="http://orgnsm.org/code/web/products/webmodules"
thumb="/content/code/05_thumb.png">
<a href="/content/code/web/00_1.png" class="get_bigger"><img src="/content/code/web/00_1-small.png" alt=""/></a>
<p>Back-end code, information/system design by Orgnsm (PHP, XML)</p>
</thing>
<thing id="gallerymodule"
title="Orgnsm Gallery Module"
client="INTERNAL"
subject="web"
ref="http://orgnsm.org/code/web/products/webmodules"
thumb="/content/code/05_thumb.png">
<a href="/content/code/web/00_1.png" class="get_bigger"><img src="/content/code/web/00_1-small.png" alt=""/></a>
<p>2007</p>
</thing>
</things>
<thing id="breze_site"
title="Breze.net"
client="Breze"
subject="web"
ref="http://breze.orgnsm.org"
featured="yes"
featuredimg="/content/design/web/07_featured.jpg"
thumb="/content/design/web/07_thumb.png">
<img src="/content/design/web/07_1-small.png" full="/content/design/web/07_1.png"/>
<p>Singer/Songwriter Promotional Mini-Site</p>
<p>All front and back-end code/information design by Orgnsm (XHTML, CSS, PHP, XML, XSLT)</p>
<p>2004</p>
</thing>
</things>
This XML data tree is transcoded by /lib/Thing_class.php into various XHTML manifestations based on the user's URL request.
2a. URL concepting
orgnsm.org/tags/design/2008
orgnsm.org/journal/2007/12/tags/ego
orgnsm.org/documents/tags/banners
orgnsm.org/art/visuals/2007
orgnsm.org/art/web/?id?/holy_protection
orgnsm.org/galleries/art/web/2003/type/screen/page/2
patterns:
========================
/####/ (year - conflict with page #?)
/##/ (month - conflict with page #?)
/tags/
/id/ (or is this also part of the path automatically?)
/page/
/type/
/syndicate/
or should these sorting patterns be solely query strings, i can't decide.