What’s New and Changed in UX 365?

What’s New and
Changed in UX 365?

 

Accounting Jobs

 

With the move to the
new Azure environment for Dynamics CRM, all accounting functions
previously managed by stored procedures are now managed as web jobs
and can be viewed from the Financial Manager area >
Accounting Manager > Accounting Jobs. This opens
the Active Accounting Jobs view and displays a list of all
accounting jobs that have been run.

 

Accounting jobs logged
in this view include Posting Process, which includes Create GL
Detail, Reset Batch, Refresh Process, and Restructure Process.

 

If the job succeeded,
the Job Status = Completed; if a job encountered an error, the Job
Status = Error and the specific error will be recorded inside the
job record for easy reference.

 

 

 


Address Type Setup View

 

Option set values for
the various address type fields are inevitably inconsistent across
entities, causing confusion for users and challenges for reporting.
For the MX Online Addresses web part, there is no clear way for the
user to indicate both the purpose of an address and whether it
should be used as the default bill to / ship to when these option
set values for these fields are not synchronized.

 

Manage and
Synchronize Option Set Values

To help address this
challenge, UX 365 includes OOTB pre-defined address type option sets
and an Address Type Setup View to manage and synchronize the
option set values across all instances of the address type field in
the Protech Customization solution
. (A global option set to
support multiple fields in multiple entities is not an option in
Dynamics® CRM 365.)

 

UX 365 is deployed with a base set of values assigned to all address
type fields in the contact, account, and address entities. Users
with the System Administrator or System Customizer security role
have access to modify these settings.

 

Contact Entity

Base Option Sets

Value

Label

1

Work

2

Home

3

Bill To

4

Ship To

5

Other 1

6

Other 2

 

Account Entity

Base Option Sets

Value

Label

1

Work

 

 

3

Bill To

4

Ship To

5

Other 1

6

Other 2

 

Address Entity

Base Option Sets

Value

Label

1

Work

2

Home

3

Bill To

4

Ship To

5

Other 1

6

Other 2

During initial implementation, use the Address Type Setup View
to create/modify/delete option sets you may need. This will improve
clients’ data consistency and reporting, and support MX
initiatives for the MX Online Addresses web part. Do not alter
option set values 1 through 4.

 

The initial configuration and synchronization of the address
type option set values is critical prior to data migration
.
Protech cautions against repeated changes to existing address types
once you have established the correct values/labels for the client’s
system during implementation.

 

Please refer to the UX 365 White
Paper, UX 365_Synchronizing Address Type Setup Values, for
details on using this tool.

 

API Limits

 

Microsoft Dynamics 365
Online has a per user limit of 60,000 API calls within a 5 minute
period.

 

In order to comply
with Microsoft’s limit, the way in which UX uses API calls for high
volume record processing, such as Bulk Address Validation,
Engagement Process, Galley Utility, and the Renewal Billing Process,
was modified.

 

In UX 365, UX groups
the records in batches of 50 records to minimize the number of API
calls. For example, instead of send 60,000 records for renewal
processing in a single API call, UX will submit 1200 batches of 50
records per batch for renewal processing. If a user reaches the API
limit, UX will retry the call to continue processing the remaining
records not processed in the initial API request.

 

Affected areas:

 

  • Bulk Address Validate: logic
    changed to validate 50 addresses per request (previously, we
    validated 1 per request)

  • Engagement Points: logic updated
    to retry if the API crosses the limit

  • Galley: logic updated to retry if
    the API crosses the limit

  • Renewal Process: logic updated to
    retry if the API crosses the limit

 

Application Parameter
Changes

 

UX 8 Application
Parameter Records Deprecated in UX 365

  • CRM4M.Accounting,Solomon2015

  • CRM4M.Professional
    Development.License

  • PAWebLogin.IsCustom

  • PAAdvertisement.License

  • PABankRecModule

  • PACashBasisGLDetail

  • PACertification.IsCycleDateasActivityDate

  • PACertification.IsJoinDateasActivityDate

  • PACreditCard.SendDetails

  • PACRM4MDataBaseName

  • PACustomResource.Folder

  • PAExhibits.License

  • PAGalley.Custom

  • PAInvoiceAutoPay

  • PALockBox.ContributionAsProductSales

  • PAPayments.ShowDelayedCaptureButton

  • PAPayments.ShowAdjustment
    Transaction

  • PAProfessionalDevelopment.License

 

 

Changed Application
Parameter Records in UX 365

PARestrictConflictingSession.Enable

 

  • If Config Value = True or is
    null, disallow setup of registration packages with conflicting
    sessions. If = False, allow setup and create registrations for
    conflicting sessions in the package.

 

  • Prior to this change, if value =
    False, and the registration package contained conflicting sessions,
    during the meeting registration transaction process, UX disallowed
    the conflicting session registration, creating only the first
    conflicting session registration. No registration was created for
    the conflicting session(s). This change ignores session conflict
    logic for packaged meeting registration transaction and creates
    session registrations for all sessions in the package, without
    regard to date/time session conflicts when the Config Value =
    False.

 

  • This change only applies to
    session registrations in packaged meeting registrations. Session
    conflict logic remains in place for sessions added after creating
    the packaged meeting registration transaction.

 

New Application
Parameter Records in UX 365v3

MXDeleteSessionXNbrDaysOld

  • Description = Enter integer value
    for X to cancel MX User Authentication Session Token records after
    X number of days. Default value = 1.

MX.GuestContact

  • Description = Enter the Contact
    Number to define which contact will be used as the guest user
    assigned as Shopping Cart contact before a user is logged in to MX.

 

PAAccounting.RunNightlyGLRefresh

  • Description = If
    integrated with GP, set value = true if you want UX to run the
    ‘Refresh from Accounting System’ utility nightly; else, set Config
    Value = false.

 

Important
Note
: If you plan to run this process nightly, do not change the
Config Value = true until after you have confirmed with IT that the
integration between the client’s org and GP is complete and
verified.

 

PAAddress.DefaultCountry

  • Description = Enter the 2
    character alpha ISO code for the default address country your
    system. Default value = US. Config value is required.

  • The app parameter will be
    included as part of base UX 8.2.1 and UX 365

