SlideShare a Scribd company logo
1 of 54
Download to read offline
stackbox
                                     CMS

                                (Formerly Cont-xt)


                       Vance Lucas             php|tek - May 26, 2011
Monday, May 30, 2011
Why another CMS?



Monday, May 30, 2011
Because this one is
                           different*
                          *Just like every other CMS on the market




Monday, May 30, 2011
What is a page?



Monday, May 30, 2011
Simple Content Page
                           Title Text
Monday, May 30, 2011
Content for this page
Monday, May 30, 2011
•       URL
               •       Title
               •       Body
               •       Parent / Hierarchy
               •       Section / Category / Tags
               •       Metadata
               •       Template



                                  Common Elements
Monday, May 30, 2011
Wordpress 3.1
Monday, May 30, 2011
DrupalText
                        Title 7
Monday, May 30, 2011
Anything Missing?



Monday, May 30, 2011
Title Text
                       Content for all pages
Monday, May 30, 2011
Is it editable?
                            How?




Monday, May 30, 2011
Yes and No.
                         It depends.




Monday, May 30, 2011
Do Your End-Users
                            Know...


Monday, May 30, 2011
Monday, May 30, 2011
Probably Not.
              Good luck telling them to edit templates.




Monday, May 30, 2011
But That’s Not The Only
                Problem...


Monday, May 30, 2011
Complex Page
Monday, May 30, 2011
Content for this page
Monday, May 30, 2011
Which one is the main
                  content area?


Monday, May 30, 2011
Which one is the main
                  content area?
                       Hint: None of them are.



Monday, May 30, 2011
The definition of a page these
             content management systems
             use is fundamentally flawed.



Monday, May 30, 2011
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
•       Widgets
               •       Blocks
               •       Modules
               •       Plugins
               •       Nodes
               •       Extensions
               •       Code Snippets
               •       Hard-coded in Templates


                           Solutions(?) for “other” content
Monday, May 30, 2011
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
These methods are all
        workarounds to a flawed model
         that doesn’t work for pages.



Monday, May 30, 2011
What about Stackbox?




Monday, May 30, 2011
What is a page?


                            Title Text
Monday, May 30, 2011
What is a page?
                        We need a new definition



                                Title Text
Monday, May 30, 2011
A page is a container for content.




Monday, May 30, 2011
•       URL
               •       Title
               •       Body
               •       Parent / Hierarchy
               •       Section / Category / Tags
               •       Metadata
               •       Template



                                  Common Elements
Monday, May 30, 2011
•       URL
               •       Title
               •       Parent / Hierarchy
               •       Metadata
               •       Template




                                  Common Elements
Monday, May 30, 2011
The page template defines the
       content. It is impossible to know
       the content - amount, placement,
            or type - ahead of time.


Monday, May 30, 2011
Content for this page
Monday, May 30, 2011
How do we define content areas?
          Designers will be working with templates.




Monday, May 30, 2011
<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
What about content on all pages?
                       Headers, Footers, Sidebars, etc.




Monday, May 30, 2011
Title Text
                       Content for all pages
Monday, May 30, 2011
<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
•       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
Different types of content
Monday, May 30, 2011
How do we handle
                       completely different
                        types of content?


Monday, May 30, 2011
•       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
Every piece of content is a
     module so nothing is pre-defined.




Monday, May 30, 2011
How do we make it easy
           for end-users?


Monday, May 30, 2011
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
Modules are placed inside
           defined regions on-page with
          user-friendly drag-and-drop
          and point-and-click methods.



Monday, May 30, 2011
How do we make
                       developers love
                          modules?


Monday, May 30, 2011
Modules are self-contained
       MVC triads that define their own
          behavior and structure.



Monday, May 30, 2011
This is made possible with
                  Hierarchical MVC (HMVC).




Monday, May 30, 2011
One More Thing...



Monday, May 30, 2011
Stackbox is multi-site capable.




Monday, May 30, 2011
Demo Time!




