Stackbox is an ambitious new open source content management system aiming to end the “back-end” editing paradigm for good. All content editing is done directly in-place and on-page through drag-and-drop, JavaScript and AJAX methods coupled with a simple and efficient server-side templating system. Learn about the design and development decisions that led to the creation of Stackbox.
20. Which one is the main
content area?
Monday, May 30, 2011
21. Which one is the main
content area?
Hint: None of them are.
Monday, May 30, 2011
22. The definition of a page these
content management systems
use is fundamentally flawed.
Monday, May 30, 2011
23. No CMS that uses this definition
of a page agrees on the same
solution to this problem, or even
the same terminology.
Monday, May 30, 2011
24. • Widgets
• Blocks
• Modules
• Plugins
• Nodes
• Extensions
• Code Snippets
• Hard-coded in Templates
Solutions(?) for “other” content
Monday, May 30, 2011
25. Users are forced to edit pieces of
the same page in completely
different areas of a complex
admin system several pages
away from the content itself.
Monday, May 30, 2011
26. These methods are all
workarounds to a flawed model
that doesn’t work for pages.
Monday, May 30, 2011
35. How do we define content areas?
Designers will be working with templates.
Monday, May 30, 2011
36. <html>
<head>
<title>Homepage</title>
</head>
<body>
<div class=”cms_region” id=”slideshow”></div>
<div class=”cms_region” id=”intro_left”></div>
<div class=”cms_region” id=”intro_center”></div>
<div class=”cms_region” id=”intro_right”></div>
</body>
</html>
Regions defined with CSS classes
Monday, May 30, 2011
37. What about content on all pages?
Headers, Footers, Sidebars, etc.
Monday, May 30, 2011
38. Title Text
Content for all pages
Monday, May 30, 2011
39. <html>
<head>
<title>Homepage</title>
</head>
<body>
<div class=”cms_region_global” id=”header”></div>
<div class=”cms_region” id=”content”></div>
<div class=”cms_region_global” id=”sidebar”></div>
<div class=”cms_region_global” id=”footer”></div>
</body>
</html>
We also need global regions
Monday, May 30, 2011
40. • Content regions defined with CSS classes
• cms_region
• Content for the current page
• cms_region_global
• Content shared across multiple pages
• Any global template region that shares
the same ID
Unobtrusive markup for regions
Monday, May 30, 2011
42. How do we handle
completely different
types of content?
Monday, May 30, 2011
43. • Text / HTML / WYSIWYG
• Site Navigation
• Blog / News
• Event Calendar
• Image/Video Slideshow
• Contact Form
• Product Listing
• etc...
Different types of content
Monday, May 30, 2011
44. Every piece of content is a
module so nothing is pre-defined.
Monday, May 30, 2011
45. How do we make it easy
for end-users?
Monday, May 30, 2011
46. Kill the admin panel. Put all
edit controls on-page, overlaid on
top of the content the user wants
to edit.
Monday, May 30, 2011
47. Modules are placed inside
defined regions on-page with
user-friendly drag-and-drop
and point-and-click methods.
Monday, May 30, 2011
48. How do we make
developers love
modules?
Monday, May 30, 2011