PAAzureFunctions.SecurityKey

  • Description = UX
    365 Azure Functions service Security Key.

  • Note: Config
    Value set by Protech.

 

PAAzureFunctions.Url

  • Description = UX 365 Azure Function Service URL.

  • Note: Config Value set by Protech

 

PAFormSelect.Hide

  • Description = UX
    365 Form selection script

  • Note: Config
    Value set by Protech

 

PAOrganizationId

  • Description =
    Organization Key for UX License Keys. Please Contact Protech for
    Organization ID.

  • Note: Contact
    Protech for Organization ID

 

PAShoppingCart.CheckDuplicateProducts

  • Description = Set to true to
    prevent duplicate Product Sales Items from being added to the MX
    Shopping Cart. False allows duplicate products. Default is true.
    Null = true.

 

 

Audit History

 

The UX Audit View, a custom UX view
that was available in earlier versions of UX Online, cannot be
supported in the Dynamics 365 Azure environment. Users have the
option to view global audit change history in the CRM Audit Summary
View (Administration > System > Auditing
> Audit Summary View). Filtered audit change history is
also available in the site navigation for contact, account, invoice,
invoice detail and most other entities in UX 365.

 

Another option is to view audit
history using the XRMToolbox Audit History Extractor. Please
refer to the UX 365 White Paper, UX
365 Working with the XRMToolbox Audit History Extractor
, on
SharePoint for details on using this tool.

 

Authentication for
Azure Web Jobs – OAuth 2.0 Protocol

 

UX 365 Azure Web Jobs now use the
Microsoft identify platform and the OAuth 2.0 protocol for managing
user authentication with a distinct user account named, ‘UX
Service Act’. There is no log in for this user account – it is
used solely for purposes of authentication for Azure Web Jobs and is
not counted against the number of users/subscribers. This ‘user’
also is the owner of records created by an UX 365 Azure Web Jobs.
This change affects all UX Web Jobs (System, Renewal, Nightly, and
Accounting).

 

Settings for this configuration will
be managed by IT during deployment.

 

 

Auto Numbering and
Record Prefixes

 

UX 365 uses Microsoft Dynamics 365’s
new AutoNumber logic for sequential numbering. Because of this
change to AutoNumber logic, UX 365 no longer relies on Transaction
Number Control to increment to the next (seed) number for the
following numbered attributes,1
which have been converted to calculated string fields to support
AutoNumber logic:

 

  • Batch Number
    (batchlog.pa_batchnumber)

  • Account Number (account.
    accountnumber)

  • Contact Number
    (contact.pa_contactnumber)

  • Identification
    (pa_giftcertificate.pa_gfidentification)

  • Invoice ID
    (invoice.invoicenumber)

 

Account and contact numbers no longer
share sequential numbering in UX 365. Contact record IDs have their
own sequential numbering that is separate from the account record ID
sequential numbering. Because this could lead to duplicate ID
numbers where an account record has the same ID number as a contact
record, UX 365 includes a prefix at the beginning of record numbers
to designate the record type. UX 365 includes the following prefix
settings:

 

  • Contact Number begins with ‘C-

  • Account Number begins with ‘A-

  • Gift Certificate ID begins with
    GIFT-

  • Invoice Number begins with ‘INV-

 

Setting the seed value
and assigning prefixes to designated attributes in UX 365 is managed
using the XRMToolBox ‘Auto Number Manager’ plugin tool.

 

Please refer to the UX 365 White
Paper, UX
365_Managing Auto Numbered Attributes during Data Migration
, on
SharePoint for details on using this tool.

 

 

Batch Log

 

Batch Log Record –
Batch Closed On

UX 365 sets a new attribute on the
Batch Log entity, pa_batchclosedon, to set the date and time
when the batch is closed via a nightly process or manually by the
user.

 

 

Batch Log Record –
Close from Nightly Process

UX 365 sets a new attribute on the Batch Log entity,
pa_nightlyclose, to true when the batch is closed via a
nightly process to help identify whether a batch is closed manually
or by a nightly processes.

 

 

Batch Log Record –
Description

When creating a new batch, upon Save, UX automatically populates the
Batch Log record Description field using a concatenated value of
‘[Batch Number]_[Batch Name]_[Company]’. Protech cautions
against modifying this value either manually or via any workflow or
business process.

 

 

This change addresses an issue with the OOTB batch lookup when
selecting a batch in an invoice. The OOTB batch lookup displays the
first to columns in the Open Batches view – Batch Name and Batch
Date. To view additional details about each batch record returned in
the lookup, users were forced to expand the batch record to see
details such as batch number and accounting company.

By concatenating pertinent details into the Description field and
adding the Description field as the first column in the Open Batches
view, the OOTB batch lookup for selecting a batch in an invoice now
displays the concatenated value and batch date.

 

Chart of Accounts and
GL Account Categories – Account Type

 

To improve data consistency, UX Online
365 includes a new global option set, Account Type, to manage
account type selections when creating Chart of Account records and
for assigning an account type value in GL Account Categories used
during the Refresh Chart of Accounts Utility.

 

 

 

CK Editor

 

CK Editor is now
embedded in a PCF Control on the various setup forms in UX 365.
There is no change to the CK Editor toolbar options for formatting
content. The only change visible to the user is that the controls
are displayed in a different order and the Save control in CK Editor
has been removed. The user no longer needs to select Save on
the editor toolbar. Text and formatting are saved when the user
selects Save or Save & Close on the setup form
toolbar.

 

CK Editor Function
Toolbar

 

 

PCF Function Toolbar

 

 

Composite Fields –
Address and Full Name

 

The Unified Client Interface does not
support display of composite fields in the UI. You will notice this
difference in the Account and Contact form address fields, and in
the Contact form Full Name field.

 

Dynamics CRM displays addresses as
their individual address field components (i.e., Street 1, City,
State, etc.) on the forms as they did in versions prior to UX Online
8.

 

Because the Full Name field would
appear in the UI as duplicate individual name field components, we
have unpublished the Full Name field from the UX 365 contact form.
The Full Name field exists, but is simply not published to the UX
365 Contact form. Note that the contact list view of contact
displays the Full Name, as expected.

 

If a client has a custom contact form,
consider unpublishing the Full Name field from the custom form to
avoid any confusion.

 

 

 

 

