Saturday, 24 March 2018

Issue while Installing Adxstudio Portal 7.0.0026 in Dynamics 365

If someone tries to install AdxStudio Portal Latest Version in their Dynamics 365 instance, they might face the following issue while installing Portals in CRM:

[entity] List - The evaluation of the current component(name=Entity, id=efd3a52d-04ca-4d36-a54c-2a26a64f5571) in the current operation (Update) failed during managed property evaluation of condition: The evaluation of the current component(name=Entity, id=efd3a52d-04ca-4d36-a54c-2a26a64f5571) in the current operation (Update) failed during managed property evaluation of condition: Managed Property Name: canmodifymobileclientreadonly; Component Name: Entity; Attribute Name: canmodifymobileclientreadonly;














Root Cause:

you are not allowed to update the Marketing List canmodifymobileclientreadonly attribute due to it is being restricted in AdxstudioPortalDependencies Solution.

Resolution:

  • Go to Adxstudio Portal Installed Location. Let say: I have installed it in C:\Program Files (x86).
  • Navigate to C:\Program Files (x86)\Adxstudio\XrmPortals\7.0.0026\Customizations\Components.
  • Extract the AdxstudioPortalsDependencies.zip solution to some other location.
  • Now open the Customization.xml file.
  • Modified following values from 0 to 1 under Marketing List Entity.

<IsVisibleInMobile>1</IsVisibleInMobile>

<IsVisibleInMobileClient>1</IsVisibleInMobileClient>

<IsReadOnlyInMobileClient>1</IsReadOnlyInMobileClient>




















  • Select all the folder and Zip it again to create the updated AdxstudioPortalsDependencies solution.













  • Import the solution in Dynamics 365.


















Now you are good to go in order to install the Portal (Basic, Community, Customer etc).



Cheers 😎

Thursday, 22 March 2018

Display Dynamics 365 Plugin Errors on Portal

The scenario that often occurs while developing a portal is an error generated by custom plug-ins and business logic written in your Dynamics 365 organization. These errors can generally be accessed by disabling custom errors or enabling diagnostic logging. However, in some cases, it is faster to display these errors directly on the portal to diagnose the issue faster. To do this, you can configure your portal to display custom plugin errors from Dynamics 365 on your portal screen.

To display custom plugin errors, create the site setting:

Site/EnableCustomPluginError and set its value to True. The custom plugin errors will be displayed on the screen instead of a generic error. The error will display only the message part of the plugin error and not the complete stack trace.



Following are the screens where custom plugin errors will appear: 

•Entity list 
◦Retrieval of records

•Entity form 
◦Retrieve
◦Create/Update and so on

•Web forms 
◦Retrieve
◦Create/Update and so on


If the site setting is not present, then it will be treated as false by default and plugin errors will not render.

Refererence:

Saturday, 10 March 2018

Change the Portal after Installing different Portal in Dynamics 365 Instance









Hello Everyone,

Recently I got into one situation where I had to Uninstall the Customer Service Portal and had to Install Custom Portal. You may also have the requirement to change the Portal Template after installing it in CRM,

If you want to Reset or UnInstall the Portal from your CRM Instance, Delete the solution in below order: I have checked this order for Community and Customer Portal only. For other portals, it may differ in order. I would appreciate if you check at your end and update in case of any discrepancy.

To uninstall we need to follow the steps in reverse order.

1. Undo all portal customizations.
  • Remove the portal related components from your solution
  • Remove the portal forms and views from the Custom App/ Sitemap that you created.
  • Remove all portal related customizations performed – remove portal related fields on your forms/ plugins/ JS/ Workflows/ actions etc.
2. Uninstall specific solutions.

3. Uninstall core solutions.

For example, for a community portal, uninstall below solutions first (hopefully, I got the order right).
  • MicrosoftIdeasWorkflows
  • MicrosoftIdeas
  • Microsoft forums
  • Microsoft blogs
  • Feedback
  • KnowledgeManagement
  • CustomerService
  • CommunityPortal

Then uninstall the core solutions in this order.
  • MicrosoftWebForms
  • WebNotification
  • MicrosoftIdentity
  • MicrosoftIdentityWorkflows
  • MicrosoftIdentitySystemWorkflows
  • MicrosoftCrmPortalBaseWorkflows
  • MicrosoftCrmPortalBaseSystemWorkflows
  • MicrosoftCrmPortalBase
  • MicrosoftCrmPortalDependencies


You may take help of below article in order to uninstall your Portal Instance.


If you face any issue while uninstallation. Check below article:


You may also reset your CRM Instance in order to reset/uninstall your portal. But it will clean up your whole CRM customization and data as well. Depend upon your situation you can go ahead with any of the approaches.

To Reset your CRM Instance check below:


or


Now come to what actually we are going to achieve:

Suppose you have installed the Customer Portal in your CRM Instance. Now you are planning to change it to another portal template (Let Say: Custom Portal) in order to mitigate some requirements or client needs.

Here are the steps to do the same:
  • Uninstall the old CRM Portal (Let say: Customer Self-Service Portal)
  • Install the New Portal in your CRM Instance (Let say: Custom Portal). Can check here for installation steps. Don't configure it.
  • You will not be able to configure or change your portal URL as it had already been configured for the old portal template. You just need to point it to the newly installed portal.
  • Click on Manage Dynamic 365 Instance from Left Navigation
  • Select Admin Account under Select Portal Administrator
  • Select Portal Audience to Customer
  • Select Portal to be deployed to Custom Portal
  • and Submit.




















Cheers.

Tuesday, 6 March 2018

CRM Portal - View the Entity List Records in New Tab

By default, when you click on Entity List record, it opens that record in the same tab where the Entity List record was opened. But sometimes it might require that you want to see the details of record in other tab instead of opening it in a similar tab.

Use below code under Custom JavaScript to achieve the same:

$(document).ready(function(){

    $("[data-entity=incident]").children().children().attr('target', '_blank');


});


Output:





Sorting of Notes based on Created On in CRM Portal

As we all know that, by default portal always shows Notes in Ascending order.But ideally this should not happen and Latest Notes should get displayed at top.

List Orders - Allows you to set the order in which notes will be displayed.

(Reference: https://community.adxstudio.com/products/adxstudio-portals/documentation/configuration-guide/entity-form/notes-configuration-for-entity-forms/)

Default Behavior:












Create an Entity Form Metadata for Notes and set List Order for Created On coulmn to Descending:








Attribute - the logical name of the column by which you wish to sortAlias - the alias for the attribute in the queryDirection - Choose Ascending (smallest to largest, or first to last), or Descending (largest to smallest, or last to first).

To add a sorting rule, click " + Column" (4) and fill in the details. List Orders will be processed in order from the top of the list having highest priority.

Output:






















Show exact Date and Time in CRM Portal Notes and Timeline

It has been observed that Portal does not show exact date and time while adding/display Notes and Timeline.

Sometimes it is not clear what exactly was the date/time when the notes/activites were added.

Out Of Box Behavior of Notes Date and Time:












Out Of Box Behavior of Activities Date and Time Added on Timeline:













JavaScript Code to show exact date and time:

For Notes:

$('body').mouseover(function () {

        $("abbr").each(function () {

            var data = $(this).attr("title");

            $(this).html(data);

        });

    });



For Timeline:

$('body').mouseover(function () {

        $("div").each(function () {

            var data = $(this).attr("title");

            $(this).html(data);

        });


    });


Blogger Widgets