Slides - Tridion Developer Summit 2014

advertisement
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”
Download