Credit Card and ACH
Processor – BluePay by CardConnect

 

BluePay is the supported gateway for credit card and ACH payment transactions in UX 365. PayPal’s Payflow Pro gateway supports credit card payments transactions only and does not support ACH payments. Clients can configure their system for either the BluePay or Payflow Pro gateway, depending on their payment transaction requirements. If the client uses BluePay and requires ACH payments, the client must also configure the application parameter, PAPayments.ShowACHTransaction to true to display ACH as a payment option in the invoice New Transactions.

 

Customer Lookup

 

Forms that previously
had “Account” and “Contact” lookups, such as
many of the Invoice Detail forms, now have a single “Customer”
lookup field to lookup to an account or contact.

 

Customizations

Show Me

 

Forms

In UX Online 365, all base forms are
locked and cannot be customized in the Alliance by Protech managed
solution.

 

If a client requires a change to a
base form, they must add the entity and the specific form to their
own solution and customize in their solution. This includes any type
of change (i.e., adding a field, adding a section, adding security).
There are no exceptions.

 

In UX Online 365,
there is an additional step involved when creating a new custom
form. After creating and publishing the custom form in the
client-specific solution, you must navigate to the CRM Editor to
update which forms can be seen in the UX 365 application.

 

Please refer to the UX 365 White
Paper, UX
Online 365: Using App Designer to Display Custom Forms
, on
SharePoint for details for using this tool.

 

Deceased Contacts

 

The Deceased Contact utility has been
modified to include termination of Current and Upcoming Professional
Development Award Renewal records where the Award Status = New,
Renew or Reinstated.

 

The change to the Award Renewal Award
Status = Terminated triggers a UX 365 plugin (flow) to rebuild the
professional designation for the contact. This plugin can take
several minutes to run so the update to the professional designation
is not instant. If you want to manually trigger the flow to rebuild
the professional designation, select the ellipsis on the contact
record toolbar to view a list of additional actions available.
Select Flows > UX Build Professional Designation.

 

 

Editable Grids

Show Me

 

Prices

Selected fields in the Prices grid are
now editable directly in the grid.

 

Users can access all Prices records
from within the sitemap by navigating to Product Sales >
Product Sales Settings > Prices. In this grid view,
users can edit all fields displayed except Product and Name directly
in the grid of all prices records.

 

 

Users can access Prices records in UX
setups, by navigating from the setup record to Related >
Prices to open the Prices Associated View for that
record. For example, from a product sales non-inventory product,
select Related > Prices. Users can edit all fields directly in
the related grid except Price Level and Currency.

 

 

 

 

Application
Parameters

The Application Parameters List View
is now an editable grid. Users can modify the Config Value directly
in the grid. Changes are saved dynamically as you move from the
field.

 

 

GL Account Refresh

 

When integrated with Dynamics GP and your accounting company is
configured to Refresh GL Accounts, the Start Accounting
Refresh Job process that includes refreshing GL accounts from
GP now ignores GL Account records flagged as Inactive in Dynamics
GP.

 

 

GoTransactions

 

GoTransactions is no longer a separate
solution as it was in UX 8. GoTransactions is now part of the base
solution for UX 365. The functionality remains the same.

 

 

Invoice Detail

 

Detail Item Type

Detail Item Type
(invoicedetail.pa_detailitemtype) is a new option set attribute in
UX 365 that replaces the deprecated invoicedetail.pa_itemtype and
invoicedetail.pa_paymenttype attributes.

 

Option set values 1 –
5 correspond to product.pa_paymenttype option set values 1 – 5 to
help identify what type of payment when searching invoice detail by
Detail Type 900000 (payments).

 

Detail Item Type option set values include:

  • 1 – Credit Card

  • 2 – Cash/Check

  • 3 – Gift Certificate

  • 4 – Adjustment

  • 5 – ACH

  • 10 – Kit Product

  • 11 – Kit Component

  • 12 – Freight Product

  • 13 – RMA

  • 14 – Restocking Fee

 

Please refer to the UX
365 White Paper UX
365 – Invoice Detail Types
for additional
details on detail types and detail item types for invoice detail.

 

Invoice Detail Name

The Invoice Detail record name is now
managed through a new invoicedetailname attribute,
which is populated with the name of the product via a workflow in UX
365.

 

In earlier versions of UX, the name
was managed through a virtual field called productidname. The
productidname was deprecated in UX 365.

 

 

Invoices

 

Form Changes

UX 365 supports a new
UX 365 Transaction invoice form that eliminates the left side
navigation for general invoice information, and billing and shipping
addresses in earlier versions of UX.

 

  • Sections of the invoice are the
    full width of the form for a better responsive design.

  • Invoice total components are
    displayed horizontally below the invoice detail grid.

  • Invoice Balance Due and Total
    Payments are at the top of the invoice.

  • The invoice detail grid has been
    enlarged to display more rows.

 

 

 

Invoice Totals
Calculations

In previous versions of UX Online, all of the calculations for
invoice totals when invoice detail is created, deleted, or cancelled
used a stored procedure (dbo.PA_SP_INVOICE_GetTotals ). When invoice
detail changed, the stored procedure read all of the invoice’s
invoice detail and then re-generated the now deprecated
pa_modulesoninvoice.

 

In UX 365, there are
no stored procedures. For improved performance, invoice totals in UX
365 primarily use CRM architecture for invoice totals for Total
Detail Amount, Total Discount Amount, Total Tax, and Total Amount.
These fields are displayed horizontally below the invoice detail
grid.

 

For greatly improved
performance, UX 365 also used calculated rollup attributes for Total
Payments and Balance Due, as follows:

 

  • Total Payments
    Invoice.pa_payments is a system calculated rollup attribute with an
    API that runs immediately. This field is now displayed in the
    invoice header at the top of the page.

  • Balance Due
    Invoice.pa_balance is a calculated attribute where the system
    updates the value when there is an update on invoice.pa_payments.
    This field is now displayed in the invoice header at the top of
    the page.

 

Modules on Invoice

To improve
performance, the Modules on Invoice attribute
(invoice.pa_modulesoninvoice) was deprecated in UX 365, and replaced
by Invoice Detail Module Type (invoicedetail.pa_moduletype).

 

