Updating to 2019-R1:


Important Before Updating

It is recommended you test 2019-R1 in a sandbox before you upgrade in your environment.

Important Before Updating

  • Before you upgrade, check Deploy Metadata from Non-Certified Package Version via Apex in Apex Settings.
  • Before you upgrade, be sure to delete the tab named, Catalog (OrderApi__Catalog__c).

Publish Financial Document and Order View Pages

After installing the update to 2019-R1, you will need to create the Financial Document and Order View pages in the Community Builder. These pages are crucial to enabling the Order Summary feature. Directions for creating these pages are on the Build Financial Document PDF Pages page and the Build Order View Page page.

Note

A new Encrypted ID field will be added to the Credit Note, Order Summary, Receipt, Sales Order, and Invoice objects as of the 19-R1 1.0.1 Patch Release. This field provides encryption ID links that can be applied to emails and other outgoing links so the Financial Documents and Order View pages can be accessed.


Run FLS

After publishing the Financial Document and Order View pages, we recommend you run FLS. Directions for running FLS are on the Run FLS page.

Important

Make sure you enable Object Permissions, Class and Page Access, and Field Permissions as detailed in Step 5 on the Run FLS page. The Financial Document and Order View pages will not be accessible otherwise.

Make Sure Your Community Site is Set as Default

It is also important you ensure your Community Site is set as your Default Site. To check on your Default Site, follow the directions on the Community Site Settings page. Set your Default Site to the Community Site you plan to work from.


Important After Updating

  • Run Access Manager to enable access to new Objects.
  • Please ensure you also run Access Manager for Guest User Profiles.
  • Please update your page layouts with the following buttons/actions and fields as recommended below.
  • Please run the installation scripts for all registered apps.

Schema Updates:

The following fields were added in 2019-R1. Please assign the 2019-R1 page layout to the appropriate profiles when updating to 2019-R1. Alternatively, if you have custom configurations on your page layouts, please add the new fields below manually.

Click here to expand...

New Objects:

New ObjectNew Fields

Credit Note

(OrderApi__Credit_Note__c)

Account

(OrderApi__Account__c  Lookup(Account))


Billing City

(OrderApi__Billing_City__c)


Billing Country

(OrderApi__Billing_Country__c)


Billing Postal Code

(OrderApi__Billing_Postal_Code__c)


Billing State

(OrderApi__Billing_State__c)


Billing Street

(OrderApi__Billing_Street__c)


Contact

(OrderApi__Contact__c  Lookup(Contact))


Customer

(OrderApi__Customer__c)


Date

(OrderApi__Date__c)


Entity

(OrderApi__Entity__c)


Invoice

(OrderApi__Invoice__c  Lookup(Invoice))


Is Posted

(OrderApi__Is_Posted__c)


Memo

(OrderApi__Memo__c)


Posted Date

(OrderApi__Posted_Date__c)


Total

(OrderApi__Total__c)

New ObjectNew Fields

Order Summary

(OrderApi__Order_Summary__c)

Account

(OrderApi__Account__c  Lookup(Account))


Contact

(OrderApi__Contact__c  Lookup(Contact))


Customer

(OrderApi__Customer_Link__c)


Date

(OrderApi__Date__c)


Entity

(OrderApi__Entity__c)


Filter Criteria

(OrderApi__Filter_Criteria__c)


Memo

(OrderApi__Memo__c)


Order Summary URL

(OrderApi__Order_Summary_URL__c)


Show Outstanding Credits

(OrderApi__Show_Outstanding_Credits__c)

New Fields:

ObjectNew Fields

Attendee

(EventApi__Attendee__c)

New Label, Assigned Guest Ticket Type

(EventApi__Assigned_Guest_Ticket_Type__c Lookup(Ticket Type))


New Label, Invitation Source

(EventApi__Invitation_Source__c)

ObjectNew Fields

Community Site

(LTE__Site__c)

Disable Next Upcoming Order Quick Pay

(LTE__Disable_Next_Upcoming_Order_Quick_Pay__c)


Disable Open Orders Quick Pay

(LTE__Disbale_Open_Orders_Quick_Pay__c)


Disable Past Due Quick Pay

