Building an Anti-CMS

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

  • + mariorez RM Software 1 month ago
    Very good explanation. I have tried to demonstrate this concept in my company without much success. I hope your presentation open the minds of some people.
Post a comment
Embed Video
Edit your comment Cancel

Notes on slide 1

So a little bit of background information about me and where I work.

Not in Birmingham

We train lots of these (teachers)

And these (nurses)

corporate website

portal

student communities. And of course attending lots of meetings.

So what is an Anti-CMS?

Allow non-technical users to update content

Provide a uniform template across the site

Keep sites up to date

Whole bunch of other stuff.

Because everyone else has one! In the higher education sector, most institutions went through this process in the last five or six years. Many are now on their second or third CMS.

The reality of many CMS deployments is:

The wrong people are given access to create content

Given training on how to use the system,

not how to write for the web

CMS inhibit creativity

Slow to adapt to new technologies

Little access to internals meaning often you need to go back to the vendor for extensions

They built the /programmes website and more recently /music and it turns out we did a similar kind of thing but without knowing it and obviously not as well!

They explained how they get a domain expert to sketch their world.  Ignore what the resulting website is going to look like and concentrate on real things.  In their case TV or radio programmes, channels, series and so on.

Course information was a trickier proposition but fortunately around the time we were redeveloping this area of the website another project did all the hard work for us.

An XML format called XCRI-CAP defines course information for marketing purposes quite neatly and we were able to convert that into a database.

To get a little bit technical, we use a web framework called Symfony.

The Propel ORM is built into this making defining database models a piece of cake.  

From these models an "admin generator" can automagically create an interface to create and manage records in the database.

Editing a few YAML configuration files and customising some templates results in a nice interface to the database.

With some test data in the database we can start to work on how the front end should work.  This is often done from two directions simultaneously by developer and designer.  The designer is creating Photoshop mock-ups of how these would ideally look

while the developer outputs nice, hopefully semantic HTML representing the data we want to display.  Through several iterations these come together to the final working design.

Where there’s an established structured way of presenting information like a microformat

We can use that as the basis of our code so here’s an example of a vCard we can create from the database.

Which can then be styled to look pretty.

This can be a delicate balancing act.  Pay too much attention to designs and you end up making horrible hacks to the code while we all know what happens when you leave a developer to design websites!

Hopefully we end up with some nice looking, usable and accessible designs for each area of the site but we can do more than this.  Now that we’re managing our data in a structured way we can start to reuse it across our sites.

So as well as a central news site

we can show stories from the stakeholder magazine

or those related to a particular department on their website just a little extra coding and tagging stories correctly.

In our Anti-CMS we use tags

or more specifically machine tags to say how different types of data is linked.

We can also do things that regular CMSs do but more customised to our requirements.

So when searching for courses you can see useful details rather than a random snippet of text from the page.

Likewise event search results have things like embedded microformats. Stefan is doing a session on how Zend and Symfony can be used together and I think Lucene might be one of the things he talks about.

Recently we were able to add search as you type to course searches in just a few minutes using a jQueryplugin hooked up to a JSON feed.

The talk title also promised to tell you how it changed our web team.

Part of our approach to this is questioning whether publishing to the corporate website is the best place for everything or if a blog or an area on our extranet wiki would be a more appropriate place for their content.

Ask me at PHPNW10 how it works out.

9 Favorites & 1 Group