For reporting or
searching, instead of filtering on Invoice > Modules on Invoice,
filter on Invoice Detail > Module Type
(invoicedetail.pa_moduletype). This is a calculated attribute based
on the Detail Type (invoicedetail.pa_detailtype).

 

You can also use the
first two digits of the Invoice Detail > Detail Type
(invoicedetail.pa_detailtype) to identify the module. The remaining
digits of the invoicedetail.pa_detailtype will identify the type of
transaction.

 

 

Please refer to the UX
365 White Paper, UX
365 – Invoice Detail Types
,
for additional details on detail types.

 

 

New Transaction Drop
Down Menu Controls

The current release of
the Unified Client Interface does not support menu load controls
found in UX 365 that are most commonly in the invoice New
Transactions drop down menu and the GoTransactions drop down menu.
In UX 365, there are no OOTB filters to control the display of menu
items based on user security roles, or in the case of a Proforma
invoice, to limit the display of New Transaction menu items to
Product Sales and Comment. To address this issue, Protech has added
custom controls, as described below.

 

  • When you create a
    Proforma invoice in UX 365, all transactions types are available
    for selection. Until Microsoft resolves this issue in a future
    release, users that select any transaction type other than Product
    Sales or Comment will receive an alert, “Selected Transaction is
    not available in Proforma Invoice.”

 

 

  • When you create a
    new invoice in UX 365, all transaction types are available for
    selection without regard to the user’s security roles. Until
    Microsoft resolves this issue in a future release, users that
    select a transaction type for which they do not have a
    corresponding UX Security Role will receive an alert, “User does
    not have security roles to perform this transaction.”

 

 

  • When you select
    GoTransactions from an account or contact record toolbar, UX 365
    displays all GoTransactions transaction types without regard to the
    user’s security roles. Similar to the custom controls for the
    invoice New Transactions drop down menu, if the user does not have
    the requisite security role for the selected GoTransactions
    transaction type selected, they will receive the alert that they do
    not have the security roles to perform the transaction.

 

Refresh Invoice
Detail

When adding new
invoice detail for a credit card payment to an invoice in UX 365 and
selecting Save, you may notice that the invoice Totals do not
update to reflect the payment transactions in the user interface
(UI). The totals are, in fact, updated, but not reflected in the UI.

 

In the case of a credit card payment, for example, here is how logic
works.

 

  1. Save triggers the UX plugin

  2. The UX plugin triggers an Azure function (Web Service call)

  3. Azure function makes web service call to BluePay

  4. Everything flows back to the UX plugin

  5. Invoice Balances are calculated

 

The CRM UI does not
know how long this process takes and the UI refresh may happen
before above process is completed.

 

At this time, there is
not a way to control the CRM UI refresh for this situation or where
plugins are running slow.

 

Use Save and Close
to refresh the UI.

 

 

Member Engagement

Show Me

 

Engagement Type

New field on the
Engagement record that defines the module of the activity. This
value flows down to the Engagement Detail record.

 

 

Negative Points

UX 365 allows the
Engagement Points value for the Account or Contact to be a negative
value. In UX 8, the minimum value was 0. This is useful for
deducting points if, for example, a meeting registrant who earned
points for registering and then cancels the registration.

 

 


Meetings

 

Meeting Setup

Meeting Code for Multiple Meetings per Event

Show Me

 

UX 365 includes a new
Meeting Code attribute in the Event Meeting Setup
(pa_eventmeetingsetup.pa_meetingcode) to support setting up multiple
meetings for a single Event.

 

Similar to the Exhibit
Code in UX 8, the code is appended to the end of the productID for
products created by the system for related meeting registration
setups and meeting session setups.

 

While the Meeting Code
is optional, it must be unique across all meeting setups. The code
should be short and can include a space, a hyphen, or an underscore.
Avoid other special characters – they are not supported.

 

 


Meeting / Event Relationship

 

In earlier version of UX Online, the meeting setup was available
only from its parent Event. This required users to create an Event
before they could begin the related meeting setup.

 

In UX 365, users can
start with the meeting setup and use the Event lookup to select an
existing Event, or create a new Event from the Look Up Records
dialog. While you can still start with the Event and create a
related meeting, this change is a more efficient approach and is
particularly useful when creating multiple meetings per Event.

 

System-Created
Registration and Session Product Codes

 

Like earlier versions
of UX Online, when creating registration and session setups for a
meeting, upon Save, the system creates a product record where
product type = Registration or Session to manage the GL detail for
meeting and session registration invoice detail.

 

Changes in UX 365 for
these system-created registration and session products include
appending the optional meeting code to the productID, as described
above. Another change includes appending the eventID to the
productID to support accounting functions for creating GL Detail for
the special batch process, Revenue Recognition by Event.

 

Because of these two
changes,

 

  • the productID for system-created
    registration products =

[REGISTRATION
CODE]-[EVENT CODE]-[MEETING CODE].

 

  • the product id for system-created
    session products =

[SESSION
CODE]-[EVENT CODE]-[MEETING CODE].

 

Using the following
event, meeting, and registration setups as an example,

 

  • Registration Name = Main
    Registration

  • Registration Code = MAIN

  • Event = 2019 Webinars

  • Event Code = 19WEB

  • Meeting Name = January Webinar

  • Meeting Code = JANWEB

 

The system-created
registration product would be Product ID = MAIN-19WEB-JANWEB

 

 

 

Meeting Deferral
Start and End Dates

 

When the Primary GL
Account is a deferral by date GL account, UX 365 displays two new
fields on the Meeting Setup form in UX 365 to support the meeting
revenue recognition by date batch process.

 

  • Deferral Start Date
    (pa_deferralstartdate)

  • Deferral End Date
    (pa_deferralenddate)

 

The values for these
fields should reflect the meeting start and end dates entered in the
meeting setup. UX does not automatically populate these fields or
update these fields if a user changes the meeting start and end
date.

 

IMPORTANT

While these fields are available for edit, Protech strongly
cautions against changing these values once registrations exist for
the meeting.

 

 


Meeting Location Time Zone

 

A new ‘Time Zone’ (pa_meetingtimezone) field has been added to
the Meeting Setup form in UX 365 to support an upcoming release of
MX Online. While UX 365 defaults the value in this field to the
user’s time zone, if the meeting location is not in the user’s
time zone, edit the value by selecting the correct time zone for the
meeting location from the dropdown list of universal time zone
values.

 

 


