Advertisements

Archive

Archive for the ‘Dynamics Portals’ Category

ADX/Dynamics Portals – Date field custom validation using JScript

April 6, 2019 1 comment

Other day, In one of our Portal Web Form step, we got a requirement to validate ‘Date Of Birth’ where the value should not be  the future date.

We can achieve this by adding a custom validator using JScript and register in your ‘Web Form Step’.

Below is the JScript code snippet which you need to paste in your Web Form Step’s ‘Custom JavaScript’ control.

DOB_Validator_1

Note:

  • In below script replace the ‘new_dateofbirth’ with your field’s schema name.
  • ‘new_dateofbirth_label‘ is the label of the DOB field on your Web Form Step.

$(document).ready(function () {
try{
if (typeof (Page_Validators) == ‘undefined’) return;
// Create new DOB validator
var dobValidator = document.createElement(‘span’);
dobValidator.style.display = “none”;
dobValidator.id = “dobValidator”;
dobValidator.controltovalidate = “new_dateofbirth”;
dobValidator.errormessage = “<a href=’#new_dateofbirth_label’>Date of birth should be in past.</a>”;
dobValidator.validationGroup = “”;
dobValidator.initialvalue = “”;
dobValidator.evaluationfunction = function () {
var dobValue = $(“#new_dateofbirth”).val();
var dob=new Date(dobValue);
var today = new Date();
if (dob > today) {
return false;
}
return true;
};
// Add the dobValidator to Web Page’s validators array
Page_Validators.push(dobValidator);
// Attach event handler of the validation summary link
$(“a[href=’#new_dateofbirth_label’]”).on(“click”, function () {  scrollToAndFocus(‘new_dateofbirth_label’,’new_dateofbirth’);

});
}
catch(e)
{
alert(“Error during DOB validation  – “+e.description);
}
});

  • Save the Web Form Step and test in portal.
  • If you try to save DOB with future date. It shows warning in the banner as below:

DOB_Validator_2

  • Click on the message and it will take you to the DOB control.

Refer my other article to get familiar with Portal syntax’s.

🙂

 

 

Advertisements

Dynamics Portals – Display Plug-in error messages

You would have got “An unknown failure has occurred…” many times in your portal when there was exception thrown by your Dynamics CE plug-in code.

Now in Dynamics Portals, we can show the plug-in error in following portal screens by adding “Site/EnableCustomPluginError” entry in Dynamics CE Portals -> Site Settings

  • Entity list
    • Retrieval of records
  • Entity form
    • Retrieve
    • Create/Update and so on
  • Web forms
    • Retrieve
    • Create/Update and so on

Lets see the approach and steps.

  • I have created and registered a plug-in with logic to intentionally throw an exception on ‘Case’ Create.

Portal_Plugin_Error_4

  • Go to your Portal and try to create a Case and you would get below generic exception “An unknown failure…”

Portal_Plugin_Error_1

  • Now open your Dynamics CE application, navigate to Portals -> Site Settings and create a new Site Setting with Name “Site/EnableCustomPluginError” and Value true.

Portal_Plugin_Error_2

  • Go back to your Portal and try to create a Case and you would get actual Plug-in error.

Portal_Plugin_Error_3

🙂

Dynamics Portals – Entity List – Integration using OData feed

February 17, 2019 Leave a comment

With Dynamics Portal’s Entity list ‘OData Feed’ option, we can expose the data in the form OData API, which can be further consumed by external applications.

Lets take a scenario,

  • You have a public facing Dynamics Portal where people gets registered, which get stored as ‘Contacts’ in Dynamics CE instance.
  • You need to share all the ‘Active Contacts’ to your back end team which uses an Excel sheet to manage data.

It can be achieved by enabling OData feed on Entity List by following below steps:

  • Open your Entity List and go tot ‘OData Feed’ section. (Refer my previous articles on how to create an Entity List)
  • Enable the ‘OData Feed’ option along with below details
    • Entity Type Name : Your Dynamics entity schema name
    • Entity Set Name : Can be anything but as a best practice provide plural name of your Dynamics entity.
    • View : Select the view.  The structure of your OData feed would be determined based on the view you pick.

Portal_OData_7

  • Once the ‘OData Feed’ enabled, you can get all the oData feeds enabled on Portals by forming URL -> {Your Portal URL}+”/_odata

Portal_OData_8

  • Now access the ‘Contacts’ oData feed by forming URL -> {Your Portal URL}+”/_odata“+Entity Set Name (i.e., contacts)

Portal_OData_9.PNG

How to consume the oData API in Excel:

  • Copy the OData set URL
  • In the new Excel sheet, go to Data -> Get Data -> From Other Sources -> From OData Feed

Portal_OData_1

  • Paste the OData URL and click ‘OK’

Portal_OData_2

  • Click ‘Load’ to load the data to excel sheet.

Portal_OData_5

  • If you want to Transform data like replace ‘Null’, click on ‘Transform Data’

Portal_OData_4

  • Your excel sheet shall looks as below once the data loads.

Portal_OData_6

Note:

  • The OData API URL is accessible anonymously with no authentication prompted.

🙂

 

 

Dynamics Portals – Entity List ‘Map View’

February 16, 2019 2 comments

Dynamics Portal’s Entity List has an option to pin the records on a Map based on the Address of those records.

How does ‘Map View’ looks on Portal:

  •  With ‘Map View’ enabled, you will get a Map (bing/google) and matching records will be pinned on the map (i.e., Refer 1 pinned on the Map below).

Portal_Map_1

How to set up ‘Map View’:

  • On the ‘Entity List’ form, check the ‘Map Enabled’ checkbox.
  • In ‘Entity Field Mappings’, map the address fields from ‘Contact’ entity (As my entity list mapped to Contact).

Portal_Map_3

  • Under ‘Settings’ section, provide below details
    • Map Type : Bing/Google (I chose ‘Bing’ for this article)
    • Credentials : Bing API credentials (You need to login here with your Live/Outlook account and generate the Key)
    • Portal_Map_5
    • Default Center Latitude : This is important. Geo coordinates where you want your map start from (I took ‘New Jersey’ coordinates as Default)
    • Default Center Longitude : This is important. Geo coordinates where you want your map start from (I took ‘New Jersey’ coordinates as Default)
    • Save
  • On Portal, you will notice a Map loaded with ‘Default Center Latitude’ and ‘Default Center Longitude’ (i.e., ‘New Jersey’ in this example).

Portal_Map_6

  • In the ‘Address’ search box, provide ‘New York’ and click ‘Search’.

Portal_Map_1

  • As I configured Contact ‘Rajeev Pentyala’ with ‘New York’ coordinates (Refer screen below), Contact showed up in above screen.

Portal_Map_4

  • You can click on ‘Get Directions’ to get directions between Searched city (i.e., ‘New York’) and Default coordinates (i.e., New Jersey).

Portal_Map_2

🙂

Dynamics Portals – Portal Checker

February 16, 2019 Leave a comment

‘Portal Checker’ has been added as part of Portal capabilities version 9.1.1 for Dynamics 365 CE apps.

Portal checker for Dynamics 365 for CE Portal is a self-service diagnostic tool that can be used by Portal administrators to identify common issues in their portal.

Portal_Checker_1

  • In the Portal administration screen, click on ‘Diagnose and resolve problems’

Portal_Checker

Portal checker helps to identify issues with your portal by looking at various configuration parameters and provides suggestions on how to fix them.

Refer this article for more details

🙂

 

Dynamics Portal – Configurations packaging and migrating to different instances

February 16, 2019 Leave a comment

In Dynamics CE, to move Customizations and Configurations from one instance to another, we rely on Solutions.

How about migrating Dynamics Portal configurations from one instance to other?

  • As we know, Dynamics Portal development involves several configurations and Customizations to achieve a desired experience for portal end users.
  • To migrate Portal configurations from the source Dynamics CE instance, and then importing it into the target Dynamics CE instance, you would need to use the Configuration Migration tool and a portal-specific configuration schema file.

Portal_ConfigurationMigration

Refer this article for detailed explanation.

🙂