Release Notes - Version ​4.0

New Features

  • TPC Form Widgets for MVC

    A new Forms widget set for The Portal Connector based on MVC and utilizes the new Sitefinity Feather framework:
     
    TPC MVC Yes/No
    TPC MVC File Upload
    TPC MVC Date Time
    TPC MVC Form Manager
    TPC MVC Form Configuration
    TPC MVC Image
    TPC MVC Lookup
    TPC MVC Notes
    TPC MVC Picklist
    TPC MVC Query String
    TPC MVC Rating
    TPC MVC SharePoint Grid
    TPC MVC Signature
    TPC MVC Static Value
    TPC MVC Status
    TPC MVC Text Field
    TPC MVC Validator
    TPC MVC Workflow
    all-widgets
  • TPC MVC Subgrid

    A new and improved Subgrid widget that utilises Sitefinity feather. The new Subgrid widget also supports more relationships than the old widget, as well as support for just binding a grid of unrelated records. Virtualization support has also been added, the Subgrid will now only query the records it needs to show the current page. The user interface has also been improved and is more user friendly for less technical configurators.
    Subgrid
  • TPC MVC Barcode

    A new Barcode widget that utilises Sitefinity feather and allows you to generate bar-codes based on Dynamics CRM data of all types.
    barcode
  • TPC MVC QR Code

    A new QR Code widget that utilises Sitefinity feather and allows you to generate QR codes based on any type of Dynamics CRM data.
    qrcode

Feature Enhancements

  • Column Editor Encrypted Guids

    Added extra format parameter to the column editor to allow for the use of encrypted guids in format strings.
  • CRM Cache Invalidation

    Updated the Portal Connector solution to allow Dynamics CRM to invalidate the Sitefinity page cache when entities change in CRM.
  • Naming of Payments and Orders

    Added the ability to customise the prefix of Payments and Orders created through the TPC Ecommerce system
  • EventHub Form Submission Events

    Added additional APIs to allow developers to hook into Pre and Post TPC CRM form submission events using the EventHub

Bug Fixes

  • Fixed issue where saved queries could not be imported to the same system twice using the Accelerators.
  • Fixed cache invalidation issue where data would not be cached properly per user.
  • Fixed the template accelerator importing templates with duplicate control ids.
  • Added option to completely disable Portal Connector ecommerce integration
  • Fixed issue affecting specific relationships selected in the Form Configuration not submitting properly or not relating the records correctly.
  • Fixed performance issue affecting the sub-grid when trying to retrieve the selected entities primary ID attribute.
  • Fixed issue where TPC web services would unregister themselves after an app-pool recycle.
  • Fixed the forms accelerator importing forms with duplicate control ids.
  • Fixed the pages accelerator importing pages with duplicate control ids.
  • Fixed issue with the CRM Image widget where the images would not upload properly in certain Sitefinity configurations
  • Added an additional timeout to the Dynamics CRM connection to prevent pages hanging to wait on the connection.
  • Exposed missing advanced properties on the Sub-grid, add-edit grid and the grid-view widgets to allow changing of edit and delete column widths
  • Fixed bug where the user creator widget would not work correctly if a user was already assigned to a different portal in Dynamics CRM.
  • Fixed issue where the form manager would not redirect with all query string parameters for all entities submitted during a form submission
  • Fixed issue not being able to query workflows on some CRM 2011 instances.

Known Issues

  • Non-MVC Template Form Rendering Issue

    Templates with no defined MVC sections (top,bottom,head) will cause most Portal Connector MVC widgets to break and not work.

    Actions Required:
    Select a proper template for the page that you are using Portal Connector MVC widgets on. This template must have all of the correct Sitefinity MVC sections defined: top, bottom and head.
  • Issue with designer drag and drop functionality on Chrome 55

    Trying to drag a widget on the page is not possible on the first attempt. An error is logged in the browser's developer console. Attempting to drag the widget for a second time succeeds but the widget is no longer available in the Toolbox to the right. Widgets disappearing after first use on page in Chrome.

    Actions Required:
    More information on this Sitefinity bug can be found here:
    http://knowledgebase.progress.com/articles/Article/issue-with-drag-and-drop-functionality-in-chrome-55
    Resolution

    Update your Sitefinity version:

    The issue is resolved in Sitefinity 8.2 Hotfix1 (8.2.5920)
    The issue is resolved in Sitefinity 9.0 Hotfix2 (9.0.6020)
    The issue is resolved in Sitefinity 9.1 Hotfix2 (9.1.6130)
    The issue is resolved in Sitefinity 9.2 Hotfix2 (9.2.6220)

    The issue is resolved in Sitefinity Internal Build v.8.2.5921.0
    The issue is resolved in Sitefinity Internal Build v.9.0.6021.0
    The issue is resolved in Sitefinity Internal Build v.9.1.6131.0
    The issue is resolved in Sitefinity Internal Build v.9.2.6221.0

    Workaround
    • Do not update the Google Chrome browser to version 55
    • Use a different browser

​Breaking Changes

  • Saved Queries Schema Change

    The return value of all saved queries post 3.3.x.164 have been changed and code that utilize the return value from these queries will no longer work.

    Actions Required:

    This breaking change is due to a schema modification for the results of the Saved Query, this will not effect how you execute Saved Queries, all URLs will remain the same. The only difference would be if you want to do paging. 

    Below is a visual example of the schema change:


    As you can see, we are returning more information from the service in order to provide the ability for paging with paging cookies. To access the “data” from the fetch in the new version, you simply have to get the “data” property returned from the web service. It will contain all the same data in the same format that you are familiar with.

    To use paging cookies, you must store the paging cookie of the previous request in your JavaScript logic. When you execute the next request, you will need to append the paging cookie exactly as it is when returned from the web service to the query string.

    For example:

    A first call request would look something like this:

    http://localhost:62082/SavedQueryService/Execute/GetContacts/1/10

     Which would return the following data:



    A subsequent request would look something like this, notice the page changing as well as an additional query string parameter for the pagingCookie.

    http://localhost:62082/SavedQueryService/Execute/GetContacts/2/10?pagingCookie={%22page%22:1,%22cookies%22:[{%22name%22:%22contactid%22,%22first%22:%22465b158c-541c-e511-80d3-3863bb347ba8%22,%22last%22:%22c21ebe5d-a2c7-e611-80fd-480fcfeb3861%22}]}

    Which would return the following data:



    This allows you to page through theoretically infinite amount of pages using Dynamics CRM Online.