Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Yet another CMS? Think twice about it.

Stefano Verna
September 26, 2012

Yet another CMS? Think twice about it.

Stefano Verna

September 26, 2012
Tweet

More Decks by Stefano Verna

Other Decks in Programming

Transcript

  1. Content management system (CMS) • 1 (noun) a software application

    used to upload, edit, and manage content displayed on a website. A CMS can perform a variety of different tasks for a website, enabling less technical individuals to manage content on a website easily without having an extensive coding background.
  2. 10 20 30 40 50 60 Wordpress Joomla Drupal vBulletin

    Typo3 PHP Link Others 22.2 1.9 2.0 3.7 7.0 8.9 54.3 Alexa’s top million sites CMS usage
  3. 10 20 30 40 50 60 Wordpress Joomla Drupal vBulletin

    Typo3 PHP Link Others 22.2 1.9 2.0 3.7 7.0 8.9 54.3 Alexa’s top million sites CMS usage
  4. 10 20 30 40 50 60 Wordpress Joomla Drupal vBulletin

    Typo3 PHP Link Others 22.2 1.9 2.0 3.7 7.0 8.9 54.3 Alexa’s top million sites CMS usage
  5. “When you throw away code and start from scratch, you

    are throwing away all that knowledge. All those collected bug fixes. Years of programming work.” Joel Spolsky
  6. {

  7. Cra a back-end experience that fits the clients mental model

    of how the website should be edited Deliver on time and within budget
  8. Cra a back-end experience that fits the clients mental model

    of how the website should be edited Deliver on time and within budget and
  9. Front-end is not your affair. This is what web frameworks

    are made for. Routing Controllers Views
  10. Content to be managed is different 100% of the time.

    Don’t bother thinking about “standard usage cases”. They don’t exist.
  11. For each type of content: Create a DB table Listing

    of existing resources Creation of new resource Editing of existing resource Removal of existing resource
  12. A form is just a composition of basic editing fields:

    Text input Text area Checkbox Select/Dropdown File upload
  13. Railsyard.register  Artist  do    list  do        column

     :title        column  :created_at    end end
  14. Railsyard.register  Artist  do    form  do        field

     :name        field  :bio        field  :country        field  :homepage_url    end end
  15. Railsyard.register  Genre  do    list  do        as_tree

           sortable        column  :name        column  :created_at    end end
  16. Railsyard.register  Artist  do    form  do        #

     previous  fields  here        has_many  :awards  do            field  :name            field  :year        end    end end
  17. has_one  :cover  do      field  :image,  as:  :upload  

       field  :alt,  :title end Upload field
  18. has_one  :cover  do      field  :image,  as:  :upload  

       field  :alt,  :title end Upload field
  19. Recap. Think twice about creating a new CMS (open-source project)

    yourself; Classic CMS is not meant for web- agencies; CMF is a promising solution to the need of tailored backend UIs; Don’t forget what matters to the community.