Dynamics 365 CE and Portals – Striking a balance and getting it right

Since the acquisition of the AdxStudio portal solution by Microsoft, clients and vendors alike have been keen to explore the value of Dynamics Portals, and the additional possibilities of having a solution integrated with a Dynamics 365 for Customer Engagement instance.

This often seems especially appealing considering that there is a ‘free’ production portal instance available to a high number of existing and new Dynamics 365 for Customer Engagement customers.

Most organisations have data that they would like to share with people outside of their organisation, be it customers, vendors or partners. And a web portal or as I prefer to think of it a ‘web experience’ is often a desirable option. For more information on the Portals offering please see Microsoft Docs; here

When we approach portal solutions with Dynamics 365 CE, it is tempting to think of the Dynamics Portal offering as the ‘go-to’ solution. However this is not always the case, and it is important to ensure you are fully prepared for the project ahead. But what kind of things should you consider when making a decision?

Sizing the Fit

As with any Dynamics project is important to identify if Dynamics Portals is a good fit for you or your client. There are a few important things to consider up front;

  • Are there broader requirements besides surfacing and interacting with D365 CE data?
  • Are the requirements covered in a portal template?*
  • Is it a replacement to an existing portal experience?
  • What special UI/UX requirements do they have? How will people be accessing the site?
  • What authentication type is required? Is it supported?
  • How often will the admin’ be making changes/improvements?
  • How much customisation is required to meet the required experience (not just styling)?
  • Have we considered the number of deployments required and the number of portal instances?
  • What is the estimated volume of traffic to the portal? What performance metrics are there?

Now this might seem like quite a list up front, but ensuring you know the answer to these questions will mean you can thank yourself later! And it is important to identify as many answers as you can early, to avoid any unpleasant surprises.

“But what in particular should I look out for?” you might ask, well let’s have a look at some of the key factors that have influenced the items in the above list…

Data Requirements and Portal Templates

When considering if a Dynamics Portal is the right solution from a data perspective, I recommend thinking about the following things;

  • The type of data you want to surface and how you want those accessing to interact with that data.
  • Where is the data mastered, within your Customer Engagement instance? Other data sources?
  • What data is editable and what is read only?
  • What type of process is being catered for and do the users have a D365 CE subscription?

The last point on users is important, whilst it is possible that a customer, vendor or partner can view, submit or interact with data through your web experience or an app without consuming a Dynamics 365 CE subscription, you need to be careful of the process and replication of functions that would be performed by a fully subscribed Dynamics 365 user, such as Case Management. It is OK to submit, update and see case details as a portal user outside of your organisation, but for anyone needing to own a case and working through the case resolution process it is likely they will need to have a D365 CE subscription to avoid multiplexing issues.

As for access to the data; Dynamics Portals relies on the use of web roles and entity permissions in order to interact or just read data displayed, so it is important to map these out and understand how they work, (for information on web roles click here).

Portal templates are available as mentioned earlier for Partner, Customer and Employee portals, these can be a great start for your Dynamics Portal experience, particularly for customer self-service, which allows portal users to; submit a new Case, view existing Cases, search the Knowledge Base or contribute to a customer community. With a little configuration this can be a great entry into the world of web experience for your customers, especially for small to medium sized organisations.  An overview of getting started with a portal template can be found here.

Configuration lead implementations are often less complex and a much better fit for Dynamics Portals, which leads me on to the next area…

Authentication and User Experience

Access and experience of those interacting with the web experience is a paramount consideration; how will your users be authenticating? What user experience and user interface requirements are there?

All portal users require a Contact in D365 CE. Web Roles and Entity Permissions are applied to a portal users once they are authorised, but to get authorisation portal capabilities for Dynamics 365 for Customer Engagement out of the box provides authentication functionality built on the ASP.Net Identity framework.

The services provided out of the box include;

  • Local (username/password) user sign-in
  • External (social provider) user sign-in through third-party identity providers
  • Two-factor authentication with email
  • Email address confirmation
  • Password recovery
  • Invitation code sign-up for registering pre-generated contact records

However, for other authentication methods, you need to consider the use of another tool like Azure AD B2C, which can be used to authenticate with third parties; https://azure.microsoft.com/en-us/services/active-directory-b2c/ this does require some development and an understanding of the underlying technology. So you might require some expert assistance,

For more information on O.O.B. access see Docs resource here.

