Release Objectives

The primary objective for the Cobalt 3.11 Release was to:

  1. Expand out-of-the-box functionality of Engagement Dynamics’ certification management solution, in order to close swiftly close product feature gaps and strengthen our competitiveness in the market.
  2. Fulfill our product feature commitments to new clients, so that we can continue building strong partnerships with our customers.

Expected Benefits

The Cobalt 3.11 release will be considered a success if the following criteria are met.

  1. Portal users can navigate to and utilize a Committee home page to view information about committees, see a roster of members, and apply for committee membership.
  2. All priority bugs and features selected for inclusion in the release are implemented or fixed during this project.
  3. Product management team proactively communicated with the new implementation teams to ensure we take advantage of other major features in the client backlog to be developed on the product layer. 
  4. Donations are able to be collected on the portal for a variety of funds, allowing users to select their donation amount, anonymity preference, and make donations on behalf of their organizations.
  5. Users can opt to be displayed in an online Certificant Directory on the portal and control the amount of personal information displayed in that directory.
  6. Certificates can be downloaded in a printer-friendly format by portal users.
  7. Certificants can enter and track their continuing education (CE) activities on the portal, both as part of their renewal application as well as entering them independently.

Supported CRM Versions

D365 On-Premises 

We are not supporting D365 on-premises as part of this release at this time, and regression testing was not done on an on-premises environment. We plan on supporting v9.1 on-premises with the next release of 4.1

D365 Online

We continue to support the latest version of Dynamics 365 Online with the 3.11 release. Note that regression testing was completed on the server version 9.2.XX, but these builds often vary based on the region the customer’s tenant is located in. For implementations or projects that are targeting an online go-live, it is best to patch any on-premises D365 (i.e. dev and/or stage) to the latest 9.1.x version as to have the smallest version gap between what is on-premises and what is online. 

Cases and Background

Certification – Initial Application

A highlight of this release entailed enhancing the product’s Certification functionality so that it could become a more robust solution for certification management for both new and renewing certificants. Functionality expanded as part of this effort includes better parity between initial and continuing certification application processes, expanding the portal pages that are displayed as part of the application or renewal process, and implements the ability for staff to introduce certain requirements as part of the application process. As part of the enhancement of Certification functionality within the product, work done as part of this release involved the expansion of the information that can be collected about the candidate as part of the certification process, as well as better reporting available to staff within CRM and candidates/staff on the portal.

Portal Facing Features

CaseTitleDescription
​​51263​​Exams and Renewals – Disclosure of criminal records​​This case introduces the application requirement to disclose ongoing or unknown criminal matters prior to beginning or renewing their application. This functionality includes the ability to have applicants who disclose criminal records pay an additional fee, and upload supporting documentation as a part of this process. Once certificants indicate they have a criminal record (by selecting “Yes” and uploading documentation), they will be prevented from removing the criminal disclosure fee, moving backwards in the process, and from adding additional products to their cart.Individuals who disclose criminal records or who need to provide additional information will require staff review prior to being able to take additional action in their application/renewal.
​51256​​Initial Application: Additional Credential​​This case includes the ability to collect/require additional candidate credentials when going through certain initial application pathways. This is configurable via the Initial Certification Application Type record with the “Certification Required” boolean and a new “Accepted Certifications” relationship to the Application Type . Candidates going through initial application will be asked to upload documentation to prove their existing certification. If the contact record of the candidate already has an active Certification with any of the identified accepted certification types, then this page will automatically be skipped.