Online Meeting Detail – ‘Are UDF Questions Required?’

 

A new bit field in the Online Detail section of the Meeting Setup,
‘Are any UDF questions required?’ (pa_udfrequired) has been
added to UX 365 to support an upcoming release of MX Online.

 

If a Meeting Setup includes User Defined Fields, when the value of
this field = Yes, MX Online will execute a validation script
to evaluate Required
User Defined Fields
(described below) and enforce required User
Defined Field validation when an user attempts to process an online
registration.

 



Required User-Defined Fields

 

A new bit field for each User-Defined Field (UDF) has been added to
UX 365 to support an upcoming release of MX Online. Each UDF field
now has as a companion ‘Required’ bit field that defaults to No.

 

If a Meeting Setup includes UDFs, users can change the value to Yes
to flag any UDF as required when MX displays the Questions
online in the context of an online registration process.

 

In conjunction with the new Online Meeting Detail bit field ‘Are
any UDF questions required’ described below, MX will evaluate
these new “Required” bit fields and if Yes, MX will
enforce required field validation when a user attempts to process an
online registration.

 

 


Session Setup Form Change – Education Item

 

The lookup to the ‘Education Item’ field is displayed on
the meeting session setup form. This field is the similar to the
Course’ lookup field in UX Online 8 to support
enrollment in a Professional Development Education Item.

 

Meeting Registration Setup

Is Cancellation Fee

Show Me

 

UX 365 includes new validation to the “Is Cancellation Fee”
field on the Event Registration Setup form. If Yes, then
other Registration options = No and are locked. If a user
changes the value to No, UX unlocks the other registration
options.

 

  • Registration option fields
    include:

  • Is Main Registration

  • Is Package

  • Restricted Sessions

  • Group Pricing

  • Members Only

 

Price Level Controlled

Show Me

 

UX 365 includes a new
option to limit Meeting Registrations by Price Level. By flagging
the Registration Setup record as ‘Price Level Controlled’ and
creating one or more related Registration Price List records, you
can limit that registration to contacts in the database whose Price
Level matches the Price List defined in the Registration Price List
record(s).

 

UX 365 supports Price
Level Control for Main and Guest Registration, Packaged
Registration, Restricted Session Registration, and Group Pricing
Registration setups. It is not available for Registration Setup
flagged as Members Only.

 

UX 365 invokes Price
Level Control when transferring a participant. If the selected
contact’s price list does not match the Event Registration Price
List, UX displays a validation message and does not allow the
transfer.

 

 


Packaged/Restricted Registrations – Multi-Select Sessions

 

When a registration setup is flagged for ‘Is Package’ and/or
‘Restricted Sessions’, selecting those sessions uses a new
Multi-select sessions session dialog when they are added from the
registration setup form toolbar using the ADD PACKAGE SESSIONS or
ADD RESTRICTED SESSIONS
buttons.

 

Selecting either button opens a lookup dialog to the right of the
form, where users can select one or more sessions and add them to
the registration setup using the Add button at the bottom of
the dialog.

 

 

 

 

Meeting Registrations

 


Packaged Meeting Registrations with Conflicting Sessions

Occasionally, a client
may need to set up a packaged meeting registration that includes one
or more conflicting sessions. This could occur, for example, in a
package where one session contains an Education Item for a course
and another session contains an Education Item for a companion Exam.

 

As in earlier version
of UX, UX 365 controls this setup based on the Config Value for
application parameter PARestrictConflictingSession.Enable. If
the Config Value = True or is null, you cannot create a packaged
meeting registration that contains conflicting sessions. If the
Config Value = False, UX allows you to set up a packaged meeting
registration with conflicting sessions.

 

During the process of
creating an invoice transaction for packaged meeting registrations
that contain conflicting sessions, however, earlier versions of UX
did not create session registrations for conflicting sessions in
that package – without regard to the Config Value of the
application parameter PARestrictConflictingSession.Enable.

 

UX 365 looks at the
Config Value of the application parameter
PARestrictConflictingSession.Enable to control both the setup
of a packaged registration with conflicting sessions and the
creation of an invoice transaction for packaged meeting registration
that contains conflicting sessions.

 

  • If the Config Value = False at
    the time of the invoice transaction, UX will ignore session
    conflicts and create session registrations for all sessions in the
    package without regard to session conflicts. This is a change from
    earlier versions of UX Online.

 

  • If the Config Value = True or is
    null at the time of the transaction, UX will only create session
    registrations for sessions in the package where there is no
    date/time conflict. If a registration package contains conflicting
    sessions, UX sorts the conflicting sessions by session name and
    registers the first session in the sort. As in earlier versions, UX
    365 does not create session registrations for the remaining
    conflicting sessions, and provides a yellow alert at the top of the
    packaged meeting registration transaction that identifies the
    conflicting sessions.

 

 

This change only
applies to session registrations in packaged meeting registrations.
Session conflict logic remains in place for sessions added after
creating the packaged meeting registration transaction.

 

Registration
Checked-in

‘Checked-in’ is a new field in the Administration section
of the Event Registration form in UX 365 to support an upcoming
release of MX Online. When a user checks in using the new MX
check-in web part, MX updates the field to Yes.

 

 

 

MX Refresh

Show Me

 

Refresh Cache and Refresh Metadata

 

‘MX Refresh’ is a
new entity (pa_mxsites) in UX Online 365 that is used to support
functionality for the Reset Caches and Reset Metadata utilities in
MX Online 365. Both utilities were previously managed from the MX
Settings menu in versions of UX Online 8.

 

In UX Online 365, the
utilities are accessible directly by navigating to Settings >
MX Settings
> Refresh. Select the site root record to
display the Refresh Caches and Refresh Metadata buttons
on the list toolbar.

 

Please refer to the UX 365 White
Paper, UX
365_New MX Sites Entity
, on SharePoint for details.

 

MX Shopping Cart
Records

 

Cart Status
Conditional Logic