Monday, May 30, 2011
stackbox
                                     CMS

                              http://stackboxcms.com




                       hello@brightb.it         (405) 595-0101



                       http://brightb.it        Oklahoma City


Monday, May 30, 2011

More Related Content

Similar to Stackbox CMS: Next-Generation Content Management

Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkJoshua Powell
 
The State of Front End Web Development 2011
The State of Front End Web Development 2011The State of Front End Web Development 2011
The State of Front End Web Development 2011Pascal Rettig
 
Drizzle 7.0, Future of Virtualizing
Drizzle 7.0, Future of VirtualizingDrizzle 7.0, Future of Virtualizing
Drizzle 7.0, Future of VirtualizingBrian Aker
 
WordPress MVC Framework
WordPress MVC FrameworkWordPress MVC Framework
WordPress MVC FrameworkYohan Totting
 
Magento Theme - set the basics right - mm12nl
Magento Theme - set the basics right - mm12nlMagento Theme - set the basics right - mm12nl
Magento Theme - set the basics right - mm12nlHans Kuijpers
 
CMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalCMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalBlake Hall
 
Fun with joomla tags
Fun with joomla tagsFun with joomla tags
Fun with joomla tagssozzled3904
 
Collective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumCollective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumMassimo Azzolini
 
Ruby goes to hollywood
Ruby goes to hollywoodRuby goes to hollywood
Ruby goes to hollywoodehuard
 
The facilities of Features Drupal module
The facilities of Features Drupal moduleThe facilities of Features Drupal module
The facilities of Features Drupal moduleKálmán Hosszu
 
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam MarshallThe Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam MarshallIreland & UK Moodlemoot 2012
 

Similar to Stackbox CMS: Next-Generation Content Management (13)

Presentation Drupal Content Management Framework
Presentation Drupal Content Management FrameworkPresentation Drupal Content Management Framework
Presentation Drupal Content Management Framework
 
The State of Front End Web Development 2011
The State of Front End Web Development 2011The State of Front End Web Development 2011
The State of Front End Web Development 2011
 
XML en NoSQL
XML en NoSQLXML en NoSQL
XML en NoSQL
 
Drizzle 7.0, Future of Virtualizing
Drizzle 7.0, Future of VirtualizingDrizzle 7.0, Future of Virtualizing
Drizzle 7.0, Future of Virtualizing
 
WordPress MVC Framework
WordPress MVC FrameworkWordPress MVC Framework
WordPress MVC Framework
 
Magento Theme - set the basics right - mm12nl
Magento Theme - set the basics right - mm12nlMagento Theme - set the basics right - mm12nl
Magento Theme - set the basics right - mm12nl
 
Что нового в CSS3
Что нового в CSS3Что нового в CSS3
Что нового в CSS3
 
CMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalCMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social Drupal
 
Fun with joomla tags
Fun with joomla tagsFun with joomla tags
Fun with joomla tags
 
Collective Amberjack - European Plone Symposium
Collective Amberjack - European Plone SymposiumCollective Amberjack - European Plone Symposium
Collective Amberjack - European Plone Symposium
 
Ruby goes to hollywood
Ruby goes to hollywoodRuby goes to hollywood
Ruby goes to hollywood
 
The facilities of Features Drupal module
The facilities of Features Drupal moduleThe facilities of Features Drupal module
The facilities of Features Drupal module
 
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam MarshallThe Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
 

More from Vance Lucas

How to Evaluate Your App Idea
How to Evaluate Your App IdeaHow to Evaluate Your App Idea
How to Evaluate Your App IdeaVance Lucas
 
How to Build a Tech Community
How to Build a Tech CommunityHow to Build a Tech Community
How to Build a Tech CommunityVance Lucas
 
Bullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkBullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkVance Lucas
 
Cross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with TitaniumCross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with TitaniumVance Lucas
 
