SlideShare a Scribd company logo
1 of 86
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/
Edge HillWTF?
3 years 1 month 3 days
© 1984 Charles Platt and David Langford; Micromania: The Whole Truth About Home Computers
SOAP RPC REST
SOAP RPC REST
Anti-CMS?
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...
EVERYONE HAS ONE
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
News
Events
Courses
/programmes /music
domain expert
Press Releases
Calendar Entries
Courses?
XCRI-CAP
Propel ORM * yes, we are still using symfony 1.0 and yes, I know we should upgrade
$ symfony propel-init-admin frontend courseAdmin Course
<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>
TAGS
machine TAGS
ehu:news=count-on-edge-hill
ehu:event=42
ehu:course=accountancy
ehu:profile=nolanm
ehu:video=graduation-2009
ehu:department=education
Zend Search Lucene
Atom, JSON, PHP, XCRI, iCal
job done?
contentordata
Zend, Symfony, Cake, CI, Yii, Agavi...Django, RoR, .Net MVC, *ducks*
(and how it’s changed our web team)
( www || blogs || wiki )
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/
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/

More Related Content

Similar to Building an Anti-CMS

Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible MicroservicesVMware Tanzu
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Burr Sutter
 
Normal accidents and outpatient surgeries
Normal accidents and outpatient surgeriesNormal accidents and outpatient surgeries
Normal accidents and outpatient surgeriesJonathan Creasy
 
SemanticExperts-Reador octobre2016
SemanticExperts-Reador octobre2016SemanticExperts-Reador octobre2016
SemanticExperts-Reador octobre2016Pascal Flamand
 
Safety Bot Guaranteed -- Shmoocon 2017
Safety Bot Guaranteed -- Shmoocon 2017Safety Bot Guaranteed -- Shmoocon 2017
Safety Bot Guaranteed -- Shmoocon 2017Richard Seymour
 
Why Software Drives Us Crazy
Why Software Drives Us CrazyWhy Software Drives Us Crazy
Why Software Drives Us CrazyTechWell
 
Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Bruce Wolfe
 
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Codemotion
 
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Codemotion
 
How Did We End up Here?
 How Did We End up Here? How Did We End up Here?
How Did We End up Here?C4Media
 
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...Amazon Web Services
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansChristian Heilmann
 
A People's History of Microservices
A People's History of MicroservicesA People's History of Microservices
A People's History of MicroservicesCamille Fournier
 
How to Beat Information Overload - Pint of Science 2017 Presentation
How to Beat Information Overload - Pint of Science 2017 PresentationHow to Beat Information Overload - Pint of Science 2017 Presentation
How to Beat Information Overload - Pint of Science 2017 PresentationAndy Tattersall
 
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018Codemotion
 
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...John Mancini
 
Microservicos: Cuándo y Cómo
Microservicos: Cuándo y CómoMicroservicos: Cuándo y Cómo
Microservicos: Cuándo y CómoCarlos Hernando
 
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...Jim "Brodie" Brazell
 

Similar to Building an Anti-CMS (20)

Responsible Microservices
Responsible MicroservicesResponsible Microservices
Responsible Microservices
 
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
Teaching Elephants to Dance (Federal Audience): A Developer's Journey to Digi...
 
Normal accidents and outpatient surgeries
Normal accidents and outpatient surgeriesNormal accidents and outpatient surgeries
Normal accidents and outpatient surgeries
 
SemanticExperts-Reador octobre2016
SemanticExperts-Reador octobre2016SemanticExperts-Reador octobre2016
SemanticExperts-Reador octobre2016
 
Safety Bot Guaranteed -- Shmoocon 2017
Safety Bot Guaranteed -- Shmoocon 2017Safety Bot Guaranteed -- Shmoocon 2017
Safety Bot Guaranteed -- Shmoocon 2017
 
Leadership Style Essay
Leadership Style EssayLeadership Style Essay
Leadership Style Essay
 
EPQ Dissertation
EPQ DissertationEPQ Dissertation
EPQ Dissertation
 
Why Software Drives Us Crazy
Why Software Drives Us CrazyWhy Software Drives Us Crazy
Why Software Drives Us Crazy
 
Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Who's that knocking on my firewall door?
Who's that knocking on my firewall door?
 
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
 
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
Armagan Amcalar - The Human Side of Microservices - Codemotion Berlin 2018
 
How Did We End up Here?
 How Did We End up Here? How Did We End up Here?
How Did We End up Here?
 
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 
A People's History of Microservices
A People's History of MicroservicesA People's History of Microservices
A People's History of Microservices
 
How to Beat Information Overload - Pint of Science 2017 Presentation
How to Beat Information Overload - Pint of Science 2017 PresentationHow to Beat Information Overload - Pint of Science 2017 Presentation
How to Beat Information Overload - Pint of Science 2017 Presentation
 
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018
The Human Side of Microservices - Armagan Amcalar - Codemotion Rome 2018
 
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...
Updated! -- #AIIM16 keynote -- Why the H**** Should You Care About Informatio...
 
Microservicos: Cuándo y Cómo
Microservicos: Cuándo y CómoMicroservicos: Cuándo y Cómo
Microservicos: Cuándo y Cómo
 
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...
8.27.2014, Robot World: How Cyber Physical Systems are Changing Human-Machine...
 

More from Michael Nolan

Scouting for boys and girls
Scouting for boys and girlsScouting for boys and girls
Scouting for boys and girlsMichael Nolan
 
Handling Social Media Overload
Handling Social Media OverloadHandling Social Media Overload
Handling Social Media OverloadMichael Nolan
 
Mashed Libraries: data.ac.uk
Mashed Libraries: data.ac.ukMashed Libraries: data.ac.uk
Mashed Libraries: data.ac.ukMichael Nolan
 
Developers Developers Developers
Developers Developers DevelopersDevelopers Developers Developers
Developers Developers DevelopersMichael Nolan
 
symfony: PHP doesn't have to be crap
symfony: PHP doesn't have to be crapsymfony: PHP doesn't have to be crap
symfony: PHP doesn't have to be crapMichael Nolan
 

More from Michael Nolan (8)

Newbies
NewbiesNewbies
Newbies
 
Scouting for boys and girls
Scouting for boys and girlsScouting for boys and girls
Scouting for boys and girls
 
Edge Hill XCRI
Edge Hill XCRIEdge Hill XCRI
Edge Hill XCRI
 
Handling Social Media Overload
Handling Social Media OverloadHandling Social Media Overload
Handling Social Media Overload
 
Mashed Libraries: data.ac.uk
Mashed Libraries: data.ac.ukMashed Libraries: data.ac.uk
Mashed Libraries: data.ac.uk
 
Slate My Website
Slate My WebsiteSlate My Website
Slate My Website
 
Developers Developers Developers
Developers Developers DevelopersDevelopers Developers Developers
Developers Developers Developers
 
symfony: PHP doesn't have to be crap
symfony: PHP doesn't have to be crapsymfony: PHP doesn't have to be crap
symfony: PHP doesn't have to be crap
 

Recently uploaded

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Building an Anti-CMS

Editor's Notes

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