This presentation was given at Amplify Miami 2014 by Natascha Desmarais, Trainer at Magnolia International, and Chris Bogzevitz, Director at Fitch Ratings.
Practical lessons in integrating back office applications with Magnolia.
This presentation will take a deep look at the many points of integration between Fitch Rating's multi site, multi lingual implementation.
Fitch saw Magnolia as an open integration platform and integrated with Endeca, Mongo, Oracle and a user authentication system. Our speakers will take you through the design and development specifics that he and his team used while building the sites.
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Fitch Ratings Goes Open Suite
1. DD.MM.YYYY at Venue/CustomerFirst Last, Role
Fitch Ratings Goes Open Suite
Practical lessons in integrating back office applications with Magnolia
1 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Chris Bogzevitz, Fitch Ratings and Natascha Desmarais, Magnolia Intl. Date: 2.19.2014
2. 2
About the presenters
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Chris Bogzevitz, Director, Fitch Ratings
Twitter: @chrisbogz
LinkedIn: www.linkedin.com/in/chrisbogzevitz
Email: christopher.bogzevitz@fitchratings.com
3. § Trainer / Developer at Magnolia
for almost 3 years
§ STK and best practices
§ LinkedIn:
http://ch.linkedin.com/in/ndesmarais
§ Email:
natascha.desmarais@magnolia-cms.com
3
About the presenters
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
4. § Ratings and Research on corporate, municipal and corporate finance
debt
§ External tools include a subscription web site, web services and data
feeds
§ Offices in more than 30 countries worldwide, many of which need to
have their own web site
Global Web Site:
https://www.fitchratings.com/
4
Fitch Ratings is a Global Credit Rating Agency
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
5. § Consolidation of technologies (Java) – conscious IT effort
§ Open Source
§ Extensible – Integration with Fitch systems
5
Fitch Chooses Magnolia
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
6. Replace 3 existing web sites with new sites built in Magnolia
Key components of the platform:
§ Common Site Structure for Local Offices to Enter Content
§ Support Multiple Languages
§ Implement Rules for Ratings Display
§ Synchronize with Fitch Global Site Content for Ratings and Research
§ Workflow support
http://www.fitchpolska.com.pl
http://www.fitchratings.ru
http://www.fitchratings.com.tw
6
First Project: Regional Web Site Platform
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
7. 7
Regional Web Site Content Map
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Fitch Core
Content
Issuers
(Companies)
Research
Sector
Pages
Editor-Driven
Content
Home Page
Regulatory
Marketing
8. 8 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
By The Way, this needs to be done in September.
It’s May.
9. 9
Before the Regional Website Project
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Fitch Global Web Site
Core Systems
Endeca Search
MongoDB
Oracle
Various CMS
Taiwan
GWS Application
Taiwan
Database
Russia Poland
Web
App
Web
App
Web
App
Poland
Database
Russia
Database
No Fitch Integration
10. 10
After the Regional Website Project
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Magnolia
Fitch Global Web Site
Core Systems
Endeca Search
MongoDB
Oracle
GWS Application
Regional Web Site
Platform
Built on Magnolia
Taiwan Russia Poland
11. § Take advantage of the STK
§ Platform advantages – filters, PUR, i18n, extend
§ Magnolia configures integration with other systems
The challenge – getting both developers and business to think this way
11
How Do We Get There? Think the “Magnolia Way”
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
12. § Sector Pages (Search Integration)
§ Public User Authentication
12
Integration with Fitch Systems
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
13. 13 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Sector Pages (Search Integration)
14. 14
Sector Pages - Example
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
15. On the Global Web Site:
§ pages are configured in XML files as part of Spring MVC
§ requires a full release cycle to add a sector
§ CMS content is managed externally – an editor cannot see how the
content integrates with the site until after publishing
On the Regional Site Platform :
§ pages are configured in Magnolia
§ editors see the content integrated immediately
§ Search parameters are configured in Magnolia STK dialogs and site
configurations
15
Sector Pages – Overview
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
16. 16
Sector Pages - Flow
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
EndecaDAO class
Uses Endeca API to retrieve data from Endeca
ENDECA MDEX
Endeca’s index engine
Magnolia STK
Extend Page Model Class to Retrieve Content from Endeca
Components include Issuers, Research and Guided Navigation
17. 17
Sector Pages – Sector Configuration
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Sector Navigation Parameter controls the sector. It’s a search engine
specific ID that does not change. A new sector can be created simply
by applying a different sector parameter.
18. 18
Sector Pages – Site Content Configuration
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Endeca provides a filter for queries based on the content. We added
that as a parameter in the Site Configuration.
19. 19
Sector Pages – Sample Code
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
String sectorSiteParam = (String) site.getParameters().get("sectorSiteParam");
String sectorSectorParam = PropertyUtil.getString(content, "sectorSectorParam");
this.endecaSearchRequest = new EndecaSearchRequest(sectorSiteParam,
sectorSectorParam,
sectorNumberIssuers, sectorNumberResearch, sectorPageType);
20. 20 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Integration the “Magnolia Way”
Thoughts and Examples
22. § Fitch already has a Spring project
§ Components need to change dynamically
§ Components interact
§ Powerhouse Blossom + STK
22
We ♥ Blossom
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
24. § Instead of split search (Magnolia & external system) one unified
search
§ Full text search
§ Faceted search
§ Replication made easy
§ Scalable
24
Solr
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
25. § Data module lets you create own data types
§ Import data from other systems into Magnolia
§ Scheduled (e.g. nightly) automated imports
§ Independent from availability of other system
§ Select and modify data from within Magnolia
25
Data module
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
26. Wasn‘t the data module retired with
Magnolia 5?
26
But wait…did you say data module?
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
27. § Content apps are your new
friends
§ New projects use own
workspace
§ Data workspace still there
§ Migration tool creates a content
app for viewing your data
27
Fear not – even better now!
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Success!
28. 28 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
All or nothing?
Cherry pick
Use whatever is there
Don’t reinvent the wheel!
29. § Current problem: Usability / UX
§ Too much and volatile to import the data
§ The annoying part are the navigation IDs
§ But – they’re static!
§ Cherry pick – just import the updated Endeca IDs and corresponding
descriptions into Magnolia
§ Make Sector IDs and other navigation IDs selectable from within
Magnolia
§ Human readable
29
Data module – Fitch example
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
30. 30 Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Extending the Public User Registration Module
31. Magnolia comes with a great module for managing public user
registration (the PUR).
The (PUR) module had everything we wanted.
§ Pre-fab forms and classes that integrate with the STK
§ Authentication
§ Access Control
But…
31
Public User Registration
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
32. The PUR stores Users in the JCR.
Fitch couldn’t count on synchronizing user records between Fitch’s
Global Web Site users and Magnolia.
Instead…
32
Public User Registration
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
33. 33
Public User Registration – The Solution
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
Extended the PUR to use our own User
Management System
§ Reuse PUR components
§ Update Jboss to add a Fitch User
Management Realm
§ FitchLoginModule extends
AbstractLoginModule
§ Implement our own UserManager and
AbstractUser
§ Provide custom behavior:
§ Terms of Use filter
§ Validate user with Fitch-generated
token
34. Terms of User Filter:
If (user != null) {
String termsOfUse = user.getProperty("termsOfUse");
if (termsOfUse != null) {
if (termsOfUse.equals("0")) {
response.sendRedirect(MgnlContext.getContextPath() + "/" +
uriArray[1] + "/users-area/terms-of-use.html");
}
}
}
34
Public User Registration – Sample Code
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
35. Use Magnolia Forms! Extend Magnolia form elements when needed,
don’t hard code them in your FTLs
Anonymous User – could be a better way
35
Public User Registration – Lessons Learned
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.
36. Fitch Ratings is a leading provider of credit ratings, commentary and
research. Dedicated to providing value beyond the rating through
independent and prospective credit opinions, Fitch Ratings offers global
perspectives shaped by strong local market experience and credit
market expertise.
Fitch Group is a global leader in financial information services with
operations in more than 30 countries. In addition to Fitch Ratings, the
group includes Fitch Solutions, an industry-leading provider of credit risk
products and services, and Fitch Learning, a preeminent training and
professional development firm. Fitch Group is jointly owned by Paris-
based Fimalac, S.A. and New York-based Hearst Corporation.
36
About Fitch Ratings
Version 1.1 Magnolia is a registered trademark owned by Magnolia International Ltd.