Alloy HMVC PHP Framework
Alloy HMVC PHP FrameworkAlloy HMVC PHP Framework
Alloy HMVC PHP FrameworkVance Lucas
 
Object Oriented Apologetics
Object Oriented ApologeticsObject Oriented Apologetics
Object Oriented ApologeticsVance Lucas
 
PHP - Procedural To Object-Oriented
PHP - Procedural To Object-OrientedPHP - Procedural To Object-Oriented
PHP - Procedural To Object-OrientedVance Lucas
 
Building Data Mapper PHP5
Building Data Mapper PHP5Building Data Mapper PHP5
Building Data Mapper PHP5Vance Lucas
 

More from Vance Lucas (8)

How to Evaluate Your App Idea
How to Evaluate Your App IdeaHow to Evaluate Your App Idea
How to Evaluate Your App Idea
 
How to Build a Tech Community
How to Build a Tech CommunityHow to Build a Tech Community
How to Build a Tech Community
 
Bullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkBullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-Framework
 
Cross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with TitaniumCross-Platform Mobile Development with Titanium
Cross-Platform Mobile Development with Titanium
 
Alloy HMVC PHP Framework
Alloy HMVC PHP FrameworkAlloy HMVC PHP Framework
Alloy HMVC PHP Framework
 
Object Oriented Apologetics
Object Oriented ApologeticsObject Oriented Apologetics
Object Oriented Apologetics
 
PHP - Procedural To Object-Oriented
PHP - Procedural To Object-OrientedPHP - Procedural To Object-Oriented
PHP - Procedural To Object-Oriented
 
Building Data Mapper PHP5
Building Data Mapper PHP5Building Data Mapper PHP5
Building Data Mapper PHP5
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Stackbox CMS: Next-Generation Content Management

  • 1. stackbox CMS (Formerly Cont-xt) Vance Lucas php|tek - May 26, 2011 Monday, May 30, 2011
  • 3. Because this one is different* *Just like every other CMS on the market Monday, May 30, 2011
  • 4. What is a page? Monday, May 30, 2011
  • 5. Simple Content Page Title Text Monday, May 30, 2011
  • 6. Content for this page Monday, May 30, 2011
  • 7. URL • Title • Body • Parent / Hierarchy • Section / Category / Tags • Metadata • Template Common Elements Monday, May 30, 2011
  • 9. DrupalText Title 7 Monday, May 30, 2011
  • 11. Title Text Content for all pages Monday, May 30, 2011
  • 12. Is it editable? How? Monday, May 30, 2011
  • 13. Yes and No. It depends. Monday, May 30, 2011
  • 14. Do Your End-Users Know... Monday, May 30, 2011
  • 16. Probably Not. Good luck telling them to edit templates. Monday, May 30, 2011
  • 17. But That’s Not The Only Problem... Monday, May 30, 2011
  • 19. Content for this page Monday, May 30, 2011
  • 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
  • 28. What is a page? Title Text Monday, May 30, 2011
  • 29. What is a page? We need a new definition Title Text Monday, May 30, 2011
  • 30. A page is a container for content. Monday, May 30, 2011
  • 31. URL • Title • Body • Parent / Hierarchy • Section / Category / Tags • Metadata • Template Common Elements Monday, May 30, 2011
  • 32. URL • Title • Parent / Hierarchy • Metadata • Template Common Elements Monday, May 30, 2011
  • 33. The page template defines the content. It is impossible to know the content - amount, placement, or type - ahead of time. Monday, May 30, 2011
  • 34. Content for this page 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
  • 41. Different types of content 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
  • 49. Modules are self-contained MVC triads that define their own behavior and structure. Monday, May 30, 2011
  • 50. This is made possible with Hierarchical MVC (HMVC). Monday, May 30, 2011
  • 52. Stackbox is multi-site capable. Monday, May 30, 2011
  • 54. stackbox CMS http://stackboxcms.com hello@brightb.it (405) 595-0101 http://brightb.it Oklahoma City Monday, May 30, 2011