SlideShare a Scribd company logo
BuildinganAnti-CMS(and how it’s changed our web team)Michael Nolanhttp://twitter.com/MikeNolan/http://www.michaelnolan.co.uk/http://blogs.edgehill.ac.uk/webservices/http://joind.in/621/
Building an Anti-CMS
Edge HillWTF?
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
3 years1 month3 days
© 1984 Charles Platt and David Langford; Micromania: The Whole Truth About Home Computers
SOAPRPCREST
SOAPRPCREST
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Anti-CMS?
Building an Anti-CMS
CMS?
Building an Anti-CMS
Building an Anti-CMS
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
workflow, version control, roles, support, audit trail, kitchen sink...
EVERYONEHASONE
Reality
Wrong People
Training on…System
Training on…Writingfor theWeb
CMS inhibit creativity
CMS are slow to adapt to new technologies
CMS often tie you to the vendor for extensions
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
News
Events
Courses
/programmes/music
domain expert
Press Releases
Calendar Entries
Courses?
XCRI-CAP
Building an Anti-CMS
Building an Anti-CMS
Propel ORM* yes, we are still using symfony 1.0 and yes, I know we should upgrade
$ symfony propel-init-admin frontend courseAdmin Course
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
<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>
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
TAGS
machineTAGS
ehu:news=count-on-edge-hill
ehu:event=42
ehu:course=accountancy
ehu:profile=nolanm
ehu:video=graduation-2009
ehu:department=education
Building an Anti-CMS
Building an Anti-CMS
ZendSearchLucene
Building an Anti-CMS
Building an Anti-CMS
Atom, JSON, PHP, XCRI, iCal
Building an Anti-CMS
job done?
contentordata
Zend, Symfony, Cake, CI, Yii, Agavi...Django, RoR, .Net MVC, *ducks*
(and how it’s changed our web team)
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
Building an Anti-CMS
( www || blogs || wiki )
BuildinganAnti-CMS(and how it’s changed our web team)Michael Nolanhttp://twitter.com/MikeNolan/http://www.michaelnolan.co.uk/http://blogs.edgehill.ac.uk/webservices/http://joind.in/621/
Creative Commonshttp://www.flickr.com/photos/dalelane/3089960339/http://en.wikipedia.org/wiki/File:Edge_Hill,_Liverpool.JPGhttp://en.wikipedia.org/wiki/File:Groove_Armada.jpghttp://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/

More Related Content

PPTX
Anti-CMS Evolved Lancaster
PPTX
Anti-CMS Evolved Beta
PDF
Teach bob js
PPT
Edgehill presentation
PPT
Stuff what we're doing at Edge Hill University
PDF
Create a better seach engine than Google
PPTX
WordPress: Beyond Blogging
PPTX
Anti-CMS Evolved
Anti-CMS Evolved Lancaster
Anti-CMS Evolved Beta
Teach bob js
Edgehill presentation
Stuff what we're doing at Edge Hill University
Create a better seach engine than Google
WordPress: Beyond Blogging
Anti-CMS Evolved

Similar to Building an Anti-CMS (20)

PDF
[DevDay2018] Embrace the challenge – working as a developer in Content Manage...
PPTX
What is Content Management System
PPT
How To Implement a CMS
PDF
OpenCms Days 2014 - Updating to OpenCms 9.5
DOCX
Developing an open source content managment system
PPTX
Drupal Developer Days Presentation - Open-Source Platform Alliance_ Collabora...
PDF
cms_presentation.pdf
PPTX
Content Management System - CMS
PPT
Content management systems - SPHMMC
PDF
Custom V CMS
PPTX
Java CMS 2015
PDF
What is a CMS.pdf
PPTX
Umbraco CMS
PDF
Web Intensive Week 3 - Day 5
PPT
Hci 590 Content Management Systems Week1 090330
PPT
Selecting A Content Management System
PPTX
cms content management system web ppt theory presentation (1).pptx
PPTX
EdTechJoker Spring 2020 - Lecture 5 grav cms
PDF
How Does A CMS Function
PDF
OpenCms Days 2015 Workflow using Docker and Jenkins
[DevDay2018] Embrace the challenge – working as a developer in Content Manage...
What is Content Management System
How To Implement a CMS
OpenCms Days 2014 - Updating to OpenCms 9.5
Developing an open source content managment system
Drupal Developer Days Presentation - Open-Source Platform Alliance_ Collabora...
cms_presentation.pdf
Content Management System - CMS
Content management systems - SPHMMC
Custom V CMS
Java CMS 2015
What is a CMS.pdf
Umbraco CMS
Web Intensive Week 3 - Day 5
Hci 590 Content Management Systems Week1 090330
Selecting A Content Management System
cms content management system web ppt theory presentation (1).pptx
EdTechJoker Spring 2020 - Lecture 5 grav cms
How Does A CMS Function
OpenCms Days 2015 Workflow using Docker and Jenkins
Ad