Building an Anti-CMS - Presentation Transcript

  1. Building
    an
    Anti-CMS
    (and how it’s changed our web team)
    Michael Nolan
    http://twitter.com/MikeNolan/
    http://www.michaelnolan.co.uk/
    http://blogs.edgehill.ac.uk/webservices/
    http://joind.in/621/
  2. Edge HillWTF?
  3. 3 years
    1 month
    3 days
  4. © 1984 Charles Platt and David Langford; Micromania: The Whole Truth About Home Computers
  5. SOAP
    RPC
    REST
  6. SOAP
    RPC
    REST
  7. Anti-CMS?
  8. CMS?
  9. Loremipsumdolor sit amet, consecteturadipiscingelit. Nullabibendum, urna non luctus tempus, purusurnaposuere nisi, velfeugiatorcifelis in turpis. Curabiturvenenatiseros et enimlaoreet a sollicitudinipsumhendrerit. Quisqueurnaarcu, egestasnecvarius non, consectetur vitae libero. Nullarutrummalesuadasuscipit. Donecbibendumiaculisdolor sit ametmollis.
    Last updated: 10 seconds ago
  10. workflow, version control, roles, support, audit trail, kitchen sink...
  11. EVERYONE
    HAS
    ONE
  12. Reality
  13. Wrong People
  14. Training on…
    System
  15. Training on…
    Writingfor theWeb
  16. CMS inhibit creativity
  17. CMS are slow to adapt to new technologies
  18. CMS often tie you to the vendor for extensions
  19. News
  20. Events
  21. Courses
  22. /programmes
    /music
  23. domain expert
  24. Press Releases
  25. Calendar Entries
  26. Courses?
  27. XCRI-CAP
  28. Propel ORM
    * yes, we are still using symfony 1.0 and yes, I know we should upgrade
  29. $ symfony propel-init-admin frontend courseAdmin Course
  30. <div class="vcard">
    <a href="/performingarts/about/staff/phil-christopher" class="url">
    <img class="photo" src="/images/phil-christopher" alt="Phil Christopher" />
    </a>
    <h3 class="fn">
    <a href="/performingarts/about/staff/phil-christopher">
    <span class="given-name">Phil</span>
    <span class="family-name">Christopher</span>
    </a>
    </h3>
    <p class="role">Head of Performing Arts</p>
    <div class="tel">
    <span class="type">Work</span> 01695 584688
    </div>
    <div class="email">
    <a href="mailto:chrisp@edgehill.ac.uk"
    title="chrisp@edgehill.ac.uk">Email</a>
    </div>
    <div class="vprofile">
    <a href="/performingarts/about/staff/phil-christopher">View Profile</a>
    </div>
    <div class="tags">
    <ul>
    <li><a href="/profiles/tag/Directing" rel="tag">Directing</a></li>
    <li><a href="/profiles/tag/Drama" rel="tag">Drama</a></li>
    <li><a href="/profiles/tag/Performance" rel="tag">Performance</a></li>
    <li><a href="/profiles/tag/Theatre" rel="tag">Theatre</a></li>
    </ul>
    </div>
    </div>
  31. TAGS
  32. machine
    TAGS
  33. ehu:news=count-on-edge-hill
  34. ehu:event=42
  35. ehu:course=accountancy
  36. ehu:profile=nolanm
  37. ehu:video=graduation-2009
  38. ehu:department=education
  39. Zend
    Search
    Lucene
  40. Atom, JSON, PHP, XCRI, iCal
  41. job done?
  42. contentordata
  43. Zend, Symfony, Cake, CI, Yii, Agavi...Django, RoR, .Net MVC, *ducks*
  44. (and how it’s changed our web team)
  45. ( www || blogs || wiki )
  46. Building
    an
    Anti-CMS
    (and how it’s changed our web team)
    Michael Nolan
    http://twitter.com/MikeNolan/
    http://www.michaelnolan.co.uk/
    http://blogs.edgehill.ac.uk/webservices/
    http://joind.in/621/
  47. Creative Commons
    http://www.flickr.com/photos/dalelane/3089960339/
    http://en.wikipedia.org/wiki/File:Edge_Hill,_Liverpool.JPG
    http://en.wikipedia.org/wiki/File:Groove_Armada.jpg
    http://www.flickr.com/photos/cellphonesusie/2135374403/
    http://www.flickr.com/photos/dcvision2006/3297075008/
    http://www.flickr.com/photos/marquette/1812518264/
    http://www.flickr.com/photos/wboessen/636999249/
    http://www.flickr.com/photos/lokar/3345753029/

+ Michael NolanMichael Nolan, 1 month ago

custom

1481 views, 9 favs, 2 embeds more stats

Slides from my PHP North West 2009 talk "Building a more

More info about this document

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Go to text version

  • Total Views 1481
    • 1430 on SlideShare
    • 51 from embeds
  • Comments 1
  • Favorites 9
  • Downloads 14
Most viewed embeds
  • 50 views on http://www.michaelnolan.co.uk
  • 1 views on http://foundline.typepad.com

more

All embeds
  • 50 views on http://www.michaelnolan.co.uk
  • 1 views on http://foundline.typepad.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Groups / Events