As for customising the user experience, Dynamics Portals does allow for the use of CSS/Bootstrap to allow for branding of the portal; colour scheme, header and footer, images etc. and dynamic content can be achieved with the use of Liquid Templates and customisation of Web Templates. However it is important to consider the maintenance and change process for any customisation. Small changes can make a big difference and you’ll definitely need that sandbox, which brings me to the next point…

Instances and Deployments

When considering Dynamics Portals as your web experience solution you’ll need to consider how you are supporting the portal and making changes around BAU activity. As part of this discussion you’ll need to consider how many portal instances are required, as mentioned earlier a single instance is provided for most Dynamics 365 CE customers. Additional sandbox instances of the portal are not, they are instead purchased as subscriptions like any other Dynamics 365 CE subscription (the process will vary depending on how you purchase).

At the time of writing each additional portal sandbox instance is approx. $500 USD per month, these costs must be factored into your business case as an ongoing operational expense.

Best practice means most consumers of Dynamics 365 for Customer Engagement have at least three instances, one production or live instance and two sandboxes, for development and testing – some organisations have more. If we assume there are two sandbox instances in use and each of these needs a portal, then that means an approximated $12,000 USD per year. So don’t fall into the trap of thinking Dynamics Portals comes for free!

After you have completed development or configuration of your Dynamics 365 for Customer Engagement Portal instance, you will likely want to migrate your latest configuration from development to testing or the production environments. Migration involves exporting the existing configuration from the source Dynamics 365 for Customer Engagement instance, and then importing it into the target Dynamics 365 for Customer Engagement instance. To aid this there is the Configuration Migration tool, particularly useful as not only are there configuration files but also the data stored in custom entities created for Portals. The only way to move what you have done between Dynamics 365 CE and Portal instances is to ensure that all of the related components are migrated. It is recommended that you consider automated deployments wherever possible.

Portal_ConfMig

The degree of fit for your immediate, medium term and long term requirements are important, and whilst Dynamics Portals can be a great entry point for small to medium businesses, it’s not exactly “plug and play”, and so you’ll need to ensure the right governance is in place and gain an understanding of your web experience road map. Where are you now? Where do you want to be? What will make the difference?

As always, there are other solutions that might be a better fit for the scale, complexity or experience you are looking to provide and I recommend finding the right partner to help deliver what you need.

Hopefully this post has provided a prompt for your own considerations and what you need to be successful. What about your own experiences with Dynamics Portals? Reply with comments if you want to share.

Happy UX’ing! 🙂

Advertisements

Compatibility Error with Dynamics 365 9 .1 and the Field Service Mobile App

Recently we have been working through upgrades to Dynamics 365 CE version 9.1 and implementing brand new instance on the latest build, in doing so we found an interesting quirk with the Field Service mobile app…

If the client uses a the Field Service Mobile (2017) app then connecting to Dynamics 365 CE version 9.1 or synchronizing changes is impossible, the app itself will display an error when connecting to your instance;

fs2017error

So basically the app displays the following error message to all users;

“We can’t synchronize your changes because this version of the Field Service Mobile(2017) app isn’t compatible with your Dynamics 365 solution. Please Contact your administrator”

We were using the Microsoft field service solution – version 8.2.086. So the OS and Application information was as follows;

  • Microsoft Dynamics 365 9.1 (online)
  • Field Service 8.2.0.286
  • Field Service Mobile 9.1.224.0

At the time there was no fix out there, but thanks to Microsoft Support we found there was a compatibility issue with the app and the Field Service project template. We had a file drop to fix this, but now the updates are in general availability.

You can find the links to download the app update for your OS here; https://docs.microsoft.com/en-us/dynamics365/customer-engagement/field-service/field-service-mobile-app-user-guide

and the mobile project update here; https://aka.ms/fsmobile-project

Once they were up to date we were back in business and we were able to re-sync;

fs2017

Warining: The updated may not yet be supported for On Prem, so if you have issue there please speak to your friendly neighbourhood MS Partner or contact Microsoft Support.

Best of luck and happy CRM’ing.

Unified Interface – What does it mean for me?

The face of Dynamics 365 Customer Engagement is changing with the introduction of buildable Unified Interface apps. But what’s happening and why would you consider it?

