This article details the integration between Higher Logic Thrive Community (Thrive Community) and Z2 Systems' NeonCRM. The integration between NeonCRM and your Thrive Community:
- drives object creation on the site from the vast amount of up-to-date member data that you already track in NeonCRM, and
- ensures that your members interact with the most up-to-date member data.
When the integration is operational, it is not necessary to complete any additional work to ensure that the data reflected on your Thrive Community site remains synchronized with NeonCRM. Higher Logic becomes a consumer of data from NeonCRM, and automatically performs a regular check of changed records in NeonCRM (via Periodic Refresh) and a comprehensive refresh of each updated record (via Member Refresh) to ensure a robustly integrated ecosystem.
Features
This integration is accomplished by calling NeonCRM's base API methods. No custom methods need to be created by NeonCRM.
Login
NeonCRM's API provides a seamless web experience across NeonCRM and other third-party systems. It allows users to log in to your web site and gain secure access to all related web sites, including your Thrive Community, using the same login credentials they use with NeonCRM.
Member profile & demographic data
NeonCRM is your database of record. The integration generates member profiles in your Thrive Community using data (such as member name, job title, company, address, email, phone, and social profiles) that is already in NeonCRM.
Members can change their information by using the NeonCRM My Account pages, and the Edit/Add links on a member profiles in your Thrive Community are directed to those My Account pages.
- By using your member self-service pages, you take advantage of your existing functionality and data.
- Any existing and future customizations are made in only one place, NeonCRM, your database of record.
Member demographics
There are other demographic items you can bring over from NeonCRM that are stored on a member’s profile in Custom Fields, also known as Attributes. These are created by staff from within NeonCRM and can range from a single value (e.g., a graduation year or a job function code) to multiple values (e.g., specialties, areas of interest, or languages spoken). These demographics can be used to grant access with a community, give ribbons, display on member profiles, and be search criteria in directory searches.
Member community groups
Member Community Groups in your Thrive Community site drives membership and access to many of the features on the site, including Discussion Groups, Libraries, and Microsites. Each NeonCRM-integrated community has a unique identifier, display name, and limiting logic in Higher Logic that controls which users can view and access community content. Only the members of a community as determined in NeonCRM can view the affiliated Resource Library and Discussion Group. For example, members with a specific attribute in NeonCRM can have a dedicated community, and those members are automatically added to that dedicated community and are members of it, as long as they have that attribute.
Typically, access to Higher Logic is a member benefit; however, this is not required because non-members can be included, too. Furthermore, NeonCRM can distinguish between each type of membership, so a community can be created for as many distinct membership categories as you want.
Which attributes create Community Groups is determined when the integration is configured.
Security groups
Security Groups can be thought of as “Roles” and are a powerful tool for limiting viewing and access for navigation and content items on your Thrive Community site. On your Thrive Community site, users are broadly batched into Security Groups. Individual users can belong to multiple Security Groups. Out of the box, your site will be configured with four Security Groups:
- Public - Any user, regardless of whether they are logged in.
- Authenticated - Any logged-in user (may or may not have member status)
- IsMember - A logged-in user with a single or combination of security groups defining membership. Content and functionality are routinely protected to Members as a benefit of membership. Those with IsMember privileges also belong to the Authenticated Security Group.
- Higher Logic Admin - Global administrators (Super Admins) with universal access and editing privileges. These users are designated in the Community Admin interface, not in NeonCRM.
Organizations with multiple types of memberships or roles can represent them by adding Security Groups, such as Staff (for employees of the organization), Associate Member, and Student Member.
You can also use Security Groups to assign badges and ribbons to members, conference speakers, volunteers, and others; awards can be based on data in NeonCRM, by creating Security Groups and assigning badges to those groups.
In terms of the integration, Security Groups work similarly to Communities, except that they define access roles above and beyond participation roles. Examples of these include system administrators, committee or meeting chairpersons, CMS editor managers, staff managers, among others. Because the data for these designations is stored differently, and the use of this data in Higher Logic varies, a separate set of functions are often developed. In some instances, the data may be included in the Communities functions, again depending on the specific NeonCRM configuration in use.
Which attributes create Security Groups is determined when the integration is configured.
Member Refresh
It is important that a member’s profile and related groups be up-to-date, so they have the correct access and their profile information is correct when the member, and others searching the directory, view the profile. Thus the profile will be completely refreshed on two occasions: upon the member logging in to the Thrive Community and during a periodic refresh. The periodic refresh can be scheduled to be at any interval based on your organization’s needs.
Event calendar
An event calendar within your Thrive Community can show events defined within NeonCRM. This functionality is not currently in the standard integration but may be added at a later date.
Higher Logic test instance
In general, test instances of Higher Logic communities are not created. While most AMS companies supply a test instance of their application, it is not really needed for a Thrive Community. NeonCRM is your database of record, and all member data in your Thrive Community will come from there, and any issues with the data only need to be updated in your system of record, NeonCRM, to be updated in the Thrive Community. Moreover, your Thrive Community’s launch will be several weeks after the integration has been setup so you will have time to review and fix any data issues.
During upgrades to your AMS, provide Higher Logic with any updated URLs and methods so that we can test that they are still returning the data as expected. Note that there will be a nominal fee for this testing.
If you do wish to have a separate test instance of your community, you can pay for this, but the fees are similar to having another Thrive Community site.
Integration details
This integration is accomplished by calling NeonCRM web methods for login and data retrieval. This represents the typical configuration of a NeonCRM client, however, the deployment will vary based on the data gathered in NeonCRM and shared with Higher Logic.
The integration is accomplished using NeonCRM’s REST API. Details on the available methods are at http://help.neoncrm.com/api/rest.
Login integration
Log in to your Thrive Community is accomplished using NeonCRM’s AuthenticateUser method. This allows users to use the same login and password that they would use to access the NeonCRM.
However, this is not a true single-sign on. This method, on its own, is not sufficient to integrate with a third party’s existing login system. It is best implemented as a stand-alone authentication method, as it does not create a user session on the NeonCRM server for the constituent user.
Member profile & demographic data
Profile information is pulled from NeonCRM using NeonCRM’s RetrieveIndividualAccount method. The table below show how profile fields are mapped between Higher Logic and NeonCRM.
Higher Logic Profile Field | NeonCRM Field |
---|---|
MemberKey | Account ID |
Prefix (Mr., Mrs., Ms., Dr.) | Prefix (Mr., Mrs., Ms., Dr.) |
First Name | First Name |
Middle Name | Middle Name |
Last Name | Last Name |
Suffix | Suffix |
Informal Name | Preferred Name |
Gender | Gender Code |
Birthday | DOB |
Primary email | Email 1 |
Phone1, Phone1 Type
Phone2, Phone2 Type Phone3, Phone3 Type Phone4, Phone4 Type |
Phone1, Phone1 Type
Phone2, Phone2 Type Phone3, Phone3 Type Fax |
Website URL | URL |
FacebookURL | Facebook Page |
TwitterURL | Twitter Page |
Company Name | Company |
Title | Title |
Address Type | Address Type |
Address1, Address2, Address 3
City, State, Postal code Country code |
Address1, Address2, Address 3
City, State, Postal code Country ID |
Organizational information is also pulled from NeonCRM using the RetrieveOrganizationAccount method and the organization’s profile is populated similarly to the individual profile.
Also returned by the RetrieveIndividualAccount method are Custom Fields. These are used to create other demographics, security groups, and communities within Higher Logic.
Periodic Refresh
To keep member profile information in your Thrive Community up-to-date with the data in NeonCRM, a Periodic Refresh of member profiles is done. NeonCRM’s SyncAccounts method is used to find a list of members that have changed since the time of the last Periodic Refresh, which is passed as a parameter to this method. Records returned by this method have all their profile and group information refreshed. This is usually done every 30 minutes.
The following actions trigger a change picked up by the SyncAccounts method:
- Creating a new account
- Editing the account details from UI
- Updating the account from the API
The creation or editing of a transaction or activity associated with an account does not update this timestamp.
Edit Profile links
NeonCRM is your database of record. The integration takes advantage of your existing member self-service pages in NeonCRM. When a member wishes to update information on their profile that is stored in NeonCRM, they are directed to the appropriate page in NeonCRM to do so. This is done using the EditPath parameter in the related User Control in Higher Logic. For example, the ProfileBase navigation item in Higher Logic has a Contact Details content item that uses the ds:EditContactInformation control. The EditPath parameter is set to the Account Edit page in your NeonCRM site. Using this, when the user clicks the button to edit their contact information, they are directed to the Account Edit page in your NeonCRM site. When they come back to the Thrive Community site, their information will be refreshed and the contact information changes will be reflected on their profile in the Thrive Community site.
Profile link from online store or NeonCRM CRM
Some NeonCRM customers have asked for the ability to link to a member’s Higher Logic profile from within a NeonCRM profile or from within the NeonCRM CRM application. This can easily be done by putting a User Control content item on the Higher Logic profile page with a User Control class or path value of
~/HigherLogic/Directory/MemberKeyToUserKey.ascx
Make sure "Show" is not checked so that the title does not display.
This control will accept the MemberKey and redirect to the same page with the Higher Logic UserKey as a parameter. You can use this to call the Higher Logic profile page with a URL containing a parameter of MemberKey = 1475, where 1475 is the value of your NeonCRM Account ID.
NOTE: A Member to User Key content item was added to the base profile page in 2015, so you may already have this installed and don't need to do it again.
Installation checklist
Configuration Item | Notes |
---|---|
API Key | A unique identification code necessary for gaining access to API requests. For more information, see API Keys. |
Org ID | Database Organization Identification name that is unique to each organization. Also known as an "instance" name. |
Refresh Interval (min) | The default is 30 minutes. |