Note that if the candidate has submitted documented of their credentials (ie. they did not already have an active Certification record of an accepted certification type), then staff will need to manually verify that the submitted documentation is sufficient or accurate. 
51264​​​​Initial Application: Employment​T​his case includes the ability to collect candidate work experience when going through certain application pathways. Candidates are able to view their list of submitted work experiences, which can be used across certification pathways, and can submit multiple entries as needed.  As not all application types will require work experience, the appearance of this page is configurable via the Initial Certification Application Type record with the “Work Experience Required” boolean. A new entity, “Work Experience”, has been added to track submitted work experiences related to the applicant in the back end.
​52762​​​Work Experience Should Only Display for Relevant Exams​This case tweaks the functionality to collect candidate work experience so that organization staff can establish if work experience is relevant to all Certification Types (ie. work experience records can be reused from one application to the next), or if work experience should be specific to that Certification Type (ie. new work experience records must be submitted per application – only work experience entered for the same Certification Type as the application will display).
​​​51269​​Initial Application: Education​​This case implements collecting degree requirements/information for candidates on an application level, rather than solely on a candidate level. This allows for staff to configure more specificity of degree level requirements per application type. As part of the application process, a new Education page is used to identify a contact’s school name, area of study, degree type, and graduation information – this will replace the existing Degree list and form functionality. 
​​51995​​Certificate Generation​This case allows for certificants to download or print out a certificate that denotes their certification status on the portal, utilizing a word template configured by staff to be used for the Certification entity. For certificants with multiple active Certifications, a link is visible for each Certification Type for download.
​51266​Portal Reports​This case introduces a generic framework to access self-service reports so that administrators with the appropriate portal permissions can access preset queried reports relevant to their relevant members/students/candidates. The ability to access these reports is controlled via the “Reports” role related to a contact affiliation, and these reports can be accessed on the portal via a “View Reports” link in the organization tile. 
​51993​Score Reports​This case establishes the ability to set up a score report for a given exam type, so that individuals can view their results from past test applications. Additionally, the automatic publishing of results is configurable on an exam type-by-exam type basis. Exam-related information can be viewed by users in a new “Exam” tile on the portal – if no Exam information exists for that user, this tile will not appear.
​51996​Online Directory​This case implements a public Certificant Directory in the portal, displaying contacts who opt to be displayed in a directory and their relevant certifications (if the type of certification is eligible to be displayed). Users on the directory page can search for Certificants based on some combination of first name, last name, and ID number. This directory will display the full name of the Contact, their ID Number, and their city and state of residence. The full name of the Contact will be a hyperlink to a lightbox for additional details.
​52194​Online Directory doesn’t show expected results​The online directory will only enforce a hard match on the “Customer Number” field, but otherwise now will do a soft match on the First Name and Last Names entered. The assumption is that while partial searches may be done for names (e.g searching for ‘John Doe’ should still bring up results for ‘Johnathan Doe’), Customer Numbers would be expected to be entered completely or copy/pasted. This case also includes some minor UI/UX tweaks.
​52195​Feedback: Online Certificant Directory Display​This case includes minor spacing tweaks to improve UI/UX on the Certificant Directory when no results are found.

Back End Logic

CaseTitleDescription
51938Configurability of Criminal Involvement Question’s display on the Certification Initial ApplicationThis case makes it so that the Criminal Involvement question is now configurable, so that staff can determine if this information should be collected on a Certification Type-by-type basis. This is controlled via the “Solicit Criminal Involvement” yes/no flag on the Certification Type entity. If set to no, the criminal records question will be hidden and the applicant will not be directed to input any information regarding their criminal history. Note that if “Solicit Criminal Involvement” is null (has no value), then the system will treat this as if it is set to No and will not ask applicants for criminal history.

Certification – Renewal Behavior

A significant feature introduced in this release is the implementation of joint renewal and expiration behavior for certifications, which would allow for a single renewal process and fee for all certifications held by a contact.

Tweaks to renewal behavior also include the ability to manage CEUs, add late fees, request an extension, and submit CE Activities within a specified window.

Portal Facing Features

