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

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
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)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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.