As discussed in a previous post you can create hubs or apps for Dynamics 365 Customer Engagement in the latest releases, hereby referred to as the Unified Interface. You can find my earlier post on this here; What’s the Hub-bub? Create Dynamics 365 Apps for your business – fresh from the Business Applications Summit here are some of the updates I can share (though not exhaustive).

The Unified Interface can provide a responsive user experience for Model Driven Apps, allowing access to rich visualizations with custom controls, based on a consistent and responsive UI – be it web or mobile. Built on modular app based functionality sets that are aligned to PowerApps.

“Accessibility” is the keyword for the direction of the Unified Interface and its associated road map.

We have already established that using an app built-in the Unified Interface allows us to only show users parts of Dynamics that are important to them – which has been an age-old problem for many. Using a specific site map we can add entities, process flows, views and dashboard.

One of the key things for administrators is the ability to move away from the “vertical scroll” which was enforced with the release of Dynamics CRM 2013 (collective cheering from users) and produce forms that promote data and content “above the fold” – much more suited to most devices and use cases.

Some of the topics covered at the Business Applications Summit 2018 included;

Refreshed Capability: Grid visualizations in a list view has been added along with;

  • Custom Control for grids (think calendar view) and lists
  • Semantic zoom – jump to tabs and views making navigation on a mobile device
  • PCF control for Reference Panels (on per form), and add sub-grids, quick view forms and web resources
  • Timeline Control introduced to replace the activity list, along with filtering capability.
  • Responsive design – scaled responsively for devices allowing a consistent experience
  • Additional Chart types – Donut and Tag charts for the UI
  • Task Flows – take a user through a data entry/updated process for a mobile device based on task flows which are assembled like a Business Process Flow (BPFs also supported)
  • Grouping and Filtering of grid views (list views)

Extensibility: You can provide custom visualizations using a rich API, with extensibility to be provided on building custom frameworks.  Previous form restrictions for mobile – 75 fields and 10 sub-grid tabs have been removed. Which is perfect for a consistent user experience.

Mind the Gaps: Currently there are gaps between capability/functionality available in the Unified Interface vs. the Web Client, those items not currently included in the Unified Interface highlighted are as follows…

  • Advanced Find
  • Bulk Edit
  • Merge Records
  • Record Sharing
  • Personal Options
  • Creating a Personal View
  • Creating Email Templates with Dynamic Slugs
  • Composite Address Fields
  • Personal Charts and Dashboards
  • Chart Drill Down
  • Trigger/Run Workflows
  • Chart Control for Sub-grids (Chart only option)
  • Create/Edit Duplicate Detection Jobs
  • Admin settings/experience

Hybrid Client Use: Hybrid Experiences are used for functionality not yet compatible with the Unified Interface, this relies on the classic web UI, but navigates you back to the Unified Interface when selecting records to avoid “leak” to the classic client. The Hybrid experience is to be “opt in – opt out” in your system settings.

Microsoft are committed to updates using the hybrid release approach, the indication is at the time of writing;

Hybrid Use (from Aug 2018)

  • Advance Find
  • Record Sharing
  • Bulk Edit
  • Merge Records
  • Personal Settings

Hybrid Use (from October 2018)

  • Run SSRS Reports
  • Personal Dashboards and charts

SidebySideUI

Unified Interface by Default: All current Dynamics 365 Customer Engagement instances running version 9.0 are able to run a side by side experience. In coming releases side by side is to be switched off.

New customers to Dynamics 365 Customer Engagement will be on-boarded with Unified Interface as default in coming releases (post August 2018).

Scenarios for new customers

The good news for existing customers is that the use of the classic or web client can be phased out, as the functionality/capability gaps are closed. Microsoft will be examining their telemetry data for the platform to understand when it is feasible to end the life-cycle for the classic web UI.

Making the Switch:

The switch to the Unified Interface does not need to be immediate and there is a high level road map for the transition between a hybrid experience and a full Unified Interface experience for Dynamics 365.

UI_roadmap

So the “why” at this point for administrators is that eventually the classic web UI will be phased out in future releases, though not a hard stop, it is necessary to plan roll-outs based on the user roles and functionality they need. Some will be easier than others.

From an end-user point of view, well the experience is better; it offers that consistent experience across devices, easy to find data, easier to navigate – easier on the eye! 🙂 and allows forms that make use of custom controls and traditional components.

You can create a version of Dynamics 365 that is much simpler and much more tailored to the roles in your organization. Along with the themed branding it can feel more like a custom app created for your organization.

