Subgrid, QuickView, Linear Gauge, Arc Knob, Linear Slider controls added in new model-driven form designer (WYSIWYG) in PowerApps

Recently we were trying out the model-driven form designer and noticed the option of adding new input control to the form in it.


Few days back only I wrote about the addition of Subgrid control, however the limitation was that we couldn’t add new subgrid control. But with the new updates, we can now add new subgrid control along with Quick View and other controls also as shown below.

The other option to configure these controls is from the Controls tab of the field properties dialog box.

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/customize/use-custom-controls-data-visualizations

Hope it helps..

Advertisements

Sub-Grid added to the new model-driven form designer (WYSISYG) in PowerApps

Hi,

Microsoft is steadily adding all the essential features to the new model-driven form designer (preview) making it more and more usable and intuitive.

Latest addition is the support for sub-grid as shown below

The properties window for the sub-grid

`

We can select the view from either the related entities or view from any of the un-related entity (uncheck Related Records check box).

Similarly, we can enable view selectors and can show all the views or selected view as shown below.

We still can’t add new sub-grid to the form in the new form designer, for that we still need to go back to our classic form designer.

Check out below articles for more details –

https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/form-designer-overview

The new model-driven form designer WYSISYG Editor

Few improvements in the new model-driven form designer.

Hope it helps..

Apply SLA choosing the SLA in the SLA lookup field for the SLA Enabled Entities in Dynamics 365 CE

One of the enhancements that came in SLA (CRM 2016 Update 1), which I feel has got unnoticed by few, is choosing the SLA manually using the SLA lookup field.

As we all know SLA comes already enabled for Case Entity and can be enabled for the below entities

Account, Contact, Order, Invoice, Quote, Opportunity, Lead, Activity Entities.

Basically, the above entities have SLA lookup field already created for them.

We can also Enable SLA for custom entities and activities, which will create the SLA lookup field in it.

Add the field on the form and select the appropriate SLA, and that selected SLA will be applied to that record.

It saves us from defining multiple SLA Items for an SLA to be applied as DEFAULT or to use the entitlements to achieve the same.

Hope it helps..

Single Organization vs Multiple Organization (Single Instance vs Multiple Instance) key points to consider in Dynamics 365 CE (On-Premise)

The decision for going with single or multiple organisation should be made as early as possible because if the implementation grows, it will increase the complexity. For e.g., if we have Marketing already implemented for the marketing lob and now, we are planning to add Sales and Service, which would be difficult as it could require updating the existing implementation (plugins, workflows, BPF, Security Model, Business Unit structure, etc.) to cater for addition of new LOBs. If the implementation of the system is designed from the very beginning keeping different LOBs in mind, the complexities can be managed. Also, there is a possibility that a single instance which is serving different LOBs, needs to be separated to multiple instances later, this again will require additional efforts.

Below are some of the factors and pros and cons that we would need to consider before deciding on Single Organization vs Multiple Organization (Single Instance vs Multiple Instance).

Companies with Business units \ LOBs having a different set of customers and different
functional area with no need for

  • cross-business collaboration
  • sharing of data
  • unified or roll-up reporting
  • the same set of standardization

will benefit from Multiple Organization or Multiple Instance approaches.

The benefits of Multiple Organization or Multi-Instance are

Reduced complexity when it comes to the designing and implementation of the data model and security model.

Having less volume of data stored in the system could contribute to improved performance of the application.

Having a lesser number of customization (plugins/workflows/business rules etc.) without segregation logic for different LOBs could also contribute to improved performance.

Provides autonomy, so easy to implement new features/functionalities/3rd party applications without having to consider the impact of it for other business units.

Easy and efficient release management e.g. fast deployment, lesser downtime and do not have to be agreed upon for all the LOBs, less need of regression testing, etc. with fewer teams/functionality being impacted.

Fewer chances of exceeding organization limits for e.g. we have following limits in Dynamics 365 CE /CRM – 100 rollup attributes and each entity having 10 rollup attributes, 10 activated business process flow per entity, maximum number of entities that can have active SLAs is 7, maximum number of SLA KPIs allowed per entity is 5 etc.

System-level settings through Administration à System Settings could be easily governed, managed and defined for the single organization without affecting other LOBs for e.g. some of the settings like – Decimal Precision Point, Relevance Search or Categorized Search, Using legacy form rendering, Session Timeout, Audit settings, etc.

For Customerflexibility to have different implementation team (partners/vendors) working on separate organizations (administration, implementation, support, etc.)

Also, if there are any regulatory or compliance that has to be in place for one LOB it would adversely affect other LOBs in case of the single instance as essentially, they’d be sharing the same resources.

On the other hand, companies having Business Units with the need for coordination and sharing information/data having process standards, rollup reporting needs will benefit from a single organization or single instance approach.

Rollup and Unified reporting and cross-business unit collaboration can be achieved easily in case of a single organization as all their information would be residing in the same instance’s database without any need of User Interface Integration/ SQL Server Replication / Web Service Integration / Publish/subscribe pattern by plugin-ns.

Check out the whitepaper here

https://www.microsoft.com/en-us/download/confirmation.aspx?id=36056

Most of the 3rd party applications in App Source like ClickDimensions supports only single instance, so different LOBs part of that same instance can share it, which will not be the case of multi-instance, as it would require separate licenses to be procured.

Required common functionalities would still need to build/deployed into multiple organization i.e. less reuse of configuration and code, which can be easily shared and standardized in case of singe organization.

No need for data replication or information (customer, contact, etc.) to be duplicated in all the instances in case of multi-instance.

For multi-instances in case of Online, there would be an additional cost associated with adding instance (sandbox and production).

Also, additional cost in case of multi-instance, for procuring any 3rd party application for each of the instance that needs it, increased integration/ replication cost.

For multi-organization in case of CRM On-Premise, there could be added infrastructure cost to support that many organizations.

Multi instance/organization can also plan to use the Hub and Spoke strategy. This would be recommended approach in case of independent but similar LOBs (e.g. located at different region/geography) i.e. replication.

https://blog.westmonroepartners.com/implementing-dynamics-crm-on-an-enterprise-wide-scale-using-a-hub-and-spoke-strategy/

Few important factors to be considered are as below

Ownership Cost – Who within the organization/enterprise is paying and owning the CRM System.

Does the organization have a Global Center of Excellence (CoE)?

There is no denying that having a single instance service multiple LOB(s) will have added complexity which will only grow with time as the implementation progresses (enhancements/ phases), does the organization has the plan or a roadmap clearly defined to handle it with all the stakeholders involved aligned with Enterprise strategy and architecture.

Please feel free to add your thoughts, suggestions and insights in comments.

Hope it helps ..

SSRS and Power BI comparison for Dynamics 365 CE Reporting

Hi,

Was recently working on a comparison between using SSRS and/or Power BI for reporting for Microsoft Dynamics CRM, below are some of the points we came up

SSRS has always been Reporting Tool of choice for Microsoft Dynamics CRM and has been natively integrated with the application.

  • Microsoft Dynamics CRM offers Report Parameters for SSRS that are specific to CRM and can be used while writing custom reports using SSRS.
  • Microsoft Dynamics CRM provides CRM
    Pre-filtering feature using which user can use to create a context-sensitive report. Pre-filtering basically passes the specific record (or selected records) information on which report is to be run and renders the result after pulling the information from those record(s). These reports can be uploaded and run from inside the form or grid (list of records) or from the Reports Area within CRM.
  • Microsoft Dynamics CRM provides Filtered Views against which SSRS Report are written.  Filtered views conform to the Microsoft Dynamics CRM security model so the data shown in an SSRS report using a filtered view would only contain the data the users can view and has access in CRM
  • SSRS Reports adheres to Security Model of Dynamics CRM. They can viewable by the Organization or Individual. Individual reports can be shared with other users within the system through the Sharing feature.
  • SSRS is an ideal solution for something to be printed, for e.g. operation documents like invoices, work order, etc. as it gives fine-grained control over location as well as formatting of each of the report components/controls.
  • SSRS has support for more advanced printing features such as footers, headers, watermarks, and page numbers. We can easily configure the margins and layout of your report to get it exactly the way you want.
  • It is easy to extract data as well as export the SSRS report to a different format like word, excel, CSV, pdf, XML, etc.
  • Delivery reports in multiple formats automatically (Scheduling via Subscriptions).
  • There are some limitations for CRM Online reporting which has mostly to do with limitations of Fetch XML.

Interactivity and Data Exploration is where Power BI wins over SSRS à

  • For interactivity and data exploration we can use parameters, drill-through reports or action links, however, comparing this to Power BI, it is very limited, if we click on a visual, all of the other visuals automatically cross-highlight or cross-filter.
  • Advanced Visualisation support in Power BI.
  • Because of the limited interactivity, SSRS is not ideal for data exploration. We have limited options for slicing and dicing the data. SSRS makes more sense when you know what you want the end result to look like. If you to play around with the data, you are much better off with Power BI.
  • Mobile support is much better for Power BI.
  • Support a large number of data sources.

In short, both the tool can be used and can co-exist as they fulfil a different set of requirements.

Would appreciate if you could provide your thoughts in the comments and some additional points.

Hope it helps..

What is the maximum file size limit for Attachments in Dynamics 365 \ On Premise V9?

Recently was trying to figure out the maximum file size limit for the attachments.

It is 131072 (in kilobytes)

Can be defined at Settings – Administration – Email Tab.

Scroll down to Set file size limit for attachments section

MaxSize

Hope it helps..

Using SARIF Viewer to read the static analysis results generated by Microsoft.PowerApps.Checker.PowerShell module

In the last post, we saw how we can use the Microsoft.PowerApps.Checker.PowerShell module to analyze the Solution (Unmanaged and Managed – Online or On-Premise) outside the PowerApps Maker Portal.

https://nishantrana.me/2019/07/12/using-the-powerapps-checker-powershell-module-to-validate-the-solution/

The reports generated by the tool are in SARIF format i.e. Static Analysis Results Interchange Format (JSON based) standard for the output format of the static analysis tool. This format originated at Microsoft.

To view the result, we can use the below tools

For Visual Studio :

After installing the extension, navigate to Tools à Import Static Analysis Log files for Error List à Import SARIF file and select the result file generated.

It will list down the details in the Error List Window as shown below.

For Visual Studio Code :

For Visual Studio Code, after installing the SARIF Viewer, simply open the file

Below is how the result is displayed in the UI inside Visual studio code.

Hope it helps..

Using the PowerApps checker PowerShell Module to validate the solution

Using PowerApps Checker PowerShell Module we can perform the solution check functionality from outside the PowerApps Maker Portal. This can be useful for automated build and release pipelines. Apart from that some of the notable capabilities of the module include

  • Support for both managed and unmanaged solution.
  • Support for On-Premise.
  • Support for more than one solution at a time.

To get started à

Open the PowerShell (as administrator) and install the module

  • install-module Microsoft.PowerApps.Checker.Powershell

Next, we need to register an Azure Active Directory application in a tenant with PowerApps or Dynamics 365 licensing, even if it is on-premise environment (solution) against which we want to run it.

  • Login to Azure Portal

https://portal.azure.com

  • Click on New registration to register a new application

  • Provide the below details

Redirect URI

  • Type: Public client (mobile & desktop)
  • Redirect URI: urn:ietf:wg:oauth:2.0:oob

Copy the values of Application id and Directory (tenant) Id which we will use later and click on View API Permission to give the required permission to the app.

Click on Add a permission (we’d see Sign and read user profile added by default)

API level permissions to the PowerApps-Advisor first party Microsoft AAD application

  • Application permissions to Analysis.All

Permissions à

PowerApps solution checker uses Solution checker rule set. Here we are getting all the rulesets available passing our tenant’s id.

  • $rulesets = Get-PowerAppsCheckerRulesets -TenantId ‘290055c6-7eb1-4ec4-93e6-81f053d13f76’

We wil be using Solution Checker rule set here.

  • $rulesetToUse = $rulesets | where Name -EQ ‘Solution Checker’

Now let us run it against the Solution Zip file as shown below

  • $analyzeResult = Invoke-PowerAppsChecker –ClientApplicationId ‘48131848-3b81-44f7-a999-d8362b391f25’ –TenantId ‘290055c6-7eb1-4ec4-93e6-81f053d13f76’ –Ruleset $rulesetToUse –FileUnderAnalysis “C:\PowerApps\Test_1_0_0_1_managed.zip” –Output “C:\PowerApps\Result” -Verbose

Give the required consent

We can see the results download at the path specified

Result is in JSON format

IssueSummary to get the quick overview

Get all the details here

https://docs.microsoft.com/en-in/powershell/powerapps/overview?view=pa-ps-latest

Hope it helps..

Using PowerApps Solution Checker from the PowerApps maker portal

The PowerApps Solution Checker feature released for general availability on May 2019, can be used to perform static analysis of the Unmanaged solution for components like plugin, web resources, custom workflow activities and provide guidelines and recommendations around the issues found.

To get started à

Sign in to PowerApps maker portal

https://make.powerapps.com/home

Select the Solutions in the left navigation pane and click on Install to install the Solution checker.

Click on GET IT NOW from the AppSource, specify the instance and the PowerApps Checker Solution will be installed in that Instance.

This will install the PowerApps Checker solution for the selected instance.

After the installation is done, we’d see the Solution checker menu enabled for the unmanaged solution.

Click on Run to run the test

We can see the results in the portal and can download the same as shown below.

Result of running it against another solution in which we are still using Xrm.Page object model à

The results will be available in both Excel and CSV format on the download

csv à

Excel will include a report as wellà

In the next post, we will see how to use the PowerApps Checker PowerShell Module to validate the solutions.

https://nishantrana.me/2019/07/12/using-the-powerapps-checker-powershell-module-to-validate-the-solution/

Hope it helps..

How to – Add Style to Custom Component in PowerApps Component Framework

Kindly refer the previous post, here we will be adding style to the component created in the post.

https://nishantrana.me/2019/06/06/step-by-step-create-a-very-simple-powerapps-custom-component-to-show-the-guid-of-the-record/

Let us continue with our previous sample component and try adding style to it.

  • Open ControlManfiest.Input.xml and specify the CSS file to be referred.

  • Uncomment the CSS tag in the manifest and create a new folder named CSS and place the CSS file there.

  • Edit the index.ts file and add the class to the label

  • Edit the CSS file

  • Edit the version number in case of updating the existing control in ControlManifest.Input.xml

  • Followed by the build command
  • npm run build


  • After the successful build, we can see the CSS added in the out folder for the component


  • Run the MSBuild command to generate the new solution zip files



  • Import the managed solution.
  • Open any of the existing contact records, we can see the style is applied to the control.

Hope it helps..