CaseTitleDescription
​​51267​​​Exams and Renewals – Name Change Requests​This case establishes a Name Change Request process that  users can go through on the Portal to formally request their name (first, middle, and/or last names) be updated, with staff approval prior to changes taking effect. 
51258​​CE Activity Form Wizard​This case introduces the ability for renewing credential holders to submit continuing education credits on the portal via a new CE Activity Form wizard. This wizard can be accessed on the portal by certificants either from an ad-hoc “Add Continuing Certification Activities to your Profile” link on the Certification tile, or via the standard Certification renewal application process. 
​​​51259​​CE Activity: Ad-Hoc Entry​​This case introduces a new page on the portal to allow certificants to enter their CE Activities outside of the renewal process in an ad-hoc fashion. This page also allows users to track the number of CEUs are required for renewal and how many they have already submitted, based on their active Certifications. CE Activities displayed on this page can be edited or deleted, and are sorted chronologically.
​​51260​CE Activity: Renewal Wizard Entry​​This case introduces a new page on the Portal as part of the continuing certification application process to track and add CE Activities as part of renewal. This page will mirror the ad-hoc entry page, and display the overall number of required CEUs for renewal and how many have already been submitted for that Certification. A validation message will appear to prevent users from moving forward in their renewal if they do not meet the required amount of submitted CEUs.
​​52764​​Add Number of CEUs Still Needed​​This case tweaks the display of the CE Activity grid on the portal so that “Submitted” and “Outstanding” columns are added, in order to more effectively display the number of CEUs submitted by a candidate, and the number of CEUs that are still needed. 
​​52675​​Have CEU link Available for All Certificants​​This case allows for staff members to control if CEU submission on the portal should be limited to only audited certificants (as defined as a Contact with an active Certification record where “Audited” = Yes), or if all certificants (as defined as a Contact with an active Certification record) are able to submit CEUs. The text to add CEUs is now configurable via the Cobalt Portal’s home page designer via web elements.Note that there is no out-of-the-box auditing functionality of the Certification record, unlike the auditing functionality for applications.
​52766​​Identify Credential Time Period on CEU Pages​This case updates all CE entry pages so that when the collective certification expiration behavior is “Joint”, Cycle Start Date and Cycle End Date values are displayed at the top of the page.
​51261​Same Expiration Date for All Credentials​This case expands certification renewal/expiration behavior to include the option of joint expiration (where all credentials share the same expiration date). This is a setting that can be selected to enforce collective certification expiration – when users complete an initial certification application, the end date and expiration dates will taken from the first identified existing active certification. Non-joint behavior (“Independent”) will continue to leverage existing end date and expiration date calculation. 

Back End Logic

CaseTitleDescription
51257​Add Late Fee to Continuing Certification Application​This case introduces the ability to add a late fee to continuing certification applications, which applies when the Certification record’s end date has already passed and a certificant goes to renew.
​51262​​Renewal ExtensionThis case allows for credential holders to extend the window to submit continuing education activities required for certification renewal. This incurs an additional renewal extension fee, along with marks their application for staff audit. Renewal extension can also be configured so that in addition to the existing number of CEUs required, an additional number of CEUs can be required as part of that extension.
​​​51268​CE Activity: Data Structure + Plugins​This case updates the entities, fields, and logic related to the submission of continuing education activities as part of the certification renewal process by credential holders. Certification Types can now have related CE Category Requirements to identify the amount of required points per type of CE Category to be submitted by certificants as part of renewal. This logic also introduces Cycle Start and Cycle End dates for a certification, which restricts the timeframe in which a CE Activity can be considered relevant and be submitted as part of renewing a certification.

Membership

While this release was particularly centered on expanding the Certification functionality, some significant updates to Membership were made as well, most notably the introduction of tiered/variable dues pricing based on an applicant’s reported sales. 

Portal Facing Features

CaseTitleDescription
​50983​Error on switching between Membership Applications (case 40550)​This case corrects behavior experienced with switching between membership applications so that users who initiate membership applications, then initiate a second separate application (e.g. changes their mind), the initial application becomes canceled and a new application is created for the most recent member type. 
​52720​Make the Product on the Member Application Fee Optional​As of this product version, Membership Application fees are considered valid and display without issue if no fee product is set, just the Dues Option.

Back End Logic

CaseTitleDescription
51790Membership: Tiered Dues PricingThis case expands dues pricing functionality to include the ability for staff to set up variable pricing based on reported sales for a given Member Type (such as if the membership is Account-based). Functionality calculates the pricing using a set “tier fee” as well as an optional multiplier. 
​52719​Calculated Foundation Donations in Dues Order​This case utilizes the new “Member Sales Rule” entity to be used in order to set the suggested amounts for a donation to be a (configurable) percentage of the dues renewal cost. In the event that the reported sales value for the dues item falls within a relevant Member Sales Rule with the “Suggested Donation Percentage” field set, the dues item will calculate the amount for any contribution products related to that dues item to show the suggest amount as a percentage of that calculated dues option. If no “Suggested Donation Percentage” value is set, then the dues item’s contribution products will display their standard suggested amount as configured.

Committees

