Tricode BV
De Schutterij 12 -18
3905 PL Veenendaal
The Netherlands
tel: 0318 - 559210
fax: 0318 - 650909
www.tricode.nl
in...
Agenda
1. Tricode introduction
2. Road to a Tricode SaaS
3. Tricode SAAS project
4. Lessons learned..during the roadtrip
1...
Tricode
• Founded in 1999
• Based in
• Veenendaal, Netherlands (NL)
• Skopje, Macedonia (MK)
• 2014: 55 employees
• 35 in ...
“We support organizations in creating and maintaining
an online presence by use of several content
management, customer ex...
Tricode
Tricode
Road to Magnolia CMS
2011
• Tricode becomes AEM
CXM implementation
partner
2012
• Search for Java CMS
supplement to AEM:
M...
Road to Tricode SAAS
2014- Q1
• BplusC Magnolia 5 solution released
• Brainstorming Tricode SAAS product vision
2014- Q2
•...
Road to Tricode SAAS
Features of a Tricode cloud WCM service:
1. Hosted CMS solution
2. Managed hosting & CMS support serv...
Tricode SAAS project
• SAAS alpha development project
– In scope:
• Customer WCM self service
• Product based release mana...
Tricode SAAS project
Business needs Implementation
Customer self service
Simplified Magnolia CMS configuration
• Mobile fi...
Project Goal
Not a CMS development
platform, but an end user
CMS & commerce
product solution
technical perspective
Summary of requirements
• Product release management
• Multiple product editions
• Customer self service / pre-configurati...
Product release management
Build and Deploy
Simplified release deployment
Implementation need:
• Simple Magnolia CMS deployment with
a product war file
A classic read
Building Magnolia
At first…
• Manually specifying which module
version must be used for the Magnolia
bundle of choice
Evol...
A classic read cont'd
magnolia.properties
-Dmagnolia.repository.data=/usr/var
Simplified release deployment
Implementation needs:
• Pipeline to build a tested single war file
• Create a new release of...
Jenkins: Build cycle
Jenkins: Release
Automate deployment
• Start a wiki page and write down all steps that are needed to
perform the deployment.
Automate deployment
• Do several deployments by the instructions.
– If something is missing – add it. If something is wron...
Customer self service
Middleware (pre-)configuration
Simplified release deployment
Implementation needs:
• Easy to deploy and upgrade middleware software
and data storage syst...
Deployment models
Basic
High
Availability
Deployment diagram
Secure connections
• Author environment:
– https://<client>-adm.tricode-cms.nl
• Public site:
– https://<client>.tricode-c...
SSL redirect in Apache
How do we know when to redirect a
public page to https?
Using Apache rewrite rules
RewriteCond %{REQUEST_URI} ^/login [OR]
RewriteCond %{REQUEST_URI} ^/register [OR]
RewriteCond ...
In Magnolia…
when
changed to…
Apache has to change…
RewriteCond %{REQUEST_URI} ^/login [OR]
RewriteCond %{REQUEST_URI} ^/register [OR]
RewriteCond %{REQ...
Magnolia SSL enabling
Customer self service
Magnolia (pre-)configuration
Simplified Magnolia CMS configuration
Implementation needs:
• Superuser account not accessible to SAAS
subscribers!
• Cust...
Magnolia pre-configuration
• Using custom installation tasks
1. Change superuser account
@Override
protected List<Task> ge...
User authorisation
Additional features
Templates and Themes
Implementation needs:
• Mobile first
• Easy styling/branding of website by customer
• Use of market leading web frontend d...
Foundation Templating Kit
• Why Foundation CSS framework?
– Full responsive -> Mobile first
– Standardized markup: Easy ov...
Responsive custom theme
Change a theme
Turning this
into
Additional features
Modules and Apps
More end user product features
Implementation needs:
• Magnolia CMS easy and secure application
configuration
• Integratio...
Easy and secure configuration
VS.
Standard Form module
• Standard module extended with Foundation based templates
Forms validation
• Foundation Abide: HTML5 form validation
Standard Imaging module
• Generators: small, medium and large
• Foundation interchange plugin loading responsive images
Blog module
• Website integrated blog
e-Commerce module
• Based on Konakart Community Edition
• Uses Konakart SOAP interface (loosely coupled)
• Freemarker base...
Konakart Admin App
Konakart page components
Magnolia AdminCentral
Conclusion
Delivering Tricode Cloud WCM =
Not only hosting and provisioning implementation
but includes
Development of an ...
Follow us:
tricode.nl
facebook.com/tricode
linkedin.com/company/tricode
slideshare.net/tricode
twitter.com/tricode
Magnolia conference 2014: Tricode, Technical road to Tricode SAAS, powered by Magnolia CMS
Upcoming SlideShare
Loading in …5
×

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

866 views
627 views

Published 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.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
866
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 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. 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. 5. Tricode
  6. 6. Tricode
  7. 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. 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. 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. 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. 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. 12. Project Goal Not a CMS development platform, but an end user CMS & commerce product solution
  13. 13. technical perspective
  14. 14. Summary of requirements • Product release management • Multiple product editions • Customer self service / pre-configuration • Additional features
  15. 15. Product release management Build and Deploy
  16. 16. Simplified release deployment Implementation need: • Simple Magnolia CMS deployment with a product war file
  17. 17. A classic read
  18. 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. 19. A classic read cont'd
  20. 20. magnolia.properties -Dmagnolia.repository.data=/usr/var
  21. 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. 22. Jenkins: Build cycle
  23. 23. Jenkins: Release
  24. 24. Automate deployment • Start a wiki page and write down all steps that are needed to perform the deployment.
  25. 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. 26. Customer self service Middleware (pre-)configuration
  27. 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. 28. Deployment models Basic High Availability
  29. 29. Deployment diagram
  30. 30. Secure connections • Author environment: – https://<client>-adm.tricode-cms.nl • Public site: – https://<client>.tricode-cms.nl – http(s)://www.example.com
  31. 31. SSL redirect in Apache How do we know when to redirect a public page to https?
  32. 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. 33. In Magnolia… when changed to…
  34. 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. 35. Magnolia SSL enabling
  36. 36. Customer self service Magnolia (pre-)configuration
  37. 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. 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. 39. User authorisation
  40. 40. Additional features Templates and Themes
  41. 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. 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. 43. Responsive custom theme
  44. 44. Change a theme
  45. 45. Turning this into
  46. 46. Additional features Modules and Apps
  47. 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. 48. Easy and secure configuration VS.
  49. 49. Standard Form module • Standard module extended with Foundation based templates
  50. 50. Forms validation • Foundation Abide: HTML5 form validation
  51. 51. Standard Imaging module • Generators: small, medium and large • Foundation interchange plugin loading responsive images
  52. 52. Blog module • Website integrated blog
  53. 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. 54. Konakart Admin App
  55. 55. Konakart page components
  56. 56. Magnolia AdminCentral
  57. 57. Conclusion Delivering Tricode Cloud WCM = Not only hosting and provisioning implementation but includes Development of an enhanced end user CMS product solution
  58. 58. Follow us: tricode.nl facebook.com/tricode linkedin.com/company/tricode slideshare.net/tricode twitter.com/tricode

×