About "The Project"

What I refer to as 'The Project' is one of those life challenging mega-projects that a barrel full of Bill Breitmayers couldn't complete in 20 years. But, it's a start ...

 

Drupal

Some things can be accomplished, largely due to the global nature of Open Source, collaborative development. Of the estimated one billion people who access the Web every day, about 100-200 are working actively on the Drupal content management system. That's only one or two people per ten million, but it's enough to get a running start on the new generation of powerful web applications coming down the road in the next few years.

 

Relationship Manager

Drupal has several interesting proto-semantic web modules today, principally the Relationship Manager module. As of the moment of this writing, it runs on Drupal 4.6 and 4.7, but not on the current version - no releases recently. Dan Morrison, the module's creator, says "the Relationship Manager module is intended to allow free-form links between nodes, recording not just that one page relates to another, but HOW it relates".

It's a very big module, close to 500K. It implements a full library of XML and RDF database functions, based as far as I can tell on the ARC RDF Store Open Source library. The collection of ARC semantic web libraries is very powerful and general, it strives to conform with many of the large OMG standards for the semantic web - RDF, OWL, etc. An alternative is the RAP Open Source library.

As specific requirements for semantic web applications begin to reveal themselves, there is hope than they will allow more specialized and compact subsets of functionality to be built from the Relationship Manager code base.

 

Drake and CakePHP

From the Drake project page:

 

Drake is a module for Drupal that lets you execute your CakePHP applications inside Drupal. It provides a bridge between Drupal and CakePHP, allowing your CakePHP applications to be run with or without Drupal, with no need to change your source code.

 

CakePHP is rapid development framework based on the Model-View-Controller ( MVC ) application architecture. It makes full use of the object-oriented capabilities of the PHP language.

In the Model layer, CakePHP maps between PHP objects and table rows in a mySQL database using relational meta-data embedded in the PHP program. CakePHP supports some relational integrity features that mySQL itself does not support. The Controller mechanism is essentially the main driver and program logic of the application. The View is implemented with a common PHP/CSS template mechanism combined with plug-in helpers for HTML, XML, etc.

Various buit-in defaults simplify the task of producing a first prototype. while the flexibility of the MVC architecture allows for further refinement of the prototype.

 

The Drupal eCommerce Modules

From the standpoint of a business application developer, the eCommerce module should be the central hub of interest. And it is of interest to some extent. But it's a big sprawling mega-module, almost a module of several different modules. Sometimes something gets lost in translation when trying to understand it, at least for me. It's as if it needs a high-level configurator based on some underlying business model ( or template ) to make the many functions more visible and tractable for a given circumstance.

Certainly the product functions in the eCommerce module are amenable to a semantic web treatment. The properties of a product would be expressed in RDF form and be searchable with SPARQL or some other semantically-based search engine. The first step would be to simplify RDF storage and then get basic navigation and search through a network of relationships according to their properties: transitive, reflective, associative, etc. Not a weekend project, by any means.

 

The Links Module

I have literally hundreds of links to sites on the subjects of Business Rules, Rule-Based Systems and the rest. Therefore, one of the most important modules on my site is Links. It shows up as "Weblinks" on the main menu. In terms of benefits to myself, it may best to start by enhancing the Links module with RDF and a primitive navigation functionality than getting embroiled in eCommerce, which, while attractive to potential clients, has no real value to my own distinctly eCommerce-free site.