A highlight of this release includes the introduction of a committee “home page” (or landing page), displaying a list of all active committees for users to view, read through, and apply for if applicable. This is now the default landing page for committees on the portal, and the existing committee functionality has been reworked to be more in-line with competitor functionality. Committees are able to be published or hidden on the portal, and can be made “open” for applications or “closed” so that contacts can only see their information and roster.

Portal Facing Features

CaseTitleDescription
​51095​Committee Home Page​This case introduces a committee home page on the Portal where users are view information about committees, view the roster (if applicable), and apply to join. Relevant Committee membership entities in the CRM have been reworked so that nominations are required and will need staff approval prior to the membership being accepted. Staff are able to configure committees in the CRM to control the amount of information displayed on this page, as well as determine if the committee is open to applications or not.

Members are able to apply for membership or view their membership on this page, which will direct them to the “My Committees” page.
​51579​Committee Home Page Roster Does Not Display Based On Sort Order, But Chronological​This case adds ordering to the roster displayed on a committee, so that it goes based on the sort order set in the CRM first. If no sort order is set, then the roster will default to sorting alphabetically.
​51636​Committees Roster Display​This case expands the Committee page so that the roster displayed has the defaulted columns of the full name, committee position, term begin date, and term end date.
​51637​Feedback: Committees Customizations (non-dev)​This case documents some customizations added to flesh-out the committee functionality, including the addition of workflows to automate emails sent to the staff contact of a committee when an application is submitted, send emails to applicants informing them of their application status, and the addition of a Committee Dashboard added to the Membership application in CRM to be used by staff to easily track pending nominations and report on committee members.

eCommerce

This release introduces a configurable processing fee for credit card payments and an accompanying Credit Card Processing Fee Revenue Account for subsequent GL account entries.

Please note that at this time, a few limitations exist:

The processing fee is limited to a percentage only – a flat dollar rate cannot be set.
Refunds to credit card payments will include refunding the credit card fee as well.

Portal Facing Features

CaseTitleDescription
​50982​Edit Meeting Registration – query to process queued payments (case 43902)​This case updates the meeting registration process so that the system ensures that users are unable to edit their registration until the payment is processed.
​52722Processing Fee for Credit CardThis case implements a configurable processing fee for credit card payments, so that organizations can establish a flat percentage for all orders paid for by credit card. Please note that at this time, this fee is a percentage only. The credit card fee will display on the payment summary page on the portal with configurable text, so that users have insight into this fee. A new “Processing Fee” field has been added to the Order and Invoice records, and a General Ledger Account can be configured and set to be the Credit Card Processing Fee Revenue Account.

Back End Logic

CaseTitleDescription
50854Authentication for the ISV (case 44286)This case implements authentication within the ISV using Azure AD or ADFS so that direct links to ISV wizards can only be accessed after authentication.
​50858​Removal of Payflow (case 49809)​This case removes the support for Payflow within the product.
​50878​Reconcile CC and ACH Processing​This case corrects inconsistencies in how credit card and ACH payment handling is done in the system, and ensures parity between functionality as well as changes made in previous release versions.
​​50984​​Clicking on ‘Complete Registration’ in the My Orders Tab creates an additional Order and Class Registration (case 31475)This case corrects an issue where completing registration in the portal would result in additional/duplicate Order and Class Registration records. Users who complete their order in the Portal will no longer have duplicate records for the same transaction.

Integrations

This release includes the expansion of the out-of-the-box PearsonVUE integration so that candidates applying for certification are able to request special accommodations, have their applications sent for authorization prior to scheduling the exam, and return results back to the CRM for tracking and reporting. A connection between the portal and the PearsonVue dashboard has been implemented to allow for a smoother exam registration process.

PearsonVUE

CaseTitleDescription
51992Exams – Pearson VUE IntegrationThis case implements an integration with Pearson VUE to support exam requirements and to allow for candidates to request accommodations for their exam. As part of this integration, candidates who submit applications on the portal will have their application sent to PearsonVue with an authorization request, which then will enable the candidate to schedule their exam upon receiving an ATT. Once the candidate has taken the test, PearsonVUE results will be consumed via an SFTP so that the results can then be tracked and shared with the end user. Staff can intervene during this process to determine if accommodation requests are valid. 
51994PearsonVue SSO IntegrationThis case expands the PearsonVUE integration so that when there is a PearsonVue exam tied to a submitted initial certification application that has a status of “Authorized” or “Scheduled”, a configurable link appears in the Submitted Certification Application tile that takes the candidate to the PearsonVue dashboard.

