HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
London Ruby User Group:One Code-Base, Many Projects
One Code-Base, Many Projects
Jason Cale offered to run a talk / discussion on how to cope with evolving a single project into a maintainable code-base for multiple projects. That's not a great distilation of his idea, so here are his words:

The basic premise of what I have now is a (yet another) custom CMS / E-commerce system that an agency commissioned me to build ..

The system serves both flash websites (via restful apis), and a couple of html based ones .. I'm currently trying to work out the best way to keep a single code base that can serve present development, and future ones .. be flexible and 'hackable' and maintainable .. at the moment its a mix of plugins, config files and theme based extensions.
I certainly don't have all the answers .. but with a bit of research I could present what I've come up with so far, other ideas I've come across (most things online I've found just mention it is hard) and then open it up for discussion.

At the moment instead of it being 'lessons learned' etc, it would still be very present tense, because these problems are ones I'm still working through.

Review:
In this November 2008 LRUG meeting we have Jason Cale introducing how he's managed the transition from a single project to a code-base being used in many projects. He does this using the real world experience he had in creating a custom-CMS code-base for multiple projects.

From the off Jason makes it abundantly clear that he hates CMS's. This provided a great starting point for Jason to explain why he then decided to take on the project and how this viewpoint shapes his creation. In explaining the three different projects the application would have to function for, it's clear what a challenge creating a custom CMS is - especially one that can perform a lot of very different functions well.

Jason then introduces the method he used to create the custom CMS. Using many libraries such as make_resourceful, theme-support and haml makes the task a lot easier too manage as a lot of the hard work has already been done. In order to be successful in a many project code-base source code management is essential and Jason explains the benefits of git and how it makes branching very easy.

Finally, Jason outlines the architecture he used for his application. His advice is to leave Rails alone and use the plug-in architecture, as it makes it easier to both maintain the source code and support future developers using the source code.
Review by David Mulholland
Download the slides here

ABOUT JASON CALE
Jason works with Ruby (w/ Rails and Merb) Application development, iPhone Apps and all sorts of trickery (flash, video production, etc).
More about Jason Cale

ABOUT THE LONDON RUBY USER GROUP
LRUG is the London Ruby User Group; a community of ruby developers based in and around London. We meet up at least once a month; on the 2nd Wednesday of the month we have meetings with talks, demos and such-like and then we have pub-based meetups organised on an ad-hoc basis (roughly half-way between meetings).
More about the London Ruby User Group
PODCAST ONE CODE-BASE, MANY PROJECTS

This session took part at the LRUG Meeting, November. You can view the other 1 podcast here.
SPONSORS
Skills Matter Ltd
JAVASCRIPT & HTML5 PODCASTS
Russel Winder:Python is a High Performance Programming Language, High Performance Python
Russel Winder : 31st Jan 2012
View Podcast: Python is a High Performance Programming Language,
Chris Adams:What's been happening in Wordpress , What's happening in Wordpress
Chris Adams : 19th Jan 2012
View Podcast: What's been happening in Wordpress ,
Mark Mitchell:Wordpress Responsive Design, Wordpress Responsive Design
Mark Mitchell : 19th Jan 2012
View Podcast: Wordpress Responsive Design,
Peter Westwood:Scaling WordPress, Scaling WordPress
Peter Westwood : 19th Jan 2012
View Podcast: Scaling WordPress,
Dave Springgay :HTML5, Android Webview and java bridging, HTML5 & Android Webview
Dave Springgay : 19th Jan 2012
View Podcast: HTML5, Android Webview and java bridging,
Jonathan Anthony :Titatnium & PhoneGap, Titatnium & PhoneGap...
Jonathan Anthony : 19th Jan 2012
View Podcast: Titatnium & PhoneGap,
Andy Richardson:Trends and Patterns, Trends & Patterns
Andy Richardson : 10th Jan 2012
View Podcast: Trends and Patterns,
Chris McGrath:I18n, I18n
Chris McGrath : 9th Jan 2012
View Podcast: I18n,
Joe Corcoran:Judge: Client side form validation for Rails 3, Judge
Joe Corcoran : 9th Jan 2012
View Podcast: Judge: Client side form validation for Rails 3,
Christian  Heilmann:Rethinking User Registration with BrowserID, BrowserID
Christian Heilmann : 13th Dec 2011
View Podcast: Rethinking User Registration with BrowserID,
 :Usable APIs, Usable APIs
: 12th Dec 2011
View Podcast: Usable APIs,
 :Hypermedia as the Engine of Application State, HATEOS
: 12th Dec 2011
View Podcast: Hypermedia as the Engine of Application State,
Chris O Davies:Introduction to User Group and Heroku, Heroku platform
Chris O Davies : 5th Dec 2011
View Podcast: Introduction to User Group and Heroku,
Nicola Tassini:Deploying Java Apps to Heroku, Deploying Java Apps to Heroku
Nicola Tassini : 5th Dec 2011
View Podcast: Deploying Java Apps to Heroku,
John Beynon:The Why, What and How of Heroku, The Why, What and How of Heroku
John Beynon : 5th Dec 2011
View Podcast: The Why, What and How of Heroku,
OTHER JAVASCRIPT & HTML5 EVENTS
Official RNIB Accessibility Hackathon, Official RNIB Accessibility Hackathon
CONFERENCE (2 DAYS)
London, Saturday, February 11th BOOK NOW!
Russel Winder:Russel Winder's Python Workshop,  Russel Winder's Python Workshop
4 DAY COURSE. Featuring Russel Winder
London, Monday, February 13th
Damjan Vujnovic Coding Kata,  Coding Kata
FREE EVENT: In The Brain of Damjan Vujnovic
London, Wednesday, February 15th
London Ruby User Group:LRUG Feb Lightning Talks, London Ruby User Group
FREE EVENT: LRUG lightning
London, Tuesday, February 21st
QCon London 2012, QCon London 2012
CONFERENCE (3 DAYS)
London, Wednesday, March 7th BOOK NOW!
Elevate Events:Elevate Launch Event, Elevate Events
FREE EVENT: elevate-launch-event
London, Wednesday, March 7th
Peter Lubbers:Peter Lubbers' HTML5 “Fast Track” - IN NYC,  Peter Lubbers' HTML5 Fast Track Course
2 DAY COURSE. Featuring Peter Lubbers
New York, Wednesday, March 14th
Peter Lubbers:Peter Lubbers' HTML5 “Fast Track” - IN LONDON,  Peter Lubbers' HTML5 “Fast Track”
2 DAY COURSE. Featuring Peter Lubbers
London, Tuesday, March 20th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship