Integrating Sitecore and Personify

025
Integrating Sitecore and Personify
nonlinear digital is the full-service digital agency division of nonlinear creations, with extensive
knowledge and technical expertise in various CMS and marketing/analytics solutions, particularly
the Sitecore platform. Our teams, working with you, use an agile methodology to create unique
website and digital experiences that drive business results in a measurable way.
For more information on our services or to get in touch, please visit:
Combining Sitecore and the Personify AMS for an effective and compelling
online member experience
www.nonlinearcreations.com
Authors: Nick Allen, Amanda Shiga and Randy Woods
nonlinear digital is the full-service digital agency division of nonlinear creations, with extensive
knowledge and technical expertise in various CMS and marketing/analytics solutions, particularly
the Sitecore platform. Our teams, working with you, use an agile methodology to create unique
website and digital experiences that drive business results in a measurable way.
For more information on our services or to get in touch, please visit:
www.nonlinearcreations.com
3
4 | Integrating Sitecore and Personify
Introduction
Association professionals know that their members are the most important aspect of their organization. But participation
in associations is evolving and it is difficult to navigate the dynamically shifting landscape for membership. Association
professionals want and need to know how to better connect members, and potential members, with the knowledge
and services from the association and larger community that are the most valuable and relevant to them. It is a matter of
survival.
A seamless online member experience requires:
1. a system that allows marketers to effectively personalize each member’s online experience; and
2. a system for managing membership information, renewals and records.
Best-of-breed web content management systems (WCM) are evolving into Customer Experience Platforms; these
platforms excel in digital marketing but frequently lack the e-commerce and membership management functionality that
associations need.
Most associations will find they need to integrate a high-end WCM with a robust association management system (AMS)
that offers this association-specific functionality out of the box. Here we consider the lessons we’ve learned in integrating
Personify AMS and Sitecore Customer Engagement Platform (CEP), which consists of a WCM solution and a digital
marketing platform. While our examples reference these two systems, any integration of WCM and AMS will require that
comparable technical issues be addressed.
Structure and focus of the whitepaper
This whitepaper focuses on the integration scenario between Sitecore CEP and Personify AMS and is aimed at decision
makers and their technical teams planning and implementing this integration.
The whitepaper is divided into five parts:
1. Sitecore and Personify Together. The benefits of combining these two systems.
2. Key Architectural Questions. You will need to decide which system will handle which tasks – a decision that needs to
be driven by a combination of your business objectives and your current environment.
3. Integration Approaches. Things to consider when approaching an integration between Sitecore and Personify.
4. Authentication and Authorization: Approaches to managing user sessions across systems
5. Setting up Your Team for Success: Key steps that will simplify the road to success
Integrating Sitecore and Personify | 5
Combining Sitecore and Personify
What is Sitecore CEP?
The Sitecore solution is well known for its ability to help organizations manage their online activities. It is used by
organizations such as:
~~Aircraft Owners and Pilots Association
~~National Wildlife Federation
~~Certified Management Accountants
~~Canadian Automobile Association
~~Ontario Real Estate Association
Over the last five years, Sitecore has evolved from a web content management solution to an effective customer
experience management platform. The Sitecore CEP builds on its pedigree of effective web content publishing to allow
marketers to:
~~Understand the return on investment of marketing activities by identifying the quality of the visits delivered by each
campaign
~~Test promotions to determine which content generates the highest lift
~~Build rules to put the right content in front of each visitor at the right time. These rules can be trigged based on
explicitly known information – such as length of time a visitor has been a member or information from their social
network profiles– or implicit information – such as the search the visitors performed that drove them to the site
~~Easily publish content to mobile devices, social media sites and in print format
~~Craft sophisticated engagement plans that automate communications with association members
Nonlinear has been a Sitecore partner for more than seven years and implemented the solution for several associations.
What is Personify AMS?
The Personify Association Management Software system provides association-specific member administration, e-business
and analytics capabilities. It has multiple modules – and association deployments differ dramatically in the role that
Personify AMS plays. It is this broad variation in the use of Personify AMS that makes careful decision making during
integration with a CMS product critical.
Nonlinear has been involved in Personify AMS – Sitecore integrations for several associations.
6 | Integrating Sitecore and Personify
Why integrate? The integration imperative
Integrating the two systems allows marketers to design experiences for members based on information stored in the AMS.
More specifically, NLC has found results are best achieved when associations use Sitecore CEP to:
• Manage web content via an easy-to-use content author interface
• Serve a personalized experience based on online browsing behavior and explicit member profile characteristics
• Deliver marketing campaigns targeted to segments such as potential members
They rely on Personify AMS to:
• Capture and manage all membership information and transactional functionality, including renewals and
subscriptions
• Manage member events and meetings and associated registration
• Manage any other association-specific information or functionality
By surfacing Personify’s association-specific functionality within the Sitecore context, marketers are able to serve a tailored
online member experience that focuses on engaging visitors and maximizing the business value of your online presence.
Integrating Sitecore and Personify | 7
Key architectural decisions
Many systems try to be all things to all people; certainly all systems have their strengths and weaknesses. Usually, a
business system will have its core “sweet spot” with additional modules designed to offer a more all-encompassing
product.
For any web-based extranet scenario, we strongly advise our clients to consider the following questions:
~~What are the business objectives of your online presence? How have these objectives driven the mix of business
systems needed to support them?
~~For each business system: What is the core “sweet spot” of proven functionality? What were the business reasons for
purchasing it?
~~Which system is best suited to serve the website? Which system has the strongest feature set for layout and
presentation, personalization and content management? Where is the greatest focus of business value on the site?
~~Which system is best suited to be the system of record for user management? Where will users be stored and how will
this impact the registration and login processes?
~~Consider points of failure. What is the consequence of either system being unavailable? Which failover mechanisms
need to be in place?
Considering these questions should result in a clearer picture of possible integration approaches and their advantages
and disadvantages.
8 | Integrating Sitecore and Personify
Evaluating integration options
There are several options to consider when integrating business systems, depending on what is offered by a given
platform.
In our experience, AMS/CMS integration scenarios fall into several categories:
Simple content sharing – consuming or publishing a feed of content between two systems
~~
~~Single sign-on and/or custom membership provider for extranet functionality
~~Serving of external content and functionality through Sitecore controls, via an API or web service
~~Embedding of third-party user controls within Sitecore sublayouts
~~Connection to an external database via custom data provider in Sitecore
Both Sitecore and Personify have defined integration interfaces:
~~Sitecore—Sitecore works very well as a presentation-specific application integration technology. Sitecore provides a
rich open API with over 90 .NET-based namespaces and an extensible data provider model, allowing for integration
with nearly any data source. All functionality is available through this API.
~~Personify—Personify offers two main options for integration – a set of web services and embeddable .NET user
controls, with varied availability of product functionality via these interfaces. The most thorough set of functionality is
available via a series of DotNetNuke-specific user controls. Personify also offers content management and ability to
serve an extranet website via DotNetNuke.
We outline two approaches to integrating Sitecore and Personify below and discuss the advantages and disadvantages of
each approach.
Option 1 – Personify and Sitecore running side-by-side
In this scenario, both Sitecore and Personify serve parts of the website or extranet. Typically, membership and user
management remain within Personify as system of record.
Integrating Sitecore and Personify | 9
Advantages
Disadvantages
~~Less integration work required. A simple Single-
~~Presentation and information architecture/navigation
needs to be maintained consistently in two systems.
~~Content authors need to be trained on two systems.
~~Sitecore’s visitor engagement and personalization
~~
~~
Sign-On scheme may be a minimal requirement for
seamless user experience.
Minimal integration can go a long way. Via a
customer membership provider, user information
can be made available within the Sitecore user
session and leveraged for basic personalization.
Any existing business logic within Personify’s
presentation layer can be leveraged.
features cannot be used with content and functionality
served by Personify.
Option 2 – Sitecore serves the website and calls to Personify web
services
In this scenario, Personify functionality including registration, renewal, ecommerce, profile management and course
management are typically surfaced within Sitecore sublayouts via API calls to Personify through a robust business, data
and web service tiered wrapper architecture.
Sitecore utilizes the .NET membership provider, membership providers abstract user authentication services such
as validating username and password combinations and creating new users. Custom membership providers are
implemented using the service layer and members login to secure areas of your website using their existing credentials.
10 | Integrating Sitecore and Personify
Advantages
Disadvantages
~~One system is responsible for presentation.
~~More integration effort is required. Cannot
~~
~~
• Easy to keep branding, navigation and assets
consistent
• Seamless user experience
By displaying Personify data within Sitecore presentation
components, Sitecore’s DMS capabilities can be leveraged
such as:
• Personalization rules
• Multivariate testing
• Content re-use
• Analytics
• Engagement automation
Easy to display and inter-relate content from both systems
within Sitecore business layer
leverage existing DotNetNuke controls
to render Personify business logic and
presentation.
Limited by data and functionality available via
Personify API and web services
~~
Which approach you take should ideally be driven by how you anticipate the combined system will be used by marketing;
in practice, it is often dictated by the timeline available to accomplish the integration.
Integrating Sitecore and Personify | 11
Authentication and authorization –
user session management
Central to any AMS is your member base, their accounts, profiles and preferences. When connecting Sitecore and
Personify, members must be able to seamlessly access secure areas of the website using existing credentials held in
Personify. Commonly, members access their account information and maintain their account details and communication
preferences. Increasingly, information in the member record is used to automatically present content likely to be of
interest.
As well as authenticating existing members and maintaining existing member profiles, the Personify API can also be
leveraged to create new member accounts as part of an online registration process.
There are two common approaches to implementing authentication and user profile management when connecting
Sitecore and Personify:
~~Custom Security Providers—This approach replaces the default Sitecore security provider. User accounts can be
created and maintained in the Sitecore User Manager and are synchronized with Personify.
~~Sitecore Virtual Users—This approach is a lightweight, less complex integration option. Member accounts do not
appear in the Sitecore User Manager and continue to be maintained in Personify but developers still have access to
the full user profile when a user authenticates and users can be assigned to multiple roles.
We discuss each of these approaches in detail below
Custom Security Providers
Sitecore CMS uses ASP.NET security providers and by default is based on the standard ASP.NET membership schema. This
gives developers great flexibility when it comes to extending Sitecore or replacing Sitecore’s default implementation with
custom providers.
The Personify API provides the methods required to implement a simple read-only or more complex read/write membership
provider.
A minimal read-only membership provider provides the functionality required to authenticate members on the website
using standard ASP.NET security controls or calls to the Sitecore API and content authors can browse user account details
in the Sitecore User Manager.
A read/write membership provider provides the additional implementation details required to enable content authors to
maintain member accounts in the Sitecore User Manager and create new member
12 | Integrating Sitecore and Personify
accounts. To support Personify user profiles the Sitecore user profile can be extended or replaced with a custom profile
provider.
This approach gives administrators access to functionality such as password changing and controlling access to content
for individual users through the Sitecore User Manager – a simple approach that requires little training for administrators.
Sitecore Virtual Users
In a Virtual User approach user accounts are not maintained using the Sitecore User Manager; this task continues to be
performed in Personify. This approach provides a lightweight option to authenticating members and tailoring their web
experience.
Once a user is authenticated using the Personify API, a Virtual User is created which belongs to the Sitecore extranet
domain and exists for the duration of the user’s current session. Virtual Users can be assigned to pre-defined Sitecore roles
to control their access to restricted content and trigger personalization rules.
By extending the Sitecore UserProfile object with custom properties, developers for the duration of the users session have
access to further details from the users profile such as their Personify user id.
Custom UserProfile properties are limited to name value pairs which may not be suitable for more complex scenarios that
rely on custom objects; in this case the creation of additional business logic layers that manage the user’s session may be
required.
Custom Security Providers are most appropriate when:
Sitecore Virtual Users are best used when:
~~You want your content authors to be able to login
~~You want to implement a lightweight and low effort
solution
~~You do not need to store any additional information
to Sitecore using their machine username and
password
~~You want to use Sitecore as a user administration
interface
~~You want to perform searches against your member
~~
~~
~~
database and retrieve profile information from
within the Sitecore administration interface
You want to implement a complete (read and write)
authentication integration
You want access to your database of members for
inclusion in engagement plans
You user repository is not supported by an existing
Sitecore authentication module
against your members profiles after they authenticate
with your website
~~You are authenticating your users against a proprietary
~~
~~
SSO scheme and only need to create a user object for
the duration of their session
You plan to continue administering your members and
member profile information in your AMS
If you are using Sitecore DMS, you may need to
explore options for linking virtual users to user profiles
created by the DMS
Integrating Sitecore and Personify | 13
Setting up your project team for a
successful integration
Integrations are complex, with multiple points of dependency and failure. Performance optimization is of particular
importance; your integrated system is only as high-performing as its weakest link. Below we list several important
considerations aimed at setting your team up to succeed.
~~It may seem obvious, but make sure your project timelines consider all dependencies. Are your Sitecore and
Personify implementations on different schedules? When will each be ready for integration design and what is the
corresponding impact on launch date(s)?
~~Make development easy by facilitating sandbox environments and web service stubs.
~~Do not use a production instance of any business system for development and testing. You’ll want to create sufficient
test content in Personify and perform any number of creations, updates and deletions to the data store. A dedicated
sandbox environment makes things easy.
~~Building web service or API stubs means development can proceed before underlying business logic is fully
implemented. Fewer scheduling roadblocks means faster time to launch.
~~Do not underestimate effort required for integration testing and release deployment. Fitting all the pieces together,
especially if they have been developed independently, often uncovers many bottlenecks and performance issues.
Integrate early and often. Invest time in a well-considered release deployment plan.
~~Performance of the system as a whole is critical. Carefully consider your infrastructure design as it relates to inter-
system communication across the network. Perform quality assurance in an environment that mimics production as
closely as possible. Invest in performance and load testing throughout the implementation.
~~Keep a clean separation of web content, Personify profile/account data and presentation markup. Be careful of storing
any markup within Personify fields. This will make the sharing, integration and presentation of data much easier and
cleaner across the two systems.
~~Ensure your solution architecture incorporates intermediate data and/or service layers such that the systems are
loosely coupled, providing maximum availability to your website should other elements of your topology fail.
14 | Integrating Sitecore and Personify
Conclusion
Effectively engaging members online is critical for the continued health of associations. Accomplishing this will require
integration of association management systems and website management infrastructure. While this whitepaper focusses
on the specific technical challenges faced when integrating Sitecore CEP and Personify AMS, the issues it raises must be
considered when contemplating the integration of any systems of these types.
non-linear creations has an 18 year track record of helping organizations drive business value from internet technologies.
The Nonlinear digital team has completed more than 200 CMS deployments and we have a strong portfolio of association
and not-for-profit clients. We would be more than happy to review your current infrastructure and provide an assessment
of possible options – you can reach us at [email protected].
Integrating Sitecore and Personify | 15
About nonlinear
Who is nonlinear digital?
nonlinear digital is the full-service digital agency division of non-linear creations. With offices across Canada, the USA
and Brazil, nonlinear has a track record of successfully planning, executing and measuring the effectiveness of digital
marketing and outreach solutions for a range of clients.
What does nonlinear digital do?
We write digital strategy. We build eye-catching websites and we do it with a technical proficiency that is second to none.
We help organize your digital team and educate your stakeholders. We help you extract meaning from data so you know if
you’re really driving business value from your investment.
We are a full-service digital agency with extensive knowledge and technical expertise in various CMS and marketing/
analytics solutions. Our teams, working with you, use an agile methodology to create unique website and digital
experiences that drive business results in a measurable way.
What makes nonlinear different?
We put business first. After almost 20 years in the game, we have seen technologies and trends come and go. What has
remained constant, however, is the need to drive tangible business outcomes from your digital spend. Today our focus is
on creating an engaging online presence that:
~~serves your customers’ needs by being memorable, relevant and increasingly personalized and accessible on any
device
~~serves your business’ needs by generating meaningful data from which you can extract real insights and metrics tied
to your business goals
Contact us today
www.nonlinearcreations.com
[email protected]