Higher Logic

CaseTitleDescription
​52162​​Higher Logic Integration: IsActive Should Be Set Based On StateCode, Not Hardcoded (case 51562)​​This case corrects the behavior of the out of the box Higher Logic integration so that member data in Dynamics in reflected accurately in Higher Logic, so that deactivated contact in CRM will be correctly deactivated in Higher Logic.

Reports

Power BI Snapshots

Please note that all Power BI dashboards are made available via a separate “Power BI Reports” solution to be imported in addition to the 3.11 solutions, and cannot be accessed in the environment without additional setup as described in the Power BI setup documentation here.

CaseTitleDescription
51011Certification Snapshot DashboardThis case documents the creation and implementation of the Certification Power BI Snapshot Dashboard, which is intended to show at-a-glance information regarding the total number of active Certifications, the average duration of Certifications, the total number year-to-date of new certificants and renewals, as well as additional historical data of certifications within the system. 
​51045​Account-based Membership Snapshot DashboardThis case documents the creation and implementation of the Account-based Membership Snapshot dashboard, which is intended to show at-a-glance information regarding Memberships that are Account-based. This report is intended to have parity with the contact-based Membership Snapshot dashboard, and will display the total number of active Members, the average duration of membership, the total number year-to-date of new members and renewals, as well as additional historical data of memberships within the system.
51047Account-based Engagement Snapshot DashboardThis case documents the creation and implementation of the Account-based Engagement Snapshot dashboard, which is intended to show at-a-glance information regarding member engagement where the memberships are Account-based. This report is intended to have parity with the contact-based Engagement Snapshot dashboard, and will display YTD data on median and average engagement scores, percentage of engaged accounts, percent of accounts engaged in the past 3 months, as well as additional data of member engagement by activity, location, and engagement segment.
​51048​Account-based eCommerce Snapshot DashboardThis case documents the creation and implementation of the Account-based eCommerce Snapshot dashboard, which is intended to show at-a-glance information regarding eCommerce activity that is Account-based. This report is intended to have parity with the contact-based eCommerce Snapshot dashboard, and will display the YTD data on sales and orders, the average order amount, number of customers, Top and Bottom 10 Products purchased by dollar amount and quantity, as well as additional historical sales data over time and location.

FetchXML Reports

Please note that all FetchXML reports are made available via a separate “FetchXML Reports” solution to be imported in addition to the standard 3.11 solutions, and cannot be accessed in the environment without this solution.

CaseTitleDescription
51865FetchXML Reports: AR Aging Detail, AR Aging Customer Summary, GL Batch Distribution, Journal Detail, Deposits ReportsThis case is inclusive of the following reports that are available as a part of this Cobalt version. These reports are the same as the ones included in Cobalt version 4.0, and will be consolidated in the subsequent version merge between the two (Cobalt 4.1)
– case 51467 – Accounts Receivable (AR) Aging Detail
– case 51626 – Accounts Receivable (AR) Customer Summary
– case 50454 – General Ledger Batch Distribution
– case 51617 – Deposits
-case 51117 – Journal Details
​52548​FetchXML Reports: Certification​This case expands the online FetchXML report solution to include a printable certificate report. This report can be run on selected records, configured views, or all records.

Quality of Life Features & Bug Fixes

This release also brings in new features and fixes existing bugs to improve upon the user experience in both CRM and the Cobalt Portal, as well as some merging of functionality introduced in Cobalt version 4.0.

Portal Display Updates