From a system’s perspective it is worth embracing the change and making sure that you can phase the roll-out with sufficient planning and testing time. The Unified Interface is also used for anyone developing modular driven apps (second party) and the Common Data Service.

Microsoft are encouraging users and the community to contact the product team to help fine tune the roll-out based on the adoption of current functionality here; unifiedfeedback@microsoft.com or go to the ideas portal for anything new.

There is more on the roadmap for Dynamics 365 here; https://docs.microsoft.com/en-us/business-applications-release-notes/october18/

You can’t fight the future right? Have fun and happy app making!

Dynamics 365 for Marketing: Customer Journey and Preview Features

MDM is dead, long live Dynamics 365 for Marketing! Well, sort of. The preview edition of the latest D365 app is available now – so I had a nosy around…

After Microsoft announced they wouldn’t be selling MDM (Microsoft Dynamics Marketing) to new customers in late 2016 they moved to partner with Adobe for a blend of Dynamics 365 and Adobe Marketing Cloud functionality. With the MDM product due to be discontinued as of May 2018, I (and a lot of clients) have been curious to see what made the cut for the new app.

At a glance many of the functions available in MDM have been promised for D365 for Marketing with the omission of; Project Management, Budget Management and Asset an Media Management – SMS Marketing is still possible but requires 3rd party involvement. Project Management has been represented in Project Service Automation too, so it makes sense that there is no replication there.

Organizations with truly enterprise level marketing requirements at advised to consider Adobe Marketing Cloud, but for those who don’t there is Dynamics 365 for Marketing.

**Warning – this is preview content and is subject to change.**

So, what kind of functionality does Dynamics 365 for Marketing contain?

Core Marketing

Email marketing, customer journeys, behaviour tracking, lead scoring and marketing pages are all listed among the core functions. You are able to define segments; dynamic, compound or static by which you can group your customers for communications and marketing activity.

Event Management 

Manage activity and promote in-person or webinar events – which can be linked to a Dynamics Portal to allow attendees/potential attendees to review the event details and register for the event.

Voice of the Customer

Create online surveys using the preferred solution and analyze the resulting data, leveraging a great piece of the existing D365 suite.

Dynamics 365 Portals

The marketing app uses Dynamics Portals to allow your marketers to publish event, marketing pages and online surveys to the web. This is slated to be available with the Marketing App and as an add-in for Dynamics 365, further enhancing the portal product.

Customer Journey

Simple or even complex customer journeys can be established in the app based on a drag and drop graphical journey modeler. These can be used for short, sharp interactions or full nurture processes allowing the automation of communications for your particular campaign, event or nurture activity.  I’m going to focus in on this aspect a little further as it is topical for me right now.

Additionally there are Customer Insights charts, widgets and indicators to allow you to target segments for customer journeys and lead scoring and import leads from LinkedIn using lead tools.

What does it look like?

Well, the UI is indicative of the Dynamics 365 unified interface discussed in my last post very clean and easy to navigate. The default landing page is as expected a dashboard with your choice of default from those available.

The “charms” style menu down the left hand side of the window enables the user to easily hop between entities applicable to marketing activity. It all feels very much like the Apps for Dynamics 365 – which is great for continuity.

The Customer Journey modeler behaves very much in the same way as the interface for creating a business process flow – which I’ll attempt to describe in the next section.

Marketing02

The Customer Journey

Creating a Customer Journey as mentioned earlier is possible using the graphical modeler/designer interface. Just click on the charm and edit or add a journey. There are some pre-defined templates in the preview such as Announcement, Customer Onboarding and Event Marketing – which is pretty helpful.

Marketing03

Choosing “Event Marketing” or nay other template launches the modeler with some pre-defined actions. Using the modeler we can amend actions, set targets, add content and flow controls.

Properties allow the configuration of timeouts (days or hours) and rules that are applied to each journey. The general tab is where we can input data (such as; status reason, time zone, purpose) and view related leads in the time honoured Dynamics way.

You can also define if the journey is recurring (yes or no) and the start date and time. Users can drag items using their tiles into the flow, with connectors to the previous tile(s).

Marketing04

Flow Control options such as; Scheduler, Triggers, Splitters and Splitter Branches allow us to map the Journey between actions or content delivery.

You can validate your work using the “Check for Errors” button in the ribbon with the results displayed in the designer.

