Building maintainable Tridion solutions and why a classic implementation still has its advantages Nickoli Roussakov May 15, 2014 About Content Bloom • Offices in – Toronto, Canada – Brussels, Belgium – Austin, Texas • Certified SDL Tridion consultancy and partner • Strong knowledge and deep roots within the SDL Tridion product suite • Over 35 successful implementations MAINTAINABILITY Fix it with “a rubber band and a bent nail” • You don’t always need advanced technology to make a reliable and maintainable • An analogy of the old “water pump” design working perfectly in modern world: – http://www.youtube.com/watch?v=wJq1nNT7mZ 0 • Keep it basic! Keep it basic • The application must be built so that whoever is maintaining it can fix it easily and quickly. • Ideally, a junior team should be able to work with it. Maintainability • Use well-known design patterns – MVC – Factory – Façade – Singleton Maintainability • Work on having strong fundamentals Maintainability • Use best of breed frameworks – Don’t reinvent the wheel Maintainability • Comment your code Maintainability • Write some documentation Maintainability • What else? Our Framework Reference: http://sdllivecontent.sdl.com/LiveContent/content/enUS/SDL%20Tridion%20full%20documentation-v1/GUID-775B8CB0-D8E5-454B-9944-C1F2370F152A Starts at the core • Spring • Hibernate • Logback BluePrint • Instil correct usage within Editors and Developers/Support Staff • They must get comfortable with the solution Start with the classics BluePrint • Know where to store items – which BluePrint level • If editors don’t want to learn or change often, then use Publication Scope Security Content Model and Functional Design • Build it for the users, but keep it simple for yourself Content Model and Functional Design • Build it for the users, but keep it simple • Each field description should be self explained Content Model and Functional Design • Build it for the users, but keep it simple • Each field description should be self explained • Use Custom URLs to add additional docs Reference: http://www.createandbreak.net/search/label/functional%20design Navigation What is the one style we all know? Navigation What is the one style we all know? • Structure Group driven navigation: Page Template that publishes an XML file of all the pages and SGs JavaScript and CSS • Is the requirement to have it in Tridion genuine? – Quick time to market or just seems like a good idea? • Can’t wait for slow IT • No time for SDLC – Who are the users: HTML Editors or novice computer users? Templating • Have a templating strategy, keep it consistent: – Baking: DWT, Razor, XSLT – Frying: DD4T, CWA, Custom XML Publishing • Get rid of VBS Templates ASAP! My Approach to Content Delivery • Typical web app is modularized (hopefully into layers): – Presentation | Business | Data • CD API is at the Data Layer • …except what we bake from the CM My Approach to Content Delivery • Pages on File System • DCPs in database • … unless DD4T: then put everything in the DB (except, maybe images) The customers out there • Old customers that must maintain – Those that use SiteEdit/XPM – Those that don’t • Brand new customers starting to maintain – Those that insist on XPM (because that’s why they bought the product) – Those that don’t Conclusion Build it so that it can be: “Fixed with a rubber band and bent nail”