UX Online 365 includes
conditional logic on the Cart Status field in MX Shopping Cart
records to manage user edits to the Cart Status field.

 

  • If Cart Status (pa_status) equals
    ‘Active’, the only option available for editing Cart status is
    to select Cancelled in the drop down list. Status options
    for Active, Processing, and Processed are hidden and not available.

 

  • If Cart Status (pa_status) does
    not equal ‘Active’, the Cart status field is read only and no
    changes can be made to the Cart Status field.

 

Notes Timeline

 

New in the UCI contains a Timeline filter for Notes. Please refer to
Power Objects blog for additional information on the timeline
feature:
https://www.powerobjects.com/blog/2018/06/01/timeline-new-improved-social-pane/

 

 

 

 

Phone Masking

 

The application
parameters for phone masking that were added to UX 8.2 are not
available in UX 365.

 

In Dynamics CRM, there
is a new feature, “Custom Controls,” that allows the user to add
an Input Mask control on a field via Change Properties in the
form customization (input mask is just one of several custom
controls available).

 

With the Input Mask
control, you set the formatting for a field like phone number or
credit card to prevent entering invalid data. For example, if you
want users to enter a United States phone number in the format
+1-222-555-1011, you would use the input mask +1-000-000-0000.

 

These Custom Controls
are not yet available (functional) for the web. More information on
working with this form customization in UX Online 365 will be
available in a future release of UX 365.

Posting Diagnostics

 

Because SQL queries do
not exist in UX 365, the results in the Posting Diagnostics
dialog have been modified to use an API call named
‘ValidateServerDatabase’ to validate the accounting company
connection and posting status.

 

Based on the Global
Setup Defaults and Active Accounting Companies, the dialog results
will vary.

 

 

 

Price Lists

 

Viewing Existing
Price List Records

In UX 365, the Price Lists entity is
available in read-only format for all users with the UX Core
security role by navigating to Product Sales > Product
Sales Settings
> Prices Lists in the sitemap.

 

 

Create, Edit,
Deactivate, Delete Price Lists

Access to create a new Price List,
Edit an existing Price List, Deactivate or Delete an existing Price
List is not available in the Unified Client Interface left
navigation.

 

Please refer the Create
Price Lists, Set Default Price Lists and Member Flags
for
details on accessing Price Lists where users with appropriate
security roles can create and edit price list records outside of the
Unified Client Interface sitemap.

 

Defining
Member/Non-Member Price Lists

Earlier versions of UX relied on the Price Level X-Ref in the
Renewal Manager to define the member/non-member flag for each Price
List. This entity has been deprecated in UX 365 v2.

 

Using a new attribute added to the
Price List entity, pa_member, UX 365 works directly with Price List
records to define the Member ‘Yes/No’ flag for each, replacing
the Price Level X-Ref setup required in earlier versions of UX. See
the white paper, UX
365_Setting the Default Price List
, for additional details.

 

Setting Default Price
Lists for New Records

Unlike earlier version of UX, UX 365 recognizes the Default ‘Yes/No’
value in the Price List record for establishing the default price
list for newly created records, based on currency.

 

Select only one
Price List record as the default for each currency
– typically
the Non-Member price list record.

 

As in earlier versions of UX, if an org is configured for
multi-currency:

 

  • Create additional member and
    non-member price list records for each currency.

  • You must have one ‘default’
    price list record for each currency.

 

Please refer to the UX
365 White Paper UX
365 – Setting the Default Price List
for details.

 

Prices

 

Value Minimum and
Maximum Fields

The Field Type for the
‘Value Minimum’ and ‘Value Maximum’ fields in the Prices entity was
changed to Decimal from Floating Type.

Products

 

Product Setup Changes

Additional Benefit Recipient Product Type

 

A new product type, Additional Benefit Recipient, is available in UX
365 for creating Additional Benefit Recipient products. In earlier
versions of UX Online, a Sales Non-Inventory product type was used
to create Additional Benefit Recipient products.

 

 

Payments & Adjustments Product Setup – Payment Type Option Set

Show Me

 

The checkboxes on the product setup form for a Payments & Adjustments product that was in earlier versions of UX have been replaced by a single option set for Payment Type in UX 365 (pa_paymenttype). When Product Type = Payments & Adjustments, the UX 365 PRODUCT form displays a section named, Payment Product Info, containing a Payment Type and the Checkbook ID field. If the Payment Type = Credit Card, the UX 365 PRODUCT form also displays the additional fields for credit card type and live verification bit field in this section.

 

When creating a new payment product, use the Payment Type drop down
to select from the following values:

 

  • Credit Card

  • Check/Cash

  • Gift Certificate

  • Adjustment

  • ACH Payment

  • Refund

  • Write-off

  • Transfer

 

 

 

 

 

 

 

 

 

 

 


Form Changes – Education Item

 

The lookup to the ‘Education Item’ field is displayed on
the product setup form only when Product Type = Sales Inventory or
Sales Non Inventory. This field is the similar to the ‘Course
lookup field in UX Online 8.

 

 


Form Changes – Kit Product

 

The location of the ‘Kit Product?’ field was moved from
the Description section to the General tab of the product setup
form. The field is displayed on the product setup form only when
Product Type = Sales Inventory or Sales Non Inventory (similar to
the controls for Education Item).

 

 

 

 

Product Sales
Transactions

Sales Products with
Education Items

 

When creating a product sales
transaction for a product that contains an Education Item, where the
Education Item setup contains a Prerequisite Education Item, if the
invoice customer has not met the prerequisite, UX 365 does not allow
the transaction for the selected product.

 

When this occurs, UX displays an alert
message at the top of the transaction form: ‘Prerequisite
Education Item [Education Item Prerequisite Name] not met
.’ UX
also clears the selected product from the transaction form.

 

 

 

 

 

Professional
Development

 

Re-imagined

Professional Development in UX 365
meets the needs of a full spectrum of client requirements –
everything from simply tracking the Education Activities of an
account or a contact record to managing requirements for achieving
and renewing even the most complex certification/accreditation award
scenarios.

 

For detailed information on the
changes to this module in UX 365, please refer to the white paper,
UX
365_Professional Development
.

 

 

Promotion Discounts

 

Price Level
Controlled Promotion Discounts

UX 365 offers a new option to limit promotion discounts by Price
Level. By defining a Price List in the Promotion record, you can
restrict discounts to eligible invoice detail where the invoice
Price List matches the Price List in the Promotion record.

 