CaseTitleDescription
​50864​Decoupled Error Page (case 49446)​This case decouples the generic error page (Error.aspx) so that users who run into portal errors will encounter a better/friendlier page. This page is outside of page text, web element sitemap navigation, and does not attempt to identify if users are logged into the system or not. No specific error details will be provided on this page.
​50991​Decimal Precision display in Custom Grids/Lists not respecting precision value (case 36438)​This case corrects the way that decimal values were displayed in custom web element grids and lists, so that decimal precision is respected.
​50998​Certification Terms on the portal are inaccurate. (case 45235)​This case updates the way that certification terms are displayed to users when applying on the portal. Now, termed duration terms will display the duration of the term (ie. 1 Year), while dated duration terms will display as before. The inclusion of the duration of term prevents the display of inaccurate term information presented to users who do not yet have fully completed requirements.
​51206​Product Implementation: Generalize Hint Text on All Auto-Complete Text Boxes​This case implements generalized hint text within auto-complete textbox fields on forms, as well as increases the speed in which these auto-complete results appear upon searching.
​52085​Feedback: Portal Tiles (Exams, Certification)This case includes some miscellaneous UI/UX improvements to the portal home page, ensuring that links on tiles display uniformly, includes icons, and hides the Exam tile when the logged-in user has no results.
​52259​Mapped Currency Answer Fields Not Respecting Decimal Precision, Shows Dollar Sign​This case corrects the bug where currency form controls (such as in the case of the new tiered dues question) include currency symbols and do not respect decimal precision; causing validation problems until they are removed. Currency symbols such as the $ will no longer appear automatically on a currency field in the portal, and decimal precision is respected and has parity with what is displayed in CRM.

Event Management

CaseTitleDescription
​50990​URL Typo in Social Share Link (case 42730)​This case corrects a typo on the social share link for classes, so that the generated URL directs to the correct link.
​51789Events: Email ConfirmationThis case establishes the ability to send confirmation emails to registrants and the person doing the registration simultaneously, in the event of proxy registration. If the registrant is the same person as the person doing the registration (such as in the case of a typical user registration scenario), then only the Registrant confirmation email will be sent.
​52721​Add an Alert during incomplete Group or Proxy Registration​This case implements a validation message as a part of a Meeting’s group/proxy registration process so that the registering user is alerted that their attendee registration is incomplete. Previously, if a user attempted to navigate away without completing all registrations, this page would refresh without any indication of what was needed to be corrected. 

Misc. Updates

CaseTitleDescription
​50855​​Seeding Autonumbering Definitions on Create (case 48462)​​This case allows for better UX when creating autonumber definitions with particular starting numbers, so that SQL statements do not need to be executed. Instead, the “Next Value” field’s value is used.
​50866​Remove Support for Dynamics 2016 (case 45826)​This case removes support for Dynamics 2016 within the product.
​50867​Missing Membership Application Wizard (case 48576)​This case resurfaces the membership application wizard on the Contact record, so that staff are able to utilize the wizard within the CRM.
​50988​AnnotationFileUpload control lies about file size of existing files (case 50140)​This case implements more accurate measurement of the file size of existing uploaded files.
​50989​Resolve Coupon Naming Strategy (case 11822)​This case removes the automatic population of Coupon names via a pre-determined naming strategy. Staff members can now create coupon records with any given name.
​50993​Increase length of Page Text URL to accommodate for Web Element URLs (case 47779)​This case increases the number of characters allowed for page text URL fields, so that custom web element URLs generated are able to be accepted.
​51551Remove Duplicate Product Description on Online Store Details Page​​This case removes the duplicate Description that would appear on product details in the Portal. Descriptions for stand-alone products will now only appear above the quantity and “Add to Cart” controls.
51892All Contact Affiliations need a role or you can’t access the portalThis case corrects the behavior that prevented users who have contact affiliations but no roles from logging into the Portal. It is possible for users with contact affiliations to access the portal, regardless of related roles (or lack thereof).
​52162​Higher Logic Integration: IsActive Should Be Set Based On StateCode, Not Hardcoded (case 51562)​This case corrects the behavior of the out of the box Higher Logic integration so that member data in Dynamics in reflected accurately in Higher Logic, so that deactivated contact in CRM will be correctly deactivated in Higher Logic.
​52190​Add “Generate Dues Batch Workflow” Lookup Field to Membership Form​This case establishes parity with work done in Cobalt 4.0 (case 52189) so that the Cobalt Membership solution’s Settings form contains the “Generate Dues Batch Workflow” lookup field. This field is located on the “Cobalt Membership Dynamics (admin)” form, under the General section. Without this field populated, dues cannot be generated.
​52769​Acknowledgement of Terms Should Display Before User Creates Account​This case rearranges the order of pages displayed as part of the new user profile setup process, so that users should agree to the terms and conditions prior to being able to enter in information and create their profile.