Adding content such as Marketing Emails to your Journey is easy enough, either select an existing email, or create a new one – which can be created using an email template from those pre-loaded into the App’s library.

Marketing05

Once selected you can edit your images within the grid and personalize the content…

Marketing06

The email is associated with a sender and you can add a “reply to email”, when you a ready click “Go Live” to activate the template.

How can I register?

You can register for the preview here; https://www.microsoft.com/en-us/dynamics365/marketing-preview and there are some small steps to jump through. I created a new instance in which to provision the preview functionality. There is also help and training here; https://docs.microsoft.com/en-nz/dynamics365/customer-engagement/marketing/help-hub

**Update April 18; the preview is closed, you can however register for a trial of Dynamics 365 for Marketing, to find out how see this post; https://blogs.technet.microsoft.com/lystavlen/2018/02/07/how-to-create-a-dynamics-365-for-marketing-trial/ **

At the moment I have just skimmed the surface, so I’ll aim to update the blog as I go. It appears at first glance that Dynamics 365 for Marketing might be the addition the product has been looking for, though the functionality isn’t as comprehensive as ClickDimensions in the small to medium enterprise space.

But I recommend registering and having a go so you can share any insight with your team and your clients.

Have fun! 🙂

 

 

What’s the Hub-bub? Create Dynamics 365 Apps for your business

One of the most exciting updates to the latest version of Dynamics 365 has been the ability to define Custom Apps for your solutions. But what are they and what can they do for you?

For those who have been involved in the implementation of Dynamics solutions for a while, a bug bear of many an end user is the quality of the user experience and functions exposed to the web user interface. Previously we could tinker with the site map and add custom web resources to try and present a pretty face, but the advent of Dynamics 365 Apps gives the functionality available a much needed shot in the arm.

What is a Dynamics 365 App?

In Dynamics 365 we can add custom business apps that involve solution components such as entities, dashboards, forms, views, charts and business process flows. The use of these components are defined within the App Designer as is the sitemap for the App itself with “artifacts” such as; entities, dashboards and business process flows defined with their related “assets” – forms, views etc.

An App can be accessed using the traditional web client or using a unified interface (or hub).

AppDesigner01

What is a Hub?

Some of the key functionality available in Dynamics 365 have been packaged up in some pre-defined apps called “Hubs”, the hubs available depend on your subscriptions however the following are available at the time of writing;

  • Customer Service Hub
  • Sales Hub
  • Field Resource Hub
  • Project Resource Hub

A Hub can be accessed for the web – directly from the Dynamics 365 homepage of Office 365 and the content can also be accessed as part of the new mobile and tablet experience for Dynamics 365 v9.

Utilizing the unified interface hubs give a fresh and focused experience to your Dynamics solution.

ServiceHub

What can I do with them?

It is possible to both configure the existing apps/hubs out of the box and also create your own to suit your organizational needs. Apps can be added to a solutions and also created from components included in a solution.

The main thing from a Dynamics 365 users’ perspective is that the use of unified interface in your app makes your average CRM/xRM more sexy – visually at least, and as a system administrator/customizer you can reduce the amount of ‘noise’ encountered by your users in the solution and instead focus on what is important for their role. Assets such as; forms and views can be configured specifically for the unified interface from your D365 solution and can be filtered using the App Designer. If they don’t use an entity, view or process, don’t add it!

When a business process flow is available it is displayed with stages at top of the record form with the fields displayed as ‘fly-out’ panel on click. The image below is a comparison side by side, with the unified interface on the left and Dynamics 365 v9 web interface on the right.

hubvcrm.png

You can use the “My Apps” area to find both your Apps as well as launch the App Designer and manage security roles that can be used to access the App. Simply toggle the roles you need to be associated or removed from the app.

MyApps

My Apps view in D365 via; Settings > Application >My Apps

Here you can also apply a URL suffix for your app, for example – https://yourcrm.crm.dyanmics.com/apps/servicehub  allowing users to easily bookmark the app in their browser.

As briefly mentioned earlier the recent updates to the mobile and tablet app for Dynamics 365 means we can select our app/hub as a mobile user, this can bring continuity where required to the user experience. In our example, the same business process flow is displayed when mobile as it is in the unified interface (see below).

Screenshot_20180213-103322    Screenshot_20180213-103732

Custom controls can be added to form fields, and used both in the mobile device and unified interfaces to give you even more bang for your buck.