Price Level control can be used in
conjunction with any promotion setup (All Products, Specific Type,
and Module).

 

 

Specific Type
Promotions

Promotion setup for ‘Specific Type’ promotions has been modified
in UX 365. When ‘Specific Type’ is selected in the Promotion
setup record, the specific type product is identified by creating an
associated ‘Promotion Type’ record.

 

This is different from previous
versions of UX where the product was identified from the related
product’s Product, Registration Setup, Session Setup, or Benefit
record.

 

There is no longer an option for
Specific Rates in the Promotion record. This is managed by selecting
Specific Type in the Promotion record and creating the associated
Promotion Type record.

 

Please refer to the UX 365 White
Paper, UX
365 – Specific Type and Price List Specific Promotions
, on
SharePoint for additional details.

 

 

Promotion Package
Transaction Changes

 

Meeting Registration
Transaction Detail


Placeholder Contact Company Represented

 

To improve the ability to identify Placeholder Contact meeting
registrations, either through Advanced Find or the Event Meeting
Participants View, UX 365 defaults the Company Represented as the
following when a meeting registration for a Placeholder Contact is
created through a Promotion Package transaction:

 

  • Invoice Customer = Contact with
    Parent Account – uses Parent Account as Placeholder Contact
    Company Represented

  • Invoice Customer = Contact
    without Parent Account – Placeholder Contact Company Represented
    not populated

  • Invoice Customer = Contact with
    Parent Contact – Placeholder Contact Company Represented not
    populated

  • Invoice Customer = Account with
    no Parent Customer – uses Invoice Customer as Placeholder Contact
    Company Represented

  • Invoice Customer = Account with
    Parent Account – uses Invoice Customer as Placeholder Contact
    Company Represented

 

Packaged Sessions
with an Education Item

 

Because sessions with
education items create Education Activity records, you cannot assign
a Placeholder Contact to a meeting registration that includes one or
more packaged sessions that contain an Education Item in a Promotion
Package transaction. Upon Save Package Details, UX 365 will
return a validation error: Package Session
[session name] has Education Item. Placeholder Contact cannot be
used
.

 

 

Price Level Control

 

UX 365 includes
validation for Price Level Control registrations during Save
Package Details
. If Price Level Controlled = Yes
in the meeting package detail registration setup and the price level
of the contact selected in a transaction detail for that meeting
registration does not match a registration price list record in the
registration setup, UX will return a validation error: Contact’s
Price Level [contact’s price level] does not match the
Registration Price Level. Transaction cannot be completed.

This validation ignores Placeholder Contacts.

 

 

Group Pricing

 

UX 365 supports
Promotion and Sponsorship Package transactions that contain meeting
registration package detail where the Group Pricing = Yes.
When generating the transaction for the package detail, UX prices
each registration based on the Invoice Price List and quantity of
contacts that have registered for the same group registration who
have the same Parent Account. If the quantity in the package detail
for the group meeting registration is greater than one, UX will
price the meeting registrations in the same order that the
participants are selected in the package detail grid.

 

Product Sales
Transaction Detail

Sales Inventory or
Sales Non-Inventory Product with an Education Item

 

If the package detail
product contains an education item where the education item setup
includes prerequisites, the invoice customer must meet education
item prerequisites in order to process a promotion package product
sales transaction. If an invoice customer does not have eligible
Education Activity to meet the education item prerequisite(s), upon
Save Package Details, UX 365 will return a validation error:
Prerequisite Education Item [Education Item
Name] not met.

 

 

Quick Create

Show Me

 

UX 365 includes Quick
Create from Subgrids and Associated Views for the following
entities:

 

  • Prices

  • Rate Price Level X-Ref

  • Prorate Detail

  • Member Package Detail

  • Education Item Credits

 

From a Sub-grid,
select the ‘+’ to create a new record using Quick Create. The
Quick Create dialog opens on the right side of the window.

 

 

From an Associated
View, select the ‘Add New…” button on the view tool bar to
create a new record using Quick Create.

 

 

 

RapidPay Payment Record

 

Credit Card Payment Expiration Date

In UX 365, following
Save to authorize a credit card payment in the RapidPay
payment record, we are no longer storing or displaying the credit
card expiration date to limit exposure of sensitive customer data in
the database. Once the credit card information is passed and the
payment is authorized, UX locks and blanks out the expiration date
field as it does with the CVV2 field. No data is stored.

 

 

 

Save and New

Show Me

When selecting the ‘Save & New’ in the RapidPay payment record,
UX now automatically populates the new record with the selected
Batch, Currency, and Payment Source selected in the previous
RapidPay payment record. This is similar to logic in UX 2011 and
allows for quicker RapidPay entry when working in the same batch for
creating RapidPay payments with the same currency and payment type.

 

 

Renewal Billing

 

Termination Reason

The Renewal Billing
and Renewal Processes entities in UX 365 utilize a new global option
set for Termination Reason (pa_terminatedreason). This global
options set replaces the UX 8 Renewal Billing termination reason
option set (pa_renewalbilling.pa_terminationreason) and Renewal
Process termination reason option set
(pa_renewalprocess.pa_terminationreason), which were deprecated in
UX 365.

 

This change will
affect data migration for existing clients upgrading to UX 365.

 

Reports

Accessing Easy Print
Reports

UX 365 Easy Print reports are accessed
and run from a new entity, Easy Print Reports, on the sitemap
for My Work > Reports > Easy Print Reports.

 

 

 

Selecting Easy Print Reports from
the sitemap displays a list view of the Easy Print Job records
previously found in the Easy Print Job Log.

 

To run a UX Easy Print Report, select
Easy Print on the toolbar to open the Easy Print dialog.
Use the Report lookup in the dialog to open the Look Up Record.
Select the report you want to run and click Add to add
the selected report to the Easy Print dialog. Click OK to run
the report.

 

 

Base Report RDL File
Names

In earlier versions of UX, base report
names and descriptions have references to CRM4Mv4 and CRM4M. In UX
365, the prefix for all RDL file names for reports and subreports
have been replaced with prefix ‘PA_’.

 

Revenue Recognition
by Date – Courses

 

The special batch process ‘Revenue Recognition for Events by Date’
no longer includes Professional Development course revenue, which
was based on invoice transactions for course schedules in UX Online
8. Course schedules were deprecated in UX Online 365.

 

