This project originally began over ten years ago as an effort to build a "reusable frame" of navigation and user privileges so as to avoid the distraction involved in re-inventing these common functions for every new application. A content management module was then developed as a way to both validate the "frame" APIs and provide the "frame" with a module to load. Eventually the module loader was generalized; any number of modules can be dynamically installed at runtime, and their APIs are all exposed through the Console object.
Because the ddi environment provides a rich set of primitives
while handling the mundane details, custom applications can be
prototyped very rapidly. In addition to several "conventional"
proofs-of-concept ("self-service" content management system,
blog, product catalog, ticketing system),
we have run this platform in production for
a number of database-driven websites for
distributors, real estate agencies, and mail-order businesses.
When necessary, we have implemented "bulk import" tools that
accept existing client data in its native format.