(LTE__Disable_Past _Due_Quick_Pay__c)


My Company Info Instructions

(LTE__My_Company_Info_Instructions__c)


Profile Account Fieldset(s) CSV

(LTE__Profile_Account_Fieldset_CSV__c)

ObjectNew Fields

ePayment Line

(OrderApi__EPayment_Line__c)

Invoice Line

(OrderApi__Invoice_Line__c  Lookup(Invoice Line))


Sales Order Line

(OrderApi__Sales_Order_Line__c  Lookup(Sales Order Line))

ObjectNew Fields

Event

(EventApi__Event__c)

Attendee Modal Instructions

(EventApi__Attendee_Modal_Instructions__c)


Event Capacity Remaining

(EventApi__Event_Capacity_Remaining__c)


Free Event

(EventApi__Free_Event__c)


Register Now/Accept Override URL

(EventApi__Register_Now_Accept_Override_URL__c)


Total Event Capacity

(EventApi__Total_Event_Capacity__c)


When and Where Summary

(EventApi__When_and_Where_Summary__c)

ObjectLabel Change

Event

(EventApi__Event__c)

Invitation Only label is now Private Event

(EventApi__Invitation_Only__c)

ObjectNew Fields

Invoice

(OrderApi__Invoice__c)

Credit Notes/Adjustments

(OrderApi__Credits_and_Adjustments__c)

ObjectNew Fields

Invoice Line

(OrderApi__Invoice_Line__c)

Credit Note

(OrderApi__Credit_Note__c  Lookup(Credit Note))


Sales Order Line

(OrderApi__Sales_Order_Line__c  Lookup(Sales Order Line))

ObjectNew Fields

Known Address

(OrderApi__Known_Address__c)

Type

(OrderApi__Type__c)

ObjectNew Fields

Receipts

(OrderApi__Receipt__c)

Account

(OrderApi__Account__c  Lookup(Account))


Billing City

(OrderApi__Billing_City__c)


Billing Country

(OrderApi__Billing_Country__c)


Billing Postal Code

(OrderApi__Billing_Postal_Code__c)


Billing State

(OrderApi__Billing_State__c)


Billing Street

(OrderApi__Billing_Street__c)


Contact

(OrderApi__Contact__c  Lookup(Contact))

ObjectNew Fields

Receipt Line

(OrderApi__Receipt_Line__c)

EPayment Line

(OrderApi__EPayment_Line__c  Lookup (EPayment Line))


Invoice Line

(OrderApi__Invoice_Line__c  Lookup(Invoice Line))


Sales Order Line

(OrderApi__Sales_Order_Line__c  Lookup(Sales Order Line))

ObjectNew Fields

Sales Order

(OrderApi__Sales_Order__c)

Due Date

(OrderApi__Due_Date__c)


Is Proforma

(OrderApi__Is_Proforma__c)

ObjectNew Fields

Store

(OrderApi__Store__c)

Additional Contact Match Email(s)

(OrderApi__Additional_Contact_Match_Emails__c)


Invoice Payment Option Fieldset

(OrderApi__Invoice_Payment_Option_Fieldset__c)


Proforma Payment Option Fieldset

(OrderApi__Proforma_Payment_Option_Fieldset__c)

ObjectNew Fields

Transaction Line

(OrderApi__Transaction_Line__c)

EPayment Line

(OrderApi__EPayment_Line__c  Lookup (EPayment Line))


Invoice Line

(OrderApi__Invoice_Line__c  Lookup(Invoice Line))


Receipt Line

(OrderApi__Receipt_Line__c  Lookup(Receipt Line))


Sales Order Line

(OrderApi__Sales_Order_Line__c  Lookup(Sales Order Line))

Deprecated Fields:

ObjectDeprecated Fields

Attendee

(EventApi__Attendee__c)

Invitation Status

(EventApi__Invitation_Status__c)

Invoice

(OrderApi__Invoice__c)

Adjustments

(OrderApi__Adjustments__c)

Invoice Line

(OrderApi__Invoice_Line__c)

Is Child Line

(OrderApi__Is_Child_Line__c)

New Buttons:

