Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by Magnolia CMS

  • 290 views
Uploaded on

May 26 Tricode presented their technical road trip to create a SAAS solution based on Magnolia. Didn't visit the Global Magnolia Conference in Basel? Here are the slides.

May 26 Tricode presented their technical road trip to create a SAAS solution based on Magnolia. Didn't visit the Global Magnolia Conference in Basel? Here are the slides.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
290
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Tricode BV De Schutterij 12 -18 3905 PL Veenendaal The Netherlands tel: 0318 - 559210 fax: 0318 - 650909 www.tricode.nl info@tricode.nl SaaS + CMS: Tricode’s technical roadtrip Ronald Kerstens and Gerton ten Ham
  • 2. Agenda 1. Tricode introduction 2. Road to a Tricode SaaS 3. Tricode SAAS project 4. Lessons learned..during the roadtrip 1. Needs versus solutions 5. Questions & Answers
  • 3. Tricode • Founded in 1999 • Based in • Veenendaal, Netherlands (NL) • Skopje, Macedonia (MK) • 2014: 55 employees • 35 in NL • 20 in MK • 20+ customers in NL, BE, UK
  • 4. “We support organizations in creating and maintaining an online presence by use of several content management, customer experience and e-commerce technologies. We boost online conversion rates by delivery of know- how, projects and services to our customers”. 4 Tricode
  • 5. Tricode
  • 6. Tricode
  • 7. Road to Magnolia CMS 2011 • Tricode becomes AEM CXM implementation partner 2012 • Search for Java CMS supplement to AEM: Magnolia CMS 2013 • First Magnolia CMS project : BplusC library website
  • 8. Road to Tricode SAAS 2014- Q1 • BplusC Magnolia 5 solution released • Brainstorming Tricode SAAS product vision 2014- Q2 • Start of Tricode SAAS development project • Alpha release 1.0 of SAAS 2014-Q3 • Continuation of Tricode SAAS development project • Release 1.0 of Tricode SAAS 2014-Q4 • Release 1.1 of Tricode SAAS
  • 9. Road to Tricode SAAS Features of a Tricode cloud WCM service: 1. Hosted CMS solution 2. Managed hosting & CMS support services 3. Automated CMS & website provisioning 4. Customer WCM self service 5. Additional/optional WCM & eCommerce features 6. Product based release management 7. Multiple product editions Tricode Cloud WCM Powered by Magnolia CMS and Konakart
  • 10. Tricode SAAS project • SAAS alpha development project – In scope: • Customer WCM self service • Product based release management • Additional/optional WCM & eCommerce features • Multiple product editions – Out of scope: • Automated Website/CMS provisioning • Hosted CMS solution (done by hosting partner) • Managed hosting & CMS support services 2014- Q2 • Start of SAAS development project • Alpha release 1.0 of SAAS 2014-Q3 • Continuation of SAAS development project • Release 1.0 of SAAS Tricode Cloud WCM Powered by Magnolia CMS and Konakart
  • 11. Tricode SAAS project Business needs Implementation Customer self service Simplified Magnolia CMS configuration • Mobile first and easy styling/branding tooling • Standardized user authorization model • WAAS Admin app • Preconfigured middleware and data storage software Product release management Simplified release deployment • Continuous Integration & delivery pipeline • Single .WAR file = simplified deployments • Standardized hosting environments Additional/optional WCM & eCommerce features More end user product features • Simple blog & news content centric apps • eCommerce storefront components and admin app Multiple product editions Targeting web marketing and ecommerce customers • Basic Cloud WCM edition • High Availability Cloud WCM & eCommerce edition
  • 12. Project Goal Not a CMS development platform, but an end user CMS & commerce product solution
  • 13. technical perspective
  • 14. Summary of requirements • Product release management • Multiple product editions • Customer self service / pre-configuration • Additional features
  • 15. Product release management Build and Deploy
  • 16. Simplified release deployment Implementation need: • Simple Magnolia CMS deployment with a product war file
  • 17. A classic read
  • 18. Building Magnolia At first… • Manually specifying which module version must be used for the Magnolia bundle of choice Evolved in… • Importing one dependency for the Magnolia bundle of choice <dependency> <groupId>info.magnolia.bundle</groupId> <artifactId>magnolia-bundle-parent</artifactId> <version>5.2.5</version> <type>pom</type> <scope>import</scope> </dependency>
  • 19. A classic read cont'd
  • 20. magnolia.properties -Dmagnolia.repository.data=/usr/var
  • 21. Simplified release deployment Implementation needs: • Pipeline to build a tested single war file • Create a new release of the artifact, archive old versions • Automated deployment of the artifact
  • 22. Jenkins: Build cycle
  • 23. Jenkins: Release
  • 24. Automate deployment • Start a wiki page and write down all steps that are needed to perform the deployment.
  • 25. Automate deployment • Do several deployments by the instructions. – If something is missing – add it. If something is wrong – fix it. • After a while write scripts and start using them instead. • Use Jenkins to start the scripts for you.
  • 26. Customer self service Middleware (pre-)configuration
  • 27. Simplified release deployment Implementation needs: • Easy to deploy and upgrade middleware software and data storage system • High Availability and high performance hosting environment • Secure connections and secure data storage
  • 28. Deployment models Basic High Availability
  • 29. Deployment diagram
  • 30. Secure connections • Author environment: – https://<client>-adm.tricode-cms.nl • Public site: – https://<client>.tricode-cms.nl – http(s)://www.example.com
  • 31. SSL redirect in Apache How do we know when to redirect a public page to https?
  • 32. Using Apache rewrite rules RewriteCond %{REQUEST_URI} ^/login [OR] RewriteCond %{REQUEST_URI} ^/register [OR] RewriteCond %{REQUEST_URI} ^/my-account RewriteRule ^/(.*) https://www.example.com/$1 [R=301,L]
  • 33. In Magnolia… when changed to…
  • 34. Apache has to change… RewriteCond %{REQUEST_URI} ^/login [OR] RewriteCond %{REQUEST_URI} ^/register [OR] RewriteCond %{REQUEST_URI} ^/my-account RewriteRule ^/(.*) https://www.example.com/$1 [R=301,L]
  • 35. Magnolia SSL enabling
  • 36. Customer self service Magnolia (pre-)configuration
  • 37. Simplified Magnolia CMS configuration Implementation needs: • Superuser account not accessible to SAAS subscribers! • Customer self service requires simple user authorization model: customer only wants to add users in user groups.
  • 38. Magnolia pre-configuration • Using custom installation tasks 1. Change superuser account @Override protected List<Task> getExtraInstallTasks(InstallContext installContext){ final List<Task> tasks = new ArrayList<Task>(); tasks.addAll(super.getExtraInstallTasks(installContext)); tasks.add(new ChangePasswordTask("/system/superuser", SYSTEM_SUPERUSER_PWD)); return tasks; } • Security app bootstrap files – Standard users, groups and roles
  • 39. User authorisation
  • 40. Additional features Templates and Themes
  • 41. Implementation needs: • Mobile first • Easy styling/branding of website by customer • Use of market leading web frontend development framework for layouts Simplified Magnolia CMS configuration
  • 42. Foundation Templating Kit • Why Foundation CSS framework? – Full responsive -> Mobile first – Standardized markup: Easy override of standard layout – Backed by a company and large user community – Time for an alternative next to STK?
  • 43. Responsive custom theme
  • 44. Change a theme
  • 45. Turning this into
  • 46. Additional features Modules and Apps
  • 47. More end user product features Implementation needs: • Magnolia CMS easy and secure application configuration • Integration of standard Magnolia CMS modules in Foundation Templating Kit • Website Blog integration • Website e-Commerce integration
  • 48. Easy and secure configuration VS.
  • 49. Standard Form module • Standard module extended with Foundation based templates
  • 50. Forms validation • Foundation Abide: HTML5 form validation
  • 51. Standard Imaging module • Generators: small, medium and large • Foundation interchange plugin loading responsive images
  • 52. Blog module • Website integrated blog
  • 53. e-Commerce module • Based on Konakart Community Edition • Uses Konakart SOAP interface (loosely coupled) • Freemarker based components: – Login/register/my-account – Product catalog – Basket – Basic checkout • SOAP integrated Konakart Admin App for Magnolia 5.3
  • 54. Konakart Admin App
  • 55. Konakart page components
  • 56. Magnolia AdminCentral
  • 57. Conclusion Delivering Tricode Cloud WCM = Not only hosting and provisioning implementation but includes Development of an enhanced end user CMS product solution
  • 58. Follow us: tricode.nl facebook.com/tricode linkedin.com/company/tricode slideshare.net/tricode twitter.com/tricode