For new implementations the use of custom apps can be a great selling point, for existing users it could be a value add to their user experience, elevating the often bland perception of the standard interface – this will differ depending on the level of comfort for change within user groups. For many, with the smart look and feel and the use of timeline and custom controls, this is a welcome step into a whole new world of UX with Dynamics 365.

There is more information on creating a custom app here (via the CRM Software Blog).

Give it a try! 🙂

 

Using Form Rules and Variables in Resco Mobile CRM

Sometimes just being able to interact with your Dynamics data in the field isn’t enough, there are times when we need to be smarter to get the most out of the user experience. For those occasions there are Form Rules…

Everyone who’s anyone using a mobility solution for Dynamics CRM seems to be turning to Resco Mobile CRM as their weapon of choice. It is easy to see why, especially if you require a ‘configuration over development’ focused solution. One of the key factors with using Resco is the requirement to configure additional mobile forms for your entities outside of the Dynamics application.

In the Dynamics UI it is possible to use business rules out of the box to determine dynamic field behaviour such as;

  • Hide/show fields
  • Set the requirement level of a field
  • Set the value of a field

Business Rules are a great alternative to using JavaScript, however the behaviours defined by a business rule are not mirrored in the Resco application, especially when the record has not yet been saved. Resco does however offer an alternative, Form Rules.

There is a full “Rules Guide” available for download via the Resco website which provides a short tutorial and a table of the Function Types that can be called in a rule; click here

Why Use Form Rules?

Form Rules (or Mobile Workflows) in Resco Mobile CRM allow for the standardisation of form and field behaviours, validation and the use of variables based on user input. The best part is that there is no need for programming (just like business rules in Dynamics CRM).

The feature was first implemented in 2012, so is quite mature and offers additional capability to the customisation of Resco Mobile CRM for your users.

When Do I Use Form Rules?

The answer is; whenever you need to modify or validate your forms or fields based on user input in the Resco Mobile CRM app. The rules can be triggered On Load, On Save and On Change as per the Form/Field Events in Dynamics CRM.

How Do I Use Form Rules?

Simple, once you have an established Mobile Project then you can open one of your entity forms and the Rule Editor is launched on click of either the On Lead, On Change or On Save buttons in the ribbon menu.

  • On Load – means the rule is executed when the Edit Form is opened
  • On Change – means the rule is executed on opening of the Edit Form and also every time a value of one of the form fields changes
  • On Save – means the rule is executed when the Save button is selected

Each rule can have conditions, function steps and variables which together provide the logic required to execute the validation or behaviour change you require.

RescoRules01.PNG

Rules have assigned variables which uses a property to define the scope for the rule to be executed, such as; Entity, Form, Tabs (Views) etc. I have included an example of a simple rule below to illustrate how each component is used, in the example we will throw an error message when there is no data recorded for “Email”.

PLEASE NOTE: This example uses a rule triggered On Change, similar rules can be triggered On Load, but as I want the user to add a value and then the behaviour of the form to change, this is the better option.

  1. So, to get started – open the Woodford tool and open your project, if needed; see my previous posts on setting up a new project in Woodford here. Then navigate to the account edit form.
  2. In the Account edit form click “On Change” to add a rule.

Conditions:

     3. Click “Add Condition” in the rules editor ribbon menu.

A condition allows for us to include “If” statements in order to execute the rule, for example; “IF Entity.IsNew Equals True” – this condition would mean the rule function only applies to new records. Likewise we can create a condition that looks for a field value such as “Email”; ‘If Entity.emailaddress1 Does Not Contain Data”.+

+Addendum 25/4/17 – If you want to limit when the rule is triggered to the load of the form and where the change field is updated you can add a condition at the beginning of your rule; if ChangedItem Equals <fieldname> – this will have a performance benefit as per the comments from Lukas below. So in this example; if ChangedItem Equals emailaddress1. (Thanks Lukas!)

Conditional strings are added using the pop-out Condition Editor.

RescoRules02

After we have defined a condition, we can also add a conditional branch or “Otherwise” statement in the rules editor. You not need to have a condition if the rule will apply to all records in all circumstances.

Functional Steps:

     4. Click “Add Step” in the rule editor ribbon menu

Each functional step allows us to add a variable which requires us to select a “property”, then an “attribute” and a “function”. We can only add a function when the variable has been set.