You will need to add the View Document button in Classic or the View Document action in Lightning Experience for the following objects:

  • Order Summary
  • Sales Order
  • Invoice
  • Credit Note
  • Receipt

To add the button/action to any of the above objects:

  1. Navigate to the desired object’s page layout.
  2. In Classic, locate Buttons in the Page Layout Editor. In Lightning Experience, locate Mobile and Lightning Actions.
  3. Drag View Document to the Page Layout.
  4. [Click] Save.

Repeat this for all the Page Layouts for Order Summary, Sales Order, Invoice, Credit Note, and the Receipt objects.


Order Summary Builder:

You will need to add the Order Summary Builder button in Classic or the Order Summary Builder action in Lightning Experience for the following objects:

  • Accounts
  • Contacts

To add the button/action to the above objects:

  1. Navigate to the desired object’s page layout.
  2. In Classic, locate Buttons in the Page Layout Editor. In Lightning Experience, locate Mobile and Lightning Actions.
  3. Drag Order Summary Builder to the Page Layout.
  4. [Click] Save.

Deprecated and Upcoming Features:

  • Batchable Rollups are set to be deprecated as of the 2019-R2 release.
  • The Known Address Critical Update will be automatically enabled as of the 2019-R2 release.
  • The Connection, Connection Type, and Connection Type Mapping objects are deprecated as of 2019-R1 due to these objects falling out of use and no longer being necessary.

Line Item Receivables Force Critical Update:

The Line Item Receivables (LIR) Critical Update has been made permanent across Fonteva. It will be enabled automatically upon updating to 19-R1. The LIR Critical Update will no longer be listed under the Charge App since it is now a permanent part of the product.

Technical Enhancements:

Public examples of these new technical enhancements are available with code on the FDService Examples page. A link to this page is available from the Developer Documentation.

Payment Engine Enhancements:

Customers that would like to connect with alternative payment methods outside of those provided by Fonteva can now do so thanks to enhancements made to the Payment Engine. Third-party vendors and system integrators can now connect with Fonteva's payment methods using gateways and payment service providers that may be outside Fonteva's sphere of support. This gives customers more control over the Fonteva platform and more flexibility with Fonteva's services. Benefits include:

  • Use of any payment service implemented with the Fonteva platform.
  • Use of payment gateways not currently supported by Spreedly.
  • Purchase, Verify, Authorize, Capture, Credit methods are exposed as a global method and open to API to allow customers to call these methods via REST API.
  • Users can override individual methods like Execute, Start, and Finish.

Price Rule and Tax Service Enhancements:

These enhancements are part of a larger effort to move Fonteva logic out of triggers. This benefits users by reducing load times and cutting the amount of queries created when custom logic is added to the Sales Order Line. In turn, administrators will be less likely to run into Salesforce's governor limits when using customizations and configurations on the Sales Order and Sales Order Line. Other benefits include

  • Reduced usage of governor limits.
  • Exposed global methods to customers to call individual methods for Price and Tax calculations. This is also available via REST API and is overridable. Please see the FDService Examples page for more information.
  • Customers can calculate correct prices for one or more multiple items with a fixed governor usage.

You can expect to see more enhancements like these in future releases as we migrate our logic to a service layer.

FDService Versioning:

As of 19-R1, you can tie your custom code to a particular release of the Fonteva product. This prevents your custom code from breaking upon upgrading. Please see the FDService Examples page for more information.

Other Technical Enhancements:

  • Custom Labels: A number of hard coded texts have been replaced with a Custom Label so customers can translate and update them.
  • Error Message Enhancements: Product architecture is updated to catch technical errors and display user friendly messages. As we migrate to this new system, end users will see non-technical messages and log identifiers that can be provided to support faster issue resolution.
  • ID Encryption for Salesforce Community: ID encryption has been added to reduce the risk of inadvertent data exposure.
  • Restrict Known Address for Guest Users: Access has been removed from Known Addresses for Guest Checkout users. This fulfills a GDPR requirement.
  • Shipping Service: This defines the effort of moving the shipping logic into the services layer. This is part of the larger effort in migrating Fonteva's logic from triggers to the service layer.
  • Override Scheduled Class: Users can override the "Charge Batchable" scheduled class.
  • Governor Usage Reduced: Customer's overall governor usage of Salesforce is reduced.

