Oracle RightNow – Customer Portal Migration (Version 2.0 to Version 3.0)

RightNow (RN) introduced a new customer portal framework as part of November 2012 release. This framework is called Customer Portal Framework 3 (CP 3). And a new framework is mainly launched to address some of the challenges & limitations with CP 2 (November 2009 release) and for software modernization & modularization.

 As part of this blog article, I would cover the features & benefits of CP 3. And the activities involved while migrating from CP 2 to CP 3. 

Before we proceed further, let us understand the difference between Migration & Upgrading. Migration is moving from one version of the Customer Portal framework to a newer one. Upgrading is moving from one release of Oracle RightNow CX to a newer release. Before the November 2012 release, upgrading your Oracle RightNow CX application meant you also had to migrate to the new Customer Portal at the same time, absorbing all new features whether you needed them or not. 

With CP 3, migration process is quite simplified – you migrate the features you want when it’s convenient for you.

CP 3 – Features & benefits:

  1. Independent frameworks and versioningControl when you migrate and what you migrate. Upgrading to new releases of RN will not have any impact on the existing functionalities of Customer Portal (CP).
  2. Automatic updates of backward compatible changesAll new upgrades are backward compatible
  3. Widget builderCreation of custom widgets become simpler, quicker and accurate using the widget builder feature.
  4. Widget changesNew structure & process is defined to create custom widgets. This would help to modularize, easy code maintenance & fasten the development process.
  5. Easy migrationMigrating to new releases doesn’t have any impact  on the custom widgets.
  6. New file structureIntuitive and easy-to-navigate file structure
  7. Connect PHP APIFramework Version 3 is built on the Connect PHP API and uses data objects from the Connect PHP API rather than internal APIs
  8. Software modernizationUsage of YUI 3.X in CP 3 improves performance and simplifies the coding

CP 2 to CP 3 – Migration Activities:

  • Adhering to new file structure
  • Widget changes (major activity):  
    1. Widgets created using standard widgets: re-create the widget (extending standard widget) using the widgets builder feature of CP 3. Post creation, edit the code to duplicate (implement) its CP 2 functionality.
    2. Widgets developed from scratch: If the widget was developed from scratch to implement the functionality which was not available in CP, it is better to convert this widget code to work with CP 3 following CP 3 development standards. The detailed widget conversion process is defined in the migration guide referred below.
  • PHP namespacing: To avoid the conflicts between CP reference implementation PHP files and customer files RightNow and Custom namespacing is introduced. RightNow namespace contains reference implementation files and the customized files are available under Custom namespace.
  • Modifying display elements,
    1. Using HTML5 on custom pages: CP 3 standard widgets and pages conform to HTML 5 specification. To take advantage of this, it is recommended to use HTML 5 doctype in all custom pages and templates.
    2. Editing widgets that open in a separate window: As mentioned above, YUI 2.X is replaced by YUI 3.X in CP 3 framework. This change impacts display of standard widgets such as Login Dialog, Advanced Search Dialog and Product Category. So standard template needs to be edited as per the procedure mentioned in the document to correct the display.
    3. Changing the width of the Email Address field: In CP 2, email fields are <input type=”text”>. In CP 3, HTML 5 input types are used for email fields, so email fields are now <input type=”email”>.
    4. Editing the width of the OpenLogin dialog: The dialog that opens when your customers click one of the open login icons (for example, Facebook, Twitter, or AOL) needs to be adjusted editing OpenLogin CSS file after migrating to CP 3.
    5. Modifying the SocialBookmarkLink widget: The SocialBookmarkLink in CP 3 offers Facebook, Twitter, LinkedIn, and Reddit options, eliminating Delicious, Digg, and StumbleUpon, which were used in CP 2, and adding LinkedIn. If you want to continue using the earlier social networking sites with the widget, edit it according to the procedure mentioned in the migration guide.
    6. YUI resources: If your CP 2 custom widgets includes calls to YUI modules, this code has to be modified as per YUI 3.X standard. Refer the guide for the details.
    7. Adding the PasswordInput widget: To support password hardening, CP 3 includes new password input widget.
  • Other functional changes,
    1. Using high-contrast mode for accessibility:  Edit the CSS files as per the instructions in the guide to make your customer portal pages viewable in high-contrast mode.
    2. Disabling incident receipt emails: In CP 3, by default the customer would be sent email notifications after submitting the question. This feature can be deactivated.
    3. Changing incident source for rules: If you have been using Connect PHP API in CP 2, review your incident rules to see if any of them have an IF condition of Incident.Source equals End-User Pages > Ask a Question. If they do, edit the rule to also add the condition IF Incident.Source equals End-User Pages > End-User Connect
    4. Removing customer search preferences: The Connect PHP API does not store contact preferences in the database, so the use of profile_default attributes is no longer supported for CP 3
    5. Changing the SmartAssistantDialog widget: Several default values are changed to simplify the code.
    6. Editing the CommunitySearchResults widget: See if the display_initial_posts attribute of this widget is used in CP 2 code. This attributed is not supported in CP 3 because community posts are displayed by default when the widget loads on a page. You can remove the attribute from your widget code.
    7. Login required configuration setting: CP 3 introduced a new configuration setting, CP_CONTACT_LOGIN_REQUIRED, which lets you require your customers to log in to most customer portal pages.
    8. Adding label attributes: Because of the data structure of the Connect PHP API, some business objects use more generic labels than those used in CP 2. So additional attribute named label_input should be added to input widgets in CP 3.
  • Customer portal changes on the agent desktop,
    1. Guided assistance styling on the agent desktop: CSS edits to make the desktop styling (of guides) more consistent with what customers experience on your customer portal.
    2. Replacing variables on the preview page: Variables names to be changed in the CP answers preview page that is displayed to the agents in CX console.
  • Converting custom code,
    1. Using Connect PHP API in custom scripts: If CP 2 site includes custom PHP scripts that call normally unavailable product API functions (that is, functions you could use only after applying for access through the whitelist process), you cannot use these functions in Framework Version 3. Instead, check for equivalent functions in the Connect for PHP API.
    2. Direct SQL queries: CP3 doesn’t support this feature. Replace this with equivalent Connect PHP & ROQL.
    3. Using PHP5 style constructors: Instead of using the old PHP4 style PHP constructors (where the method name that matches the class name is the constructor), you should use PHP5 style constructors
    4. Custom models: Your custom models must use namespacing to indicate that they are extending RightNow models.
  • Optional code cleanup: Although it’s not necessary, you might want to take the time now to clean up Framework Version 2 code now so that you won’t be required to do it at some future migration
    1. Replacing business objects: naming convention changes
    2. Replacing unused widgets: ChatLaunchFormOpen, MobileEmailAnswerLink, and ContactNameInput widgets of CP 2 to be replaced with equivalent replacement widgets of CP 3.

Please refer to the CP 2 to CP 3 Migration Guide from Oracle for more details.

Prashanth.

Leave a comment