6 from the 16th week: Decoupled CMS & The <blink> History
In a coupled (monolithic) Content Management System (CMS) one software system (e.g. Drupal) is technically managing everything: content creation and editing, data storage (backend), data synchronizations and imports/exports, delivering content to the user/reader. In a Decoupled CMS, different tasks could be done by different and independent systems: while one system supports authors to create the content, another system delivers it to the users, the data storage is done by a third system and also decoupled from the system that is reponsible for import/export of additional data. You probably have heard of a simple Decoupled CMS variant: static site generators. If you wanna dig deeper: Deane Barker wrote his "Decoupled Content Management 101", Henri Bergius authored a WWW2012 paper called "Decoupling Content Management" (PDF, appr. 600kb) and he provides a short overview about Decoupled CMS in his blog. Some projects to create your Decoupled CMS tech stack are:
Hallo.js: Hallo is the simplest web editor imaginable. Instead of cluttered forms or toolbars, you edit your web content as it is. Just you, your web design, and your content.
Create.js: a comprehensive web editing interface for Content Management Systems. It is designed to provide a modern, fully browser-based HTML5 environment for managing content. All content that you are allowed to change (just by annotating it via RDFa) becomes editable, right there on the page you're reading. Any modifications you make are retained in your browser and can be sent back to the CMS with a push of a button. Create can be adapted to work on almost any content management backend.
Content Repository for PHP: PHPCR combines the best out of document-oriented databases (weak structured data) and of XML databases (hierarchical trees). On top of that, it adds useful features like searching, versioning, access control and locking on top of it. The API defines how to handle hierarchical semi-structured data in a consistent way. It is an adaption of the Java Content Repository (JCR) standard, an open API specification defined in JSR-283.
The sweet extra for this week: The history of the <blink> markup tag
This really made my week, and it is a very good anecdote, that the <blink> markup was really just a crackpot idea :)
The bar was the St. James Infirmary and it had a 30 foot wonder woman statue inside among other interesting things. At some point in the evening I mentioned that it was sad that Lynx was not going to be able to display many of the HTML extensions that we were proposing, I also pointed out that the only text style that Lynx could exploit given its environment was blinking text. We had a pretty good laugh at the thought of blinking text, and talked about blinking this and that and how absurd the whole thing would be. [...] Saturday morning rolled around and I headed into the office only to find what else but, blinking text. It was on the screen blinking in all its glory, and in the browser. How could this be, you might ask? (Louis J. Montulli II, "The Origins of the <Blink> Tag"