01 Manifesto for a new framework

Author: QUIRIJN

Status: IN PROGRESS


SDL and its community of builders have decided to join forces and build a new framework for the development of web sites. We are the group committed to changing the way people create web sites with SDL products. These are our principles.

We want our new framework to be:

  1. Easy
  2. Open
  3. Modular
  4. Supportable
  5. Robust
  6. Performing
  7. Scalable
  8. Demoable
  9. Documented
  10. Tested


EASY

Our new framework must be easy in every way. Easy as in easy to explain: a clean solution, with components that have a clear purpose. Also easy as in easy to work with: the road to your first working web app should be an easy one, adding additional functionality should be easy, and customizing should be easy.


OPEN

We don’t claim to know it all. Every situation requires a specific solution. Our framework must open itself up to the world. Extensibility is not an afterthought; it is the heart of the framework. Every part of the machine must be replaceable by some other part, which presents itself in the exact same way, yet is able to behave differently.


MODULAR

The framework on its own presents a very efficient way to develop your web site. However, you should not need to develop everything yourself - you can choose from a variety of modules. Although these modules can have very different purposes and behaviors, each one of them is loaded and managed in the same way. We may even extend this to a webstore of modules, if we feel like it.


SUPPORTABLE

For all its openness, the framework must still be supportable by SDL, for as much as they care to support it. Does this sound like a contradiction? It doesn’t have to be. The very openness of the solution makes it possible to replace all parts of the machine by parts that are officially supported, perhaps even at the flick of a switch, like the safe mode of Windows.


ROBUST

Our framework must work for everyone, everywhere. Every release must be tested thoroughly and automatically, code must be checked for problems by peer developers as well as automated tools, and releases must be frequent and of the highest quality.


PERFORMING

As our framework runs major websites all around the world, we must deliver first class performance. We must both ensure we deliver optimal transformation, serialization and rendering code as well as provide tunable and pluggable caching.

SCALABLE

Our framework runs in all kinds of architectural scenarios. This means that not only must be able to be integrated easily in enterprise architectures and on a wide range of platforms, but this also means that deployments and releases must be easily possible according to modern CI principles. 

DEMOABLE

The framework should be demoable out of the box, if you install/use all modules, you should have a working site, ready to demo, without needing to write any code. Combine this with the first principle (EASY), you can use it to learn from example, or simply get started using it as is.

SUSTAINABLE

Existing developments should be supported and protected as much as possible. An upgrade path from previous DD4T versions as well as DXA versions must be supplied.

DOCUMENTED

Full installation documentation, FAQ, How-To's, Development Guidelines are absolutely required.

TESTED

The framework requires testing procedures setup. The main things are: Unit Tests, performance testing and integration testing.