In UX Online 365, courses are an Education Item type that can be
purchased through a product sale where the sales inventory/sales
non-inventory product contains the Education Item or through a
meeting session where the session setup contains the Education item.
There is no revenue recognition specific to purchase of an Education
Item type = course.

 

Security Roles

Show Me

 

UX Security Roles

All UX Menu and UX User Roles in
earlier versions of UX have been replaced by CRM Security Roles in
UX 365 to manage user access to data. MX Roles are now part of the
base solution.

 

To follow is a list of MX and UX
security roles Deployed with your system. Please refer to the white
paper,
UX 365_Working with Security Roles
for additional information on
each role.

 

 

 

 

Name

MX Shopping Cart User

MX User

UX Accounting Manager

UX Advertising Manager

UX Advertising User

UX Administrator

UX Chapter Manager

UX Committee Manager

UX Core

UX Exhibits Manager

UX Exhibits User

UX Fundraising Manager

UX Fundraising User

UX Meeting Manager

UX Meeting User

UX Membership Manager

UX Membership User

UX Payment User

UX Product Sales Manager

UX Product Sales User

UX Prof Development Manager

UX Promotion Package User

UX Roster Manager

UX Subscription Manager

UX Subscription User

 

 

 

 

UX System Jobs

 

Synchronize Contact
Web Roles

In previous versions of UX Online, Contact Web Roles were created
for existing contact records, typically following data conversion or
import into a new CRM environment, by a Dev or IT resource who ran a
series of SQL scripts on the database. In UX 365, this function is
managed by a new UX System Job named ‘Sync Contact Web Roles
that is run directly from the UX 365 User Interface in the Alliance
by Protech Customization
solution. This job can be run at any
time, by any user who has the System Administrator security role.

 

This is an important
change because the stored procedures in earlier versions of UX
Online typically were used only for first-time initialization of
roles on existing records and required scheduling with Dev or IT.
The ‘Sync Contact Web Roles’ improves on this
functionality because it can be run at any time to synchronize the
contact web role records without involving IT or Dev.

 

Important

This process no longer requires an IT or Dev resource. Project
Managers should add running this system job to the project schedule
and assign an appropriate resource for first-time initialization.
Thereafter, the job can be run as needed to ensure that records
remain synchronized.

Please refer to the UX 365 White
Paper, UX
365: Sync Contact Web Roles
,
for additional details on this feature and how to run
this system job.

 

UX Recurring System
Jobs (Flows)

Microsoft launched a new module for managing automated processes
online called Microsoft Flow. Located in PowerApps, Flows are
similar to workflows but have the added capability of building
workflows across multiple Microsoft Dynamics® applications. With
the introduction of Microsoft Flow in Power Apps, UX Online 365
recurring system jobs are now managed using ‘Flow recurring
processes’.

 

Each UX 365 recurring
process must be updated in PowerApps for each customer organization.
Please refer to the UX 365 White Paper, Managing
Recurring System Jobs (Flows) in PowerApps
, for
details.

 

Job
Name

Automated
Tasks

PowerApps
Flow Schedule

Interval

Frequency

Time

Engagement Nightly Process

  • Creates
    engagement detail records

  • Updates
    contact/account record total engagement points

1

Day

11:00 pm

MX Nightly Process

  • Cancels
    MX Shopping Cart, MX Membership Application, and MX Meeting
    Registration records based on app config in
    ‘MX.CancelShoppingCartXNbrDays’

  • Deletes
    MX User Session records based on app config in
    ‘MXDeleteSessionXNbrDaysOld’

1

Day

11:00 pm

Nightly Process

  • If
    app config PANightlyProcess. CloseNonWebBatches = true, closes
    eligible non-web batches and updates batch log ‘Close from
    Nightly Process’

  • If
    app config PANightlyProcess. CloseWebBatches = true, closes
    eligible web batches and updates batch log ‘Close from
    Nightly Process’

  • If
    app config PAAccounting. RunNightlyGLRefresh = true, run the
    ‘Refresh from Accounting System’ utility

  • Updates
    Chapter Officer status

  • Updates
    Committee Member status

  • Updates
    invoice detail for ACH Check payment Settlement ID/Settlement
    Error

1

Day

11:00 pm

Nightly Capture Process

  • If
    app config PANightlyProcess.RunDelayCapture = true, runs
    Delayed Capture on closed batches

1

Day

11:30 pm

Renewal Billing Nightly
Process

  • Updates
    the cycle state of membership, chapter, and subscription
    renewal billing records

1

Day

11:15 pm

Professional Development
Nightly Process

  • Creates/updates
    Track Header Status, Track Detail Status and Award Renewal
    Status based on Education Activity records

30

minimum

Minute

 

 

Manually Running a UX Recurring System Job in UX 365

Show Me

At times, users may want to manually run a recurring UX System Job
rather than waiting for the scheduled time. To trigger a UX System
Job manually in UX 365, you will need to create a new UX System Job
record. This is different from in previous versions of UX Online,
where deleting a UX System Job record would manually trigger a
recurring UX System Job to run.

 

From the list of UX
System Jobs, select the New button from the view’s toolbar
to open a new UX System Job record. In the ‘Job Type’ dropdown
field, select the “manual” option for the system job that you
want to run. For example, to run the Nightly Process, select the
“Manual Nightly Trigger” option. Save and Close.

 

 

The following table is
a cross-reference of the Job Type that should be selected in order
to run each recurring UX System Job manually.

 

Job Name

Job Type for UX generated UX System Job records

Job Type for manually created UX System Job records

Engagement Nightly Process

Engagement
Nightly Process

[not available]

MX Nightly Process

MX Nightly Process

[not available]

Nightly Process

Nightly Process (Daily Job)

Manual Nightly Trigger

Nightly Capture Process

Nightly Capture Process

[not available]

Renewal Billing Nightly
Process

Renewal Billing Nightly
Process

Manual Renewal Nightly
Trigger

Professional Development Job

Professional Development Job

Manual Professional
Development Trigger

 

 

 

UX 365 Schema Changes

1
Continue to use Transaction Number Control for Capture ID and Menu
ID.

Leave a Reply

Your email address will not be published. Required fields are marked *