Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NZYP Project Casestudy using SilverStripe CMS


Published on

Slide from my presentation of the NZYP Casestudy at the 27th Oct 2011 SilverStripe CMS Meetup.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

NZYP Project Casestudy using SilverStripe CMS

  1. 1. SilverStripe CMS NZYP Case StudySilverStripe Community Meetup 27th Oct 2011
  2. 2. First Up…• NZYP/NZYPOD?• New Zealand Young Professionals Online Development.• Joint Venture – Canterbury, Auckland & Dunedin Young Professionals (or YPOs). – Social and Business Events. – Networking and Career Development. – Discounts/Supporting from Local Business.
  3. 3. History
  4. 4. Early Days• Initial brainstorms over a year ago.• Originally to replace CYP’s website – improving management of content.• …but became apparent that YPOs do the same things...we can create a turn-key set of common tools for all YPOs!• DRY concept… applied at a organisation process level.
  5. 5. Standardise where it makes sense
  6. 6. …But lots of flexibility everywhere else
  7. 7. Who was involved? Project Team (Remote team based in Wellington and Christchurch). •Shea Dawson (Development and Template Integration) •Simon Waterhouse (Design, Layout and Photography) •Cam Findlay (Project Management, Development)
  8. 8. Project Objectives1. Engage and communicate better with members to encourage growth and increase value of membership.2. Turn-Key & scalable system for YPOs, efficiency in development and on- going costs.3. Improve and automate processes that are currently time consuming.
  9. 9. Why SilverStripe CMS?
  10. 10. Some Interesting Bits…1. The Great Wall Of Subsites2. Colouring-In For Big Kids3. New Module - APES
  11. 11. The Great Wall Of Subsites
  12. 12. Single SiteContent/Pages/SiteConfig Images/Files Members Blog Comments DataObjects
  13. 13. Default SubsitesContent/Pages/SiteConfig Content/Pages/SiteConfig Images/Files Images/Files Members Blog Comments DataObjects (Sponsors, Events, Benefits etc)
  14. 14. The Brick WallContent/Pages/SiteConfig Content/Pages/SiteConfig Images/Files Images/Files Members Members Blog Comments Blog Comments DataObjects DataObjects
  15. 15. Brick Wall with Decoratorsfunction extraStatics() { return array( has_one => array( Subsite => Subsite, ), ); }function augmentSQL(SQLQuery &$query) { […] Code here to pre-filter for the current Subsite SQL query […] }function onBeforeWrite() { if (!$this->owner->ID && !$this->owner->SubsiteID) { if (self::$default_root_folders_global) { $this->owner->SubsiteID = 0; } else { $this->owner->SubsiteID = Subsite::currentSubsiteID(); } } }
  16. 16. Colouring-In For Big Kids! Custom Branding & Design with Custom SiteConfig
  17. 17. Custom SiteConfig – More Decorators!function extraStatics(){return array( db => array( BrandingBackgroundAlign=>"Enum(Repeat,Centre,Repeat)", BrandingHighlightColour => Varchar(6), […] ‘MembershipType=>"Enum(Paid,Free,Paid)", MembershipModel=>"Enum(Fixed,Rolling,Fixed)", [...] FacebookURL => Varchar(255), Twitter => Varchar(255), [...] ), has_one => array( BrandingLogo => Image, BrandingHeader => Image, BrandingBackground => Image, BrandingFontHeader=>GoogleFont, BrandingFontBody=>GoogleFont, Favicon => File, ) ); }
  18. 18. …Take your stinking paws off me you damn dirty… APES (Automated Provision for Email Services/Syncing)
  19. 19. APES - What does it do?• Creates automatic data sync to 3rd party mail services like MailChimp from SilverStripe Members data.• Simple install with API keys in SiteConfig& setup in the config file.• Provides other widgets and page types around email sign up for email newsletters or e-marketing campaigns.
  20. 20. APES – Basic Setup_config.phpObject::add_extension(Member, MailChimp);Object::add_extension(SiteConfig, MailChimpSiteConfig);APES::setSyncFields(array(Birthday,Interests));Module Code - MailChimp$api = new MCAPI($siteconfig->MailchimpApiKey);$fields = APES::$syncFields;$mergefields = array();//check to see if they have set up extra merge fields, if not - set them upforeach($api->listMergeVars($siteconfig->MailchimpListId) as $merge){ $mergefields[] = $merge[name]; }foreach($fields as $field){ if(!in_array($field, $mergefields)){ $tag = strtoupper(substr($field,0,8));$api->listMergeVarAdd($siteconfig->MailchimpListId, $tag, $field, array(field_type=>text) ); } }
  21. 21. Where can I get it?Click here to get the code
  22. 22. Project Outcome• Completed on time, on budget and to the scope/quality.• The system covered all the objectives that were set out at the beginning.• However… the “iron-triangle” does not guarantee a project success… especially in IT projects.
  23. 23. Defining Success1. Success is more than just time, cost & quality.2. We implemented the DeLone& McLean Information Systems Success Model as part of the project success criteria.3. This research adds some additional key indicators of success for IT projects.
  24. 24. D & M IS Success ModelInformation Quality Intention to Use/Use System Net Benefits Quality User Satisfaction Service Quality
  25. 25. Original Website
  26. 26. New Website
  27. 27. Thank @cameronfindlay