Critical Bugs Resolved in 2019-R1:

SummaryComponents
Users received a system error when they attempted to create Schedule Items that started in the same hour as the Event End Time. Users can now successfully create Schedule Items in the same hour as the Event End Time.Assemble, Events
When users right-clicked to paste an email into the Guest Event Registration modal, the Register button would no longer be selectable. When an email address is pasted into a field, the registering user can now successfully proceed.Assemble, Events
When there were multiple Community Sites, the Event button on a customer receipt for an event registration would not lead to the correct URL. Buttons are no longer displayed on receipts.Assemble, Events
Adding a new mandate on the Community Site resulted in a 404 error. New mandates can now be successfully added.Direct Debits
After uploading a banner image, users would receive an error after trying to save and exit the Directory. Users can now successfully upload and save a banner image to the Directory and exit afterwards.Directories
The Directory would fail to save if there was no child was populated under the Search, Filter, & Sort. The Directory will now save regardless of whether a child was populated.Directories
In the Lightning Bolt Community, the Directory search bar disappeared while scrolling. The search bar will now remain visible while scrolling.Directories
Badges on Accounts without Badge Flow-down enabled would still provide access to Directories for related Contacts without the required Badge. Now, Contacts without the correct Badge will successfully be denied access to the Directory.Directories
When over 100 Package Items were present, the Package Item page timed out. Over 50 Package Items can now be successfully added without timeout issues.Charge, eBusiness
Configurations on the Item Class like Require Shipping did not successfully pass down to Items created with the Item Class. Newly created Items in the Item Class will successfully follow the configuration designated in the Item Class.Charge, eBusiness
When users added a waitlisted ticket to the shopping cart, the Contact's name and email address would not successfully prepopulate. The user's information will now pre-populate successfully into the Attendee Information Modal for the waitlisted ticket.Assemble, Events
When users modified an order or added new tickets to the same order, the guest name would change. The guest name will now remain the same on the ticket when the user modifies the order or adds new tickets to the order.Assemble, Events
When Search All Contacts and Contact Search are enabled, existing Contacts still would not show up in the system when the user attempted to add a guest to a ticket. Contacts will now successfully generate as long as they exist.Assemble, Events
Event stats changes did not reflect properly on mobile. They are now successfully applied in mobile as they are on the desktop.Assemble, Events
The Agenda Speaker's link did not display the correct start time on the Schedule Item as compared to the Agenda Scheduled Start Time. The Agenda Speaker's link now displays the correct start time.Assemble, Events
When cloning an existing event with Sponsor Packages, the new version created the Sponsor Class (Item Class), but the Sponsor Packages (Items) were stored under the original existing event. The Sponsor Packages will now be stored under the cloned event.Assemble, Events
The Agenda page would incorrectly be skipped for secondary attendees if the first attendee to register for an event had a Ticket Type with no available Sessions. The Agenda page will not be skipped if attendees are registering with Ticket Types with available Sessions.Assemble, Events
When the Register Now or Login page was refreshed, the page did not render successfully. The Register Now or Login page will now render successfully when refreshed.Assemble, Events
Events with the same name but different Start Dates would not display in ascending order. They will now correctly display in ascending order.Assemble, Events
Registrants were able to engage with the waitlist function despite it not being configured for the event. Registrants will only be able to create waitlists records if waitlisting is configured for the event in question.Assemble, Events
When registration for an event was transferred to another Contact, the email fields would not populate. All Contact information will transfer successfully when transferring event registration.Assemble, Events
When adding a Badge to a Ticket Type int he Event Builder, an error would result if the Ticket Type name and the Badge Type name were more than 80 characters when concatenated. Badges will now successfully get added to Ticket Types without errors.Assemble, Events
When an event's name was long, it blocked the Shopping Cart icon, preventing users from the option to input source code. The Shopping cart will now display no matter how long the event name is.Assemble, Events
When State and Country Picklists were enabled, the Venue tab would not successfully save the venue address when entered manually. The venue address will now save successfully when State and Country Picklists are enabled and the address is entered manually.Assemble, Events
When the Partner community did not have a site prefix, the Framework__RichTextEditorFrame in the Event Builder would not load, and the user would receive an error. The rich text fields will now load successfully.Assemble, Events
The iCalendar and Outlook Add to Calendar buttons would fail in Chrome and sometimes Firefox. The Add to Calendar buttons will now perform successfully in Chrome and Firefox.Assemble, Events
When Middle Names for Person Names was enabled for Forms, users would receive an error and data bindings would fail to populate when they added their middle name to a form attached to a Ticket Type. Enabling Middle Names will no longer result in errors and failed data binding.Assemble, Events
Unexpected behavior would occur when skip logic was applied to forms attached to Ticket Types, resulting in missing Tool Tip text and fields. Forms with skip logic attached to Ticket Types will no longer display abnormal behavior.Assemble, Events
When a form had two picklist fields with two levels of skip logic, they displayed incorrect child fields and values. Forms with two picklist fields with two levels of skip logic will display the correct child fields and values.Assemble, Events
Text area fields with two or more lines did not correctly render in data binding forms. Text area fields with two or more lines will now render correctly in data binding forms.Assemble, Events
When the eCheck payment method was removed from the Store, it still showed up on the Join Process Payment Page. The Join Process Payment Page will only provide payment methods included in the Store.Join Processes
The Auto Renew option displayed in Join Process despite the Auto Renew option not being enabled on the Subscription. The Auto Renew option will only display if it has been enabled on the Subscription.Join Processes
Forms with a required multi-select picklist field in Join Process allowed users to submit the form without filling out the required field. Users will receive an error if they attempt to submit a form without filling out the required multi-select picklist field.Join Processes
Users were able to submit forms without filling out a required picklist field in Join Process. Users will not be able to move on to the next step in Join Process without filling out all required picklist fields.Join Processes
When the Known Address critical update was disabled, the eStore checkout page displayed theme errors. The eStore checkout page will display the correct theme when the Known Address critical update is disabled.Engage, Communities
In the CPBase Community, the Known Address modal displayed incorrectly when the browser zoom was set anywhere between 25 and 125%. The Known Address modal formatting will display correctly at 100%.Charge, eBusiness
Currency field values would not display value on the Profile page. The currency field label and values are now visible.Engage, Communities
When there was a receipt unrelated to any contact of the Account in the system, any logged in user could view the receipt in the Payment Tab. Bad receipts in the system will no longer show up in the Payment Tab.Engage, Communities
Cookies for Sales Orders would not clear when a second user logged in, enabling them to see the contents of the previous user's shopping cart. Cookies will successfully clear when the user logs out.Engage, Communities
Badges displayed incorrectly on the Badges page on the Lightning Bolt Community. All active Badges will display correctly on the Badges page under the Profile.Engage, Communities
When the purchasing entity for a Subscription was an Account, the Subscription would not show up on the Subscription page under the Profile. The Subscription will now show up on the Subscription page under the Profile.Engage, Communities
Prices would get updated retrospectively on the Sales Order Line despite being closed and posted due to a second Price Rule that uses a Badge Workflow used when the item was purchased. The system will not recalculate the price of the Sales Order Line based on Badges.Charge, eBusiness
Receipts did not match the date of payment collection for Scheduled Payments. Receipt and Transaction dates will now match the Scheduled Payment's payment processing date.Charge, eBusiness
The Price Rule limit was not honored in Rapid Order Entry despite being honored in Event Registration on the frontend. Rapid Order Entry will honor Price Rule limits.Rapid Order Entry
The waitlist feature was not triggered on a Rapid Order Entry Sales Order, causing an oversell. Waitlisting will be successfully triggered and the user will receive a notification when they attempt to purchase a sold out ticket through ROE.Rapid Order Entry
Rollup summaries would not filter distinct values. Rollup summaries will successfully filter distinct values.Spark Framework
When an interval form was added on a Subscription, it generated an error and prevented purchase of the Subscription. Users can successfully purchase a Subscription with an interval form attached.Charge, eBusiness
Subscriptions did not honor restrictions on the maximum number of assignments. Users will only be able to assign up to the maximum number of assignments allowed on the Subscription.Engage, Communities