Home     Download     Blog     Components     Themes     About     FAQ     Mailing List     Forums
Login     Create Account
News

New PageEdit site just launched to mark the start of development of the open-source project.
PageEdit 2 is the open-source initiative that builds on the success of WebKit's proprietary PageEdit system.

PageEdit was built using the BlackBox 2.0 design methodology developed by WebKit founder Dan Chick and provides a modular, skinnable functionality platform that is easily integrated into any creative web project.

PageEdit 2 builds upon that experience and endeavors to draw upon (and give to) the experience of the ColdFusion development community by taking this project to open source.

What follows is the PageEdit Manifesto...

PageEdit 2.0 / BlackBox 3.0 Manifesto

Dan Chick, dan@webkit.com, June 10-12, 2007

Introduction

In February of 1999 there was a lot of discussion in the ColdFusion community about how to improve upon the Fusebox development methodology.  After having submitted some ideas to the mailing list discussing the future of Fusebox and being unsatisfied with the direction of the technology (at the time) I created the BlackBox development methodology.

BlackBox included some of the elements of Fusebox and attempted to address some of the weaknesses. A second version of BlackBox was released that more-or-less preserved the original BlackBox and added ‘packages’, allowing developers to add complete module functionality via a single tag.

Over the next four years and using BlackBox 2.0 techniques I developed a suite of tools (called pageEdit) for my company WebKit.  Some of these modules include: SEO-friendly shopping cart, user management, SEO-friendly content management system, forums, photo gallery.  There are many other modules, all developed at my own or WebKit’s expense (and building on a previous set of tools from four years before that) that formed the core of the business.

In May of 2007 development on pageEdit had slowed as I focused my energies on other aspects of WebKit. Presented with a possible contract, I learned about an open source movement, written in PHP, called Drupal. A modular system that separated functionality from presentation, Drupal bore a lot of similarities to pageEdit. Three major differences between pageEdit and Drupal are:

  • that books are written about Drupal
  • there are hundreds and thousands of developers using it
  • the creator of Drupal now carries significant name recognition for his hard work.

June 2007 now finds me in the decision-making period of whether to release the pageEdit system to the ColdFusion community as an open-source solution.

The purpose of this paper

I would like to have one to three more people assist me with the core of the new system.  I understand that one person working alone does not get feedback and alternatives points of view in the development cycle. 

This document is written to provide a clear insight into where I am coming from and taking this project. If you want to work with me on this then you deserve to know what you would be getting yourself into.

This document will also provides the same information to anyone who write modules or wishes to contribute to the system in the future.

A fusion of identities

A new system would be either called pageEdit 2 or BlackBox 3, most likely pageEdit 2.  The CFBlackBox.com and the pageEdit.com sites will be merged.  CFBB has a Google page rank of 5 right now.  PE has a rank of 3.  When combined this will immediately this lets us start this new project with a page rank of either 5 or 6.

Why go open source?

A few reasons to consider taking pageEdit open source:

  • Development has slowed
  • An old core build on ColdFusion 5 that can be improved upon
  • A cleaner system for per-implementation customizations
  • Get people using this code – too much time has been put into it for it not to be widely used
  • Give something back to an internet community that has given much to us
  • Build name recognition for those involved in making it happen
  • Possible work resulting from being the experts on this system
  • Possibly offer support contracts
  • No significant open source portal offering presently on ColdFusion

Why not go open source?

A few reasons to consider not going open source:

  • Years of proprietary code released to the wild for free
  • Empower our competition
  • Time needed to keep this initiative going
  • Will the return be worth the sacrifice?

The truth of the matter is that there are already other systems out there, most in PHP, that offer these things.  Our methods are proprietary but the functionality is somewhat widespread already. We would hardly be empowering the competition, simply providing them with tools that WE built.  While that may raise the level of their offerings it sure looks good for us too.

Some of the core features of pageEdit 2.0

A new pageEdit system will offer the following:

  • A solid, modular core system
    • Certain core modules provided as base install
      • Users
      • Security
      • Permissions
      • Admin structure
      • Probably CMS
    • Easy addition of custom modules
    • Lean, efficient core
      • Very little processing overhead to run the system
    • Easy to install
    • Can run a single site on a server or in a multi-site environment
  • Standardized permissions infrastructure
    • Custom permissions definable per module
    • Create groups of users
      • Assign security profiles to groups
    • User permissions are sum of base + all groups + per-user permissions
  • Separate functionality from presentation
    • Every display element can be controlled via custom templates
      • Default templates with each module
      • Custom templates per implementation
      • Individual custom templates
    • Override functionality as well as display
  • Technology
    • Written in ColdFusion 7/8
      • Possible enhancements for CF 8
    • Possible port to PHP
      • Not imminent but possible
    • Databases
      • MS SQL Server
      • MySQL
    • Web Servers
      • IIS
      • Apache
        • Built in support for mod_rewrite to create nice SEO pages
    • Database keys will be integers or guids
      • Guids are okay if mod_rewrite is used to make them nice
      • Integers might be faster
    • Memory variables
      • Some in server scope
      • Some in application scope
      • Additional modules will have their own namespace to avoid conflict
        • Structure key will match the directory name of the module
  • Deployment
    • Easy to implement an entire module
      • Copy files to wherever they need to be
      • Run an install script to build any relevant tables
        • Also have an uninstall script
        • Updates will have their own scripts as well so databases can remain current as modules improve
    • Easy to leverage specific functionality within a module as well
  • Session
    • Built in session-management
      • Standard variables can be checked
      • Permissions
        • Mechanism to reset user permission on the fly
  • Searchable
    • Provide a single interface to index all forms of content
    • Easy to perform a site-search
    • Each displayable page should have a function for ‘indexable content’
  • Distinct URLs
    • Rewritable for SEO and human readability using Apache mod_rewrite
      • Possibly an alternative for IIS as well
    • Each displayable page will have a distinct URL associated with it.
      • This will be a permalink

What needs to be done to launch this initiative?

A few things need to occur before this open source initiative could become a reality:

  • Research changes in new versions of CF
  • Study a few existing methodologies
  • Rewrite the core
  • Rewrite a few key modules
  • Build a site
    • Sourcefourge to mange development or internal?
    • forums
  • Publicize

What needs to be done to maintain this initiative?

It is hard to say what will be required to maintain this.

  • Moderation of forums
  • Review of submitted modules
  • What else?
Primary Architect
Dan Chick

Collaborators
Robb Manalo
Fred Anderson
Hosted by WebKit