More from Michael Nolan (8)

PPTX
Newbies
PPTX
Scouting for boys and girls
PPTX
Edge Hill XCRI
PPTX
Handling Social Media Overload
PPTX
Mashed Libraries: data.ac.uk
PPTX
Slate My Website
PPT
Developers Developers Developers
PPT
symfony: PHP doesn't have to be crap
Newbies
Scouting for boys and girls
Edge Hill XCRI
Handling Social Media Overload
Mashed Libraries: data.ac.uk
Slate My Website
Developers Developers Developers
symfony: PHP doesn't have to be crap
Ad

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Encapsulation theory and applications.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Machine Learning_overview_presentation.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
A Presentation on Artificial Intelligence
PPTX
1. Introduction to Computer Programming.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mushroom cultivation and it's methods.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
TLE Review Electricity (Electricity).pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
Group 1 Presentation -Planning and Decision Making .pptx
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
cloud_computing_Infrastucture_as_cloud_p
Encapsulation theory and applications.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Machine Learning_overview_presentation.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Unlocking AI with Model Context Protocol (MCP)
A Presentation on Artificial Intelligence
1. Introduction to Computer Programming.pptx
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation_ Review paper, used for researhc scholars
Mushroom cultivation and it's methods.pdf
A comparative analysis of optical character recognition models for extracting...
TLE Review Electricity (Electricity).pptx

Building an Anti-CMS

Editor's Notes

  • #4: So a little bit of background information about me and where I work.
  • #6: Not in Birmingham
  • #8: We train lots of these (teachers)
  • #9: And these (nurses)
  • #14: corporate website
  • #15: portal
  • #16: student communities. And of course attending lots of meetings.
  • #17: So what is an Anti-CMS?
  • #20: Allow non-technical users to update content
  • #21: Provide a uniform template across the site
  • #22: Keep sites up to date
  • #23: Whole bunch of other stuff.
  • #24: 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.
  • #25: The reality of many CMS deployments is:
  • #26: The wrong people are given access to create content
  • #27: Given training on how to use the system,
  • #28: not how to write for the web
  • #29: CMS inhibit creativity
  • #30: Slow to adapt to new technologies
  • #31: Little access to internals meaning often you need to go back to the vendor for extensions
  • #38: 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!
  • #39: 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.
  • #42: 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.
  • #43: An XML format called XCRI-CAP defines course information for marketing purposes quite neatly and we were able to convert that into a database.
  • #45: To get a little bit technical, we use a web framework called Symfony.
  • #46: The Propel ORM is built into this making defining database models a piece of cake.  
  • #47: From these models an "admin generator" can automagically create an interface to create and manage records in the database.
  • #48: Editing a few YAML configuration files and customising some templates results in a nice interface to the database.
  • #50: 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
  • #52: 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.
  • #53: Where there’s an established structured way of presenting information like a microformat
  • #54: We can use that as the basis of our code so here’s an example of a vCard we can create from the database.
  • #55: Which can then be styled to look pretty.
  • #56: 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!
  • #57: 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.
  • #58: So as well as a central news site
  • #59: we can show stories from the stakeholder magazine
  • #60: or those related to a particular department on their website just a little extra coding and tagging stories correctly.
  • #62: In our Anti-CMS we use tags
  • #63: or more specifically machine tags to say how different types of data is linked.
  • #71: We can also do things that regular CMSs do but more customised to our requirements.
  • #73: So when searching for courses you can see useful details rather than a random snippet of text from the page.
  • #74: 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.
  • #76: 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.
  • #80: The talk title also promised to tell you how it changed our web team.
  • #85: 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.
  • #86: Ask me at PHPNW10 how it works out.