An example of this could be; “Form.emailaddress1.ErrorMessage” – where Form is the property, emailaddress1 is the attribute and ErrorMessage is the function.

We would then set the action, such as; “Assign” or “Clear” or “Add Suffix” to the function. In this case I am going to use assign – and add a string to display as an error message. So, my complete function is; Form.emailaddress1.ErrorMessage Assign “Email Address is Required” (as per the screen shot below).

RescoRules03

There is currently no way of setting a the requirement level of a field outside of CRM, so the above example is useful when you want to have the users add data via Resco that isn’t always ‘required’ in CRM.

PLEASE NOTE: If you want to modify a value of a field on your form you will need to use the “Entity” property in you rule. “Form” properties can be used for hide/show, disable/enable or set an error message for the field selected.

     6. To round off the rule I have added a conditional branch as per the image below

RescoRules04

The Result:

Once you have validated your rule using the “Syntax Check” option in the toolbar, save and close the rule and then publish the changes to your project. Then load and sync your device app, the result should be similar to that in the image below. Note that the “Email” field is red, this means the form with expect a value for nay new record added via Resco, if a user attempts to save the record the Resco app throws our error message.

RescoRules05

 

 

Using Variables

One very useful part of the Form Rule toolkit is the ability to add variables. You can define a variable that is added to the “property selector” in the current rule. This is particularly useful when looking to use more complex conditions or data from a related entity in your rule definition.

Once created, we can call variables in our rule when we are adding conditions and steps.

In this example I will create a variable used on the Email form (edit form) in Resco to pull in the Primary Contact (primarycontactid) value from the regarding account into the description for my greeting. I will use the Concat function to create a text string in the email body;

Step 1 – Open the Email edit form in Woodford and click the “On Change” button in the ribbon

Step 2 – Select “Add Variable” in the rules editor ribbon menu, then define your variable; in this case the property is “Entity”

Step 3 – give your variable a name, here I have used; “RelatedAccount”

Step 4 – In the next option set, select; “Load Reference” (as we are looking to find data on an associated record) and then choose “account” form the list of associated entities and then click “Ok”. The variable is ready to use.

PLEASE NOTE: The related entities in this list also need to be sync’d with Resco for selection.

Step 5 – Select “Add a Condition” then; select your variable from the list and the field, in this case “primarycontactid” then select “Contains Data”

Step 6 – Add a new Step; Entity.description Concat (this gives two arguments)

Step 7 – Add the salutation to the first text area (in this example “Dear”), then in the second click the side button to “choose variable” and then; RelatedAccount.primarycontactid

The resulting variable and rule steps should look like this;

RescoRules06

Step 8 – Save and Close then Publish your changes to your project.

The Result:

Synchronise the Resco app on your device and then navigate to accounts and open a record with a primary contact associated. Open the create email dialog in the activities list, the concatenated values from our rule will be added to the email body.

The same principle applies to adding name strings or text in other fields, Concat3 allows you to use another value or variable when creating a string. You can also use; Add Suffix and Add Prefix to add to an existing text string.

PLEASE NOTE: It is also possible to create Shared Variables in Woodford, the example provided is using rule specific variables. For more complex calculations or logic you may need to look at the JavaScript bridge for Resco.

This is a brief intro to the art of the possible with Resco Form Rules, but this post just scratches the surface. If you don’t have access to Resco and Woodford you can download a full trial from Resco.net

Thanks to Jo for the prompt on this post – hope it is useful to some of you and happy mobile CRM’ing! 🙂

 

 

 

 

CRM 2015 online Solution import fails due to Business Rules

Sometimes exporting and importing solutions between instances in CRM can be trickier than expected.

One such instance of this can occur when using Microsoft Dynamics CRM 2015 On Premise – build 7.0.2.53 in particular. You may find that when you attempt to import a solution that has been exported from your sandbox instance that the import fails and you receive and error similar to; Error is 0x80040217 processtrigger With Id = [GUID] Does Not Exist

The Fix:

Basically there are a few different issues that may be fixed by applying subsequent roll-up patches, but if you are stuck for the time being you could solve the problem by opening the Business Rules in your source solution and setting the “scope” to  “All Forms”.

  1. Open your solution
  2. Open the entity with affected Business Rules
  3. Deactivate the Business Rules and change the scope to All Forms
  4. Re-activate the Business Rules
  5. Publish you solution
  6. Export the solution
  7. Import the solution into your target instance

Hope this helps!