Quantcast
Channel: Sonoma Partners Microsoft Dynamics CRM Blog
Viewing all 206 articles
Browse latest View live

Server Side Synchronicity

$
0
0

Today's guest blogger is Ross Talbot, a Development Principal at Sonoma Partners

If you have been following our adventures with Server Side Synchronization in Dynamics CRM 2013, we previously detailed some of the gotchas we had encountered with upgraded orgs and some added fixes with communication between Exchange web services and CRM. Recently we found another issue related to an upgraded org, this time revolving around permissions.

After we had resolved the previous issue with the web services on the servers having some issues sending data back and forth, we found that tests for the sync were working for all but 20 users when looking at the sync for Appointments and Tasks. Of course, this was now less than 10% of the users but not all so we went looking for more information. We started by checking the sync filters, trying to determine what set these 20 users apart from the others. The error we were seeing this time around was that the mailbox user doesn't have sufficient permissions on this mailbox. We checked impersonation settings, security roles, and client information to rule out differences. That is where we found the difference, and it pointed to the security roles associated to the affected users. The difference between the affected users and those that were working involved native security roles that had been assigned prior to the production environment going live during the initial user import. With no custom roles defined at that time, all users were given a native security role. Users with higher level security needs were given one of the custom roles and the native role was removed. So why were the users with more privileges having issues?

When creating custom security roles, a good habit or best practice is to make a copy of a native CRM security role and modify only the permissions you need to. That is the approach we take on Sonoma projects, to ensure you don’t have to change every single privilege as you might need to if you started from scratch. When you upgrade your CRM org, whether it is a product version update, a service pack, or a UR being applied, the native security roles are updated with security access to new entities and features. Not the custom roles though.

Here is a custom security role, highlighting a section of the Business Management tab in CRM 2011.

image

Now, here is a similar look at a role in CRM 2013

image 

There are now a few new entries, and in fact there is a new Privacy Related Privileges section just below these privileges. With all the new features in CRM, including Server Side Sync, Mobile Client Apps (MoCA), Business Process Flows, not to mention adding more with every release, it is becoming more and more important to review the privileges in your custom security roles when testing a new release and especially the features that come with it.

For the sake of future me and all the others that need to search for the privilege names related to these new to 2013 entries shown above, they are listed below.

Mailbox privileges: prvReadMailbox, prvShareMailbox, prvAssignMailbox, prvWriteMailbox, prvDeleteMailbox, prvCreateMailbox, prvAppendToMailbox, prvAppendMailbox

Email Server Profile privileges: prvWriteEmailServerProfile, prvAppendToEmailServerProfile, prvDeleteEmailServerProfile, prvCreateEmailServerProfile, prvReadEmailServerProfile, prvShareEmailServerProfile, prvAppendEmailServerProfile, prvAssignEmailServerProfile

Got your own issue involving server side synchronicity? Don’t rely on a message in a bottle. Contact us instead.


Dynamics CRM 2015: Social Insights & On Prem

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015.  Over the course of the next few weeks we’ll slowly reveal this functionality one by one and show some of the key highlights of these features.

Next up for our review is reviewing the changes with Social Insights from Microsoft Social Listening.  Previously only CRM Online orgs had access to embed components of Microsoft Social Listening within Dynamics CRM, but now with Dynamics CRM 2015, CRM On Prem customs will also be able to enjoy the benefits of the social data without having to leave Dynamics CRM.

Using a simple wizard based approach, Social Insights can be added to the following:

  • System Dashboards
  • User Dashboards
  • Entity Forms

In order to have both your Dynamics CRM On Premise organization and your Social Insights environment talking to one another, you need to:

  • In CRM, navigate to Settings -> Administration -> Microsoft Social Listening Configuration
  • Copy the Domain URL
  • In Social Listening, navigate to Settings -> Allowed Domains
  • Add the Domain URL copied above to the Allowed Domains
  • Copy the Social Listening URL
  • Paste the Social Listening URL back into CRM

image

image

As stated above, Social Insights can bee added to System or User Dashboards by selecting the Insert Social Insights components when on a dashboard section.

image

When you click this icon, you’ll be presented with a 3 step wizard.  You can select the specific data you want to display from Microsoft Social Listening including what search terms you want to display, what summary information you want to display (e.g., sentiment, volume, etc.), and more.

Note:  You can have one or multiple visualizations on one of the sections of the dashboard so you can see multiple pieces of social information in each section.

image

image

image

Now when you navigate to your Social Dashboard, you’ll see the social data from Microsoft Social Listening displayed to you in a summary dashboard directly from within Dynamics CRM.

image 

Similarly to adding Social Insights to a dashboard, you can add it to a CRM entity form.  From here you’ll be able to see the same social component information that you saw within a dashboard.

image

Note:  You’ll need to have a Microsoft Social Listening account and be logged into MSL or you’ll get an error when trying to view the Social Insights within Dynamics CRM.

image

A few additional pieces of information to be aware of:

  • Does not require IFD to be enabled for CRM On Prem
  • Will work with Outlook
  • Multiple CRM instances can point to the same MSL instance
  • This is not available on MoCA (as Social Insights is surfaced in CRM through an iFrame, and there is no support for iFrames in MoCA)
  • Users in CRM need a MSL license (these credentials are used to authenticate to MSL)

Dynamics CRM 2015 Hierarchy Visualizations

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015. 

With Dynamics CRM 2015, Microsoft has added a new way to look at records, and their relationships to records of the same entity type.  This new functionality is called Hierarchy Visualizations.  In this post we’ll show you what the hierarchy visualizations look like, but first, let’s show you how to set them up.

First off, you’ll need to go to the Customizations area of CRM, and open up the entity you want to enable hierarchy visualizations for.  Note, after installing 2015, some entities are already enabled and setup for hierarchy visualizations, and you won’t be able to change the out of the box setting (accounts, positions, products, and users).  Other entities are setup to allow hierarchy visualizations but not setup by default.  This includes all custom entities.

A new “Hierarchical” field has been added to the 1:N relationship definition.  Note that setting this to “Yes” will automatically set the hierarchy flag to No for on any other relationship on this entity that was previously setup as hierarchical.  CRM 2015 only allows you to setup 1 hierarchy visualization per entity, and the Parent Entity and Related Entity have to be the same (see limitations below).

image

After configuring your 1:N relationship, you need to navigate to Hierarchy Settings within the entity definition.

image

Once there, you can create your new Hierarchy Setting.  The Hierarchy Setting is used to define what 1:N relationship to use, and what Quick View Form for to use for the tiles that appear in the hierarchy visualization.  You can use one of the out of the box Quick View Forms, or create a new one specifically for the hierarchy visualization. 

There are a few important notes to make about Hierarchy Settings:

  • Only the first 4 fields from the Quick View Form will currently display on the tile. 
  • You can only have have one Hierarchy Setting per entity even though the solution explorer makes it look like you can have multiple.
  • Hierarchy Settings are Solution Aware and will be exported / imported across organizations

image 

Once you have your relationship and your Hierarchy Setting setup correctly, when you navigate to a grid for this entity, if there is a value populated in the field for the relationship you setup for specific records, you’ll see an icon in the grid indicating that record is part of a hierarchy.

image

Clicking on that icon will open up the Hierarchy Visualization for the record you selected, and show any siblings of that record, the parent of that record, and any children related to that record.

image

One you have the Hierarchy Visualization open, there are a few things you’ll notice.  First off, there’s a list on the left as well as the larger tiles on the right that are showing the 3 levels of the hierarchy based on what record you selected (current layer, parent, and children)

You can also click on the check mark at the bottom right corner of the tile that will select that record so you can take actions on similarly as if you selected it in a grid (such as assign, edit, share, etc.).

Clicking on the main area of the tile (and not the check mark in the bottom right corner), or selecting a record in the list on the left, will color that tile orange and make it the focal point of the hierarchy and redraw the hierarchy tree.

Finally, on each tile (and also on the list on the left), there’s a “pop-out” icon that when clicked, will open up the form for that particular record in a separate tab/window.  If you’re on the form for a record that’s part of a hierarchy, you’ll be able to quickly display the hierarchy view by clicking an icon in the top right corner of the form.

image

With these changes above, Microsoft also added a couple new operators to Advanced Find.  Note, these can only be used in Advanced Find queries (don’t show up on sub-grids of specific records)

  • Under:  Finds all records that are UNDER a specific node (e.g. all Accounts under North America)
  • Not Under:  Inverse of Under

image

Also important to note is that all of the functionality discussed above will work on the Mobile Client Application (MoCA) as well.  So this powerful new feature will NOT be only available on the web client, making it even more powerful!

With Hierarchy Visualizations, there are still some limitations to be aware of:

  • Maximum of 4 fields are displayed on a tile
  • Visualization is based on a single entity (not multiple hierarchy) – A relationship between 1 entity and itself
  • At most 1 hierarchical relationship allowed for an entity
  • Only 1:N relationships can be enabled to be hierarchical

As the product matures and Hierarchy Visualizations get more real world exposure, I’m sure Microsoft will invest time into resolving the limitations above (e.g., allowing hierarchy  visualizations between different entities, displaying the visualization somewhere other than the entity form like a chart or dashboard, etc.).  However, this is a great start and something many of our customers will be excited to get their hands on.

Dynamics CRM 2015 Enhanced Business Processes

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015.

Next up for our review is reviewing the enhancements that are being made to Business Processes (the new feature added in Dynamics CRM 2013).  This amazing feature add from 2013 is being improved to be even more amazing.  Also, all of the enhancements below will work on MoCA!

With 2015, the following enhancements have been made to close the gap on those limitations:

  • Support for multiple entity loops to return to a previous entity in the process
  • Support to add entities to your BPF that don’t have a relationship to the entity you’re coming from.  If your rule requires it, you can choose the relationship on the Stage tile using the “Select relationships” link, although this is now optional with 2015 and can be left blank.

image

image

  • Client API Programmability
    • Access to available processes, active process, active stage, and active path
    • Move stages, change active process
    • Hook into stage selection, or changing active stage
    • Hide the Process Control completely from the form, or toggle whether or not the Process Control is expanded or collapsed on the form
  • Rule Based Branching Support (If / Else)
    • Decisions made to branch to different stages
    • Defined in a single UI for rules, stages, steps, & branches
    • Evaluated Real Time
    • Branches on a single entity, cross entity, merge branches back to the main flow
    • Branching rules must be based on steps in the stage immediately preceding it
    • Can combine multiple conditions in a rule using AND/OR

In order to use Rule Based Branching, when you’re editing your Business Process flow, you can click on the “Add Branch” from any stage to indent the flow to add your conditions and additional stages.  If you want to have an “If” “Else If” branch, then simply click “Add Branch” to the parent stage and the new stage will be added under the other stages in that branch (e.g., if creating an Opportunity for a New Customer, then we should capture information about that new customer.  Otherwise, if it’s an Existing Customer, we should select the customer from our existing Account list).  You can also have a default “Else” stage by clicking “Add Branch” and not adding any conditions to the branch.  The example below shows the configuration of an “If” “Else If” Business Process.

image 

Now when I’m on my Opportunity in CRM, if I indicate that Existing Customer = No, then I get the New Customer stage where I can enter some quick details about the Customer that can be used later to create an Account record (or could be coupled with Workflow to automatically create the Account and associate it to the Opportunity).

image

image 

And when I indicate that Existing Customer = Yes, I get the Existing Customer stage where I can select the account I want to associate to this Opportunity.

image

image

With all these enhancements that were made in Dynamics CRM 2015, there are still some limitations to Business Processes that you should be aware of:

  • Processes can only span across a maximum of 5 unique entities
  • Maximum of 30 stages per process, and 30 steps per stage
  • Each branch can be no more than 5 levels deep
  • Only one active process per record
  • Can only leverage 1:N entity relationships (even though this is optional)

If you have any questions regarding any of this functionality, contact us and we’ll be happy to assist.

Server Side Synchronicity 2

$
0
0

Today's guest blogger is Ross Talbot, a Development Principal at Sonoma Partners

In the continuing discussion regarding Server Side Synchronization in Dynamics CRM 2013, we previously detailed some of the gotchas we had encountered with upgraded orgs and some added fixes with communication between Exchange web services and CRM. We also expanded on a few permission issues we noticed after an upgrade from CRM 2011. The focus of today’s episode revolves around an addition in CRM 2013 SP1 involving communication between CRM and Exchange.

When you set up Server Side Sync and create your Email Server Profile, you are detailing the connection between CRM and Exchange so that when CRM Emails, Appointments, Contacts, and Tasks need to be updated, each server knows where to go find the other. What happens, though, when you have an Active Directory user who is a member of more than one CRM organization? Well from the CRM side, we are identifying the Exchange server web service address in the Email Server Profile record, as shown below.

image

What about the reverse direction though, from the Exchange side? When you set up the architecture for your CRM environment, do you only have just one CRM org or do you develop and test in separate organizations/servers for these environments? The Exchange mailbox identified for the user can only synchronize appointments, contacts, and tasks with one CRM organization, so how can the Exchange Server tell which CRM org is correct? It is pretty easy to see how a user can be tied to multiple CRM orgs, but it is much rarer to have multiple Exchange server environments (unless you are an IT Administrator, but the overlap in this case is pretty small). Prior to Service Pack 1, it was unclear how this worked. It was unclear which CRM org the Exchange server was synchronizing to (the first one that was configured, or the last). This makes it difficult to tell if the setting that tells Exchange to send everything to a specific org was ignored or overwritten.

In CRM 2013 SP1, a new option is available when setting up the user’s mailbox to force sync on a specific user account for a specific org and Exchange mailbox pairing. From the Email Server Profile record in CRM for the Exchange server, click the Ribbon button Test & Enable Mailboxes.

image

This opens a dialog to test your configuration for email, and the key here is the checkbox to Sync items with Exchange from this CRM Organization only, even if Exchange was set to sync with a different Organization. This helps clarify the expectation of which CRM Organization is tied to the Exchange Server for records to sync and cleared up the issue we had encountered.

image

Clicking What’s this? opens a detail page explaining cases where you may need to select the option. Similar options are also available on individual Mailbox records in CRM, where you can test an individual mailbox as opposed to modifying all mailboxes connected to an Email Server Profile.

image

image

Having trouble getting server side synchronicity wrapped around your finger? Contact us before you are driven to tears…

Dynamics CRM 2015 Calculated and Rollup Fields

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015. 

Prior to Dynamics CRM 2015, in order to perform calculations / rollups, you had to write code in order to do so which meant you had to invest in a developer which isn’t always possible for our customers.  However, with Dynamics CRM 2015, Microsoft has provided the ability for power users / administrators to create and update calculated fields and rollup fields using the CRM web client and customizations area within Settings.  Below we’ll discuss both Calculated Fields and Rollup Fields in more detail, their uses, and current limitations.

When you’re defining your custom fields, at that time you can indicate if the field will be Simple (pre 2015 calculated fields that we’re all used to) Calculated (new for 2015), or Rollup (new for 2015).  Based on the Data Type of the field will determine what values you can select in the Field Type drop down.  This value can only be set upon field creation.  Once the field is created the Simple/Calculated/Rollup flag may not be updated.

Calculated Fields:

You can create a calculated field for any data type, except Multiple Line of Text, Image, or Lookup fields.  When you create the field, an “Edit” link will appear next to the Field Type.

 image

When you click the Edit button, you’ll be taken into the editor where you can edit your calculations.  When you’re editing the calculation, you can use any field from the current entity, or any N:1 entity in your calculation or conditions.  You can also use AND and OR in your conditions to make more complex conditions.  However there is a limitation to this functionality (see limitations section below).

The UI of the edit page is similar to the modern UI when modifying Business Rules or Business Processes.  So your admins will have a consistent look and feel amongst all of these customization tools.

image

The calculation designer also supports intellisense so when you’re editing the calculation, you’ll see hints of what you can select from and what you need to enter as you type.

image

These fields are actually virtual fields that are NOT stored in the database.  However, they can be used and displayed like any other physical field in views / reports / charts / forms / Field Level Security.

When modifying fields that affect the calculation, the calculated field is calculated synchronously after a Save is performed.  The the end user will get immediate feedback that data has changed after the form is refreshed.

Rollup Fields:

Rollup fields are used to perform record level aggregation from related records.  For example, if you wanted to have a field on the Account that rolled up the Estimated Revenue for all Open Opportunities related to the Account, you could easily identify at the Account level what the Total Open Revenue was and then know what Accounts you should focus most of your time and energy on.

Similar to Calculated Fields, Rollup Fields do not support all data types.  Rollup fields are only available for Whole Number, Decimal Number, Date & Time, and Currency fields.  The table below shows how you can rollup child data using the rollup fields for the different data types.

Data Type
COUNT
MAX
MIN
SUM
Whole Number
x
 
 
 
Decimal
x
x
x
x
Currency
 
x
x
x
Date & Time
 
x
x
 

Similar to Calculated Fields, when you’re creating your field, you’ll see an Edit button appear if you choose Rollup for Field Type.

image

When you click on the Edit button you’ll see a similar modern UI as when you edited your Calculated Fields, Business Rules, or Business Processes.

When editing the Rollup Field, you can select to use a hierarchy or not.  If you select to use the hierarchy, then what will happen is that all related records that are related to any record in the hierarchy will be used in the rollup (you can optionally filter records in the hierarchy as well).  An example here would be if you want to find the Total Open Revenue for Opportunities that are related to any Account in a hierarchy (versus those Opportunities that are just related to the current Account).

image

The calculation of a Rollup Field is different than a Calculated Field.  Whereas the Calculated Field was performed synchronously immediately after clicking Save on a record, a Rollup Field is calculated using asynchronous jobs.  This is performed automatically but if you wanted to, a user could manually kick off the rollup calculation job on demand.  You can also use the API to recalculate rollup fields on demand using code.

Similar to Calculated Fields, Rollup Fields are actually virtual fields that are NOT stored in the database.  However, they can be used and displayed like any other physical field in views / reports / charts / forms / Field Level Security.

You can solve some pretty complex business use cases using both Calculated Fields and Rollup Fields.  Rollup Fields can be a part of a Calculated Field, and a Calculated Field can be a part of a Rollup Field.l

When modifying fields that affect the calculation, the calculated field is calculated synchronously after a Save is performed.  The the end user will get immediate feedback that data has changed after the form is refreshed.

Limitations:

Like all new features, it’s important to note the limitations and areas that hopefully Microsoft will improve upon with future releases:

  • General:
    • Workflows aren’t trigger by field updates
    • Latest values not available in plugin create/update pipeline
  • Calculated Fields:
    • Can only go 1 level up in N:1 relationships
    • Can only have all ANDs or all ORs in Conditions
    • Not available for offline
    • Have to save the record first before calculated field is updated when form refreshes
    • Only Calculated fields using all simple fields can be sorted
  • Rollup Fields
    • Only available using a single directly related 1:N entity
    • Complex calculated fields cannot be used in rollups
    • Rollup using other rollup fields is not supported

Dynamics CRM 2015 Hierarchical Security

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015. 

Next up for our review are the changes being made to the security model.  Note that the functionality below are simply additions to the security model.  The previous security of business units, access teams, ownership teams, security roles, etc. will remain in place.

Field Level Security Improvements:

First off we’ll briefly discuss some changes being made for Field Level Security (FLS).  FLS will now be available to work off of System Fields.  Previously this only was available for Custom Fields

FLS also has extended for additional attribute types such as address fields (out of the box only) and email address fields (custom or out of the box fields).

Now lets review the the new major change to security that’s coming in CRM 2015, the Hierarchical Security Modeling.

Hierarchical Security Modeling

With CRM 2015, Microsoft introduces a new version of security they label Hierarchical Security Modeling.  With this security modeling, granular record level access can be granted for an organization without having to create and manage business units.

With the introduction of hierarchical security modeling, Microsoft has moved the Security functionality to its own area of CRM.  You can now get to everything security related by going to Settings –> Security (previously this was in the Administration section).

image

You’ll notice a new Hierarchy Security link on this page as well as a Positions link.  If you click on it you’ll notice the following options:

  • Enable Hierarchy Modeling:  Let’s you turn this on or off globally in your organization
  • Select Hierarchy Modeling:  You can set this to either Manager or Position (more on these options below)
  • Hierarchy Depth:  This indicates how many levels up the hierarchy chain does the read permissions get granted to.  More on this below especially regarding performance.
  • Selected Entities:  This is where you’d select entities that you want the hierarchy security modeling to apply to.

image

Manager Hierarchy uses the existing Manager field on the System User record.  However, with this hierarchical model, you’re required to be in the same Business Unit hierarchy for it to apply successfully.  This is why the Position Hierarchy Model was built which we’ll describe below.  A good Use Case for the manager model is if a manager needs to take actions upon records their reports have access (for example the report goes on vacation)

Position Hierarchy on the other hand allows you to go across business units.  CRM Administrators can and add users to any given position to be included in that position.  A good Use Case for the position model is organizations that have a “Sales Team” and “Sales Management” team that span across business units yet these positions should have access to subordinate records.

As stated earlier, Position Hierarchy can be configured where an Administrator can define Positions, define the Parent Positions, and also add users to Positions so that the Position Hierarchy security method is executed to your specific business needs.

image

It is strongly recommended that Hierarchical Security be used with the other security tools (e.g., security roles, teams, business units, etc.).  The Hierarchical Security model does grant additional permissions based on users, managers, and positions:

  • Read Access:  Propagates up the chain to a specific configurable level (as shown above in the Settings screenshot
  • Write, Update, Append, Append To: This is granted just to the direct parent of the user/positions

There are also some performance considerations to keep in mind when enabling hierarchy security:

  • Use with other security methods (e.g., security roles, business units, teams, etc.) for more complex scenarios
  • Target 4 levels of hierarchy (1 manager with 3 reports, and 100-200 potential users underneath)
  • Performance is tied to the # of users (not the depth) in the parent’s chain:
    • 1 manager with 4 reports and 1 level in the chain, is the same as
    • 1 manager with 1 report and 5 levels in the chain

With all the security methods provided out of the box by Dynamics CRM now with 2015, I can see some organizations with very complex security requirements being easily achievable using native security methods.

Dynamics CRM 2015: Tablet Client (MoCA) Enhancements

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015.

Next up for our review is reviewing the changes being made to the Mobile Client Application (MoCA).  The first version of MoCA filled a much needed gap to have a native tablet application, but with the improvements below, it’s clear Microsoft see’s mobile as the direction they want to continue to head as they make investments in improving the product.

The following improvements were made with CRM 2015:

Offline Drafts:

  • Users will now have the ability to create and update records while offline.
  • The create/edit mobile experience will use the Quick Create Form defined for the entity
  • A Draft button will appear in the sitemap while offline, taking the user to the Draft Page (+ icon that appears on lists will do the same)
  • The Draft Page will display a count of draft records on the Site Map
  • Users can discard or update drafts while offline
  • Drafts are deleted when the user signs out of MoCA for security reasons (warning displayed first)
  • No lookups / party list support while offline:  However, there’s a workaround to populate lookups while offline by starting at the parent entity and creating a child record from the parent (e.g., creating an Opportunity from a Contact defaults the Contact lookup for the new Opportunity)

You can see from the screenshots below that I have the ability to create records offline (in this instance a Lead), and see a count of how many draft records (creates/updates) that have yet to be uploaded to the CRM server.

If I click on the Draft Records link from the Site Map, I’ll see a list of all the records that have changes that have yet to be uploaded and if I wanted to, I can make further changes to them from this list.

imageimage

image

It’s important to note that with the Offline Drafts, users can only modify records that they created offline.  Users will still be unable to go to a record that they had previously viewed while online, and modify that record while offline.

Also, when the user goes online, they will have to save the Draft records manually (they’ll no longer appear on the draft page).  This isn’t an automatic action that’s taken when a user reconnects online

Mobile Analytics:

Microsoft now allows you to have any and as many dashboards on your tablet (system or personal).  Previously you were able to just have the one “Sales Dashboard” on the Tablet Client, but now Microsoft allows administrators to configure multiple. 

A new “Enable For Tablets” checkbox has been added to dashboards to allow it to show up in MoCA (this field is solution aware and can be toggled via the SDK).

image

There’s a new “Dashboards” Site Map entry that you’ll notice when clicking around the Tablet Client.  Also, the default dashboard users see when initially logging onto the tablet client (prior to personalizing their experience) is defined and configurable by the Site Map XML.

image

When on a Dashboard, users can:

  • Set as Home:  when users click the Home icon, this dashboard will show
  • Pin to Win 8 Start
  • Pin to Home:  you can pin Dashboards to your Home Dashboard similar to how you pin records – this means you could have a Home Dashboard be one dashboard, and have other dashboards pinned on it for easy access.
  • Select Dashboard to select a different Dashboard

image

image

image

With all these changes, there are few other notes that users should be aware of regarding the Tablet Client:

  • There are no storage limitations (the same limitations will apply to MoCA that apply to the device)
  • All improvements in 2015 / Vega will work on Win 8, Android, and iPad devices (except the “Pin to Start” will be Win 8 devices only)
  • Plugins are still not supported on the device, but when data hits the server they’ll run (no offline plugins)

Dynamics CRM 2015 SLA Enhancements

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015. 

Next up for our review are the SLA enhancements being made. Pre-CRM 2015, users could take actions if First Response By and Case Resolved By aren’t met.  CRM could also be setup to send warnings if First Response By and Case Resolved By are approaching.

With 2015, a few new enhancements have been made to make the SLA experience a bit more rich.

Automatically Pause/Resume the SLA time Calculation:

Now with CRM 2015, administrators can setup specific Active Case Status values that will automatically pause the SLA timer if the Case is moved into one of the statuses selected.  When the Case is moved out of that status, the timer will resume and continue.  This is configured from Settings –> Service Management –> Service Configuration Settings.

In the example below, if a Case is moved into On Hold or Waiting for Details, the SLA timer will pause (and this will reflect on the Case form).  When the Case is moved back to In Progress or Researching, the SLA timer will continue where it left off.  This functionality is only available with Enhanced SLAs (described in more detail in the next section).

image

image

The On Hold time is tracked per Case record so you can get a glimpse of how long a case has been on hold to follow up and provide better service to your customers.

There may be scenarios where you don’t want your KPIs to be paused, and this can be turned off at the SLA level.  Therefore even though the Case moves to one of the statuses to pause the timer, cases using those SLAs will continue to count down and will not be paused.

Success Actions:

Success actions are new with 2015 and are only available for Enhanced SLAs (described below).  The Success Action can be defined by an administrator, and indicates a set of actions that will be executed whenever the success criteria of a Service KPI is met before the failure time.

image

Enhanced versus Standard SLA:

In Spring 2014, the SLA functionality that was delivered with Leo was Standard SLA functionality.  Now with 2015, you have the ability to define an SLA as Enhanced.

With the Standard SLAs delivered with Leo, you cannot use the new pause/resume functionality of the timer, and you cannot define Success Actions.  Standard SLAs cannot be converted to Enhanced SLAs.

Also, with Standard SLAs, all data is tracked on the individual case record (First Response By, Resolve By, etc.).  With Enhanced SLAs, this information is all tracked on a related SLA KPI Instance records, and quick view forms are used to show specific information directly on the case (e.g., the First Response In and Resolve In timer controls below).

image

If you wanted to create additional KPIs that your business tracks in addition to First Response By and Resolve By, you can do this by creating new SLA KPI relationships to the Case.  Doing so will automatically allow you to create SLA Items against your SLA, and define the Warning / Failure / Success criteria and actions for the new KPI.

With the new SLA KPI Instance records, you can create charts and dashboards to be able to quickly get counts of cases based on the KPI Status, and have a better understanding of how your service department is performing at a high level.

image

Dynamics CRM 2015 Sales Module Enhancements

$
0
0

Microsoft recently announced new features coming out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features are coming with 2015. 

Next up for our review are the changes being made to the Sales Module.  The following list of enhancements are being made with CRM 2015 and we’ll dive into a few of them a little bit deeper:

  • Product Bundles
  • Cross Sell / Up Sell (via relationships between products)
  • Product Families
  • Territory Specific Default Price List
  • Import/Export Settings via the Configuration Migration Tool provided with Leo
  • Families/Products/Bundles all show up in one grid
  • Clone Families/Products/Bundles (field values and all current product property values – including overridden values).
  • Product Form Preview (displays the product properties so you can preview how it’d look when selling the products)
  • New System Settings Configuration Options
  • Override default pricing engine via code/SDK

Now lets dive a bit deeper into some of these features.

Bundles

If you’ve used Product Kits in the past, you’ll be familiar with Product Bundles.  Bundles are an enhanced version of Product Kits (e.g., you cannot view Kit Items when selling a Kit, but you can with a Bundle – see the Opportunity screenshot below).  Product Kits will not be going away with CRM 2015, but instead Bundles will be an additional option users can use along with Kits.

Within a Bundle you can specify what Products are mandatory or not when selling the Bundle.  They can also be tied to Product Families (more information below) but are not required to be.  Finally, Products within Bundles have Properties that can be edited (e.g., what is the default value, is the property editable when being sold, etc.).

image

When adding the Bundle to an Opportunity, Quote, or Order, you’ll see the Bundle with the individual Products indented underneath.  You‘ll also have the availability to edit the properties of the Products in that bundle for the specific Opportunity, Quote, or Order you’re working with.

image

Cross Sell and Up Sell

As stated above, using a relationship between Products, you can define Cross Sell and Up Sell products.  This Product Relationships area is a sub-grid directly on the Product form.

image 

When on an Opportunity, Quote or Order selling products, there will be a Suggestions Link that when clicked, will show the Cross Sell and Up Sell products that an administrator has defined for your organization.  The user can click on Pick and then Add to List to add the suggested product to their opportunity immediately.

image

Product Families

Product Families are another way to group products and create product hierarchies.  The Child Products in a Product Family inherit the properties of the Product Family when they’re added to the Product Family, but can be overridden.  Then, when adding the Product to an Opportunity, some of these properties can be modified by the Sales Person, while others may not be (defined in the Settings of the Product Family setup).  The properties can be Read Only, Required, or Hidden.

Product Families are similar to Bundles, but the user cannot add a Product Family to an Opportunity, Quote, or Order like they can with Bundles.  Instead, Product Families are used for administration of Products themselves.

image 

New System Settings Configuration Options:

There are a handful of new System Setting Configuration Options coming with CRM 2015 that should be called out separately.  The following settings can be configured per CRM organization:

  • Indicate if the Default Price List is set via an inbuilt rule.  If this is set to yes, then the default price list will be selected for an opportunity based on the default price lists defined for territories.
  • Max # of Products in a Bundle
  • Use system pricing calculation (override default pricing) – customers can use the SDK to have a custom pricing engine built in
  • Discount calculation method:  Per Unit (new option) or Line Item (previous option)
  • Max # of Properties for a Product/Bundle

image

Some great new additions are being added to 2015 as you can see from above.  However, with these new enhancements, there are still a few limitations you should be aware of:

  • You cannot have bundles of bundles (only products are allowed to be added to bundles)
  • Only active / retired products can be imported/exported via the configuration migration tool

Dynamics CRM 2015 is Released!

$
0
0

The much anticipated release of Dynamics CRM 2015 is here!  CRM 2015 is now available for download for on-premise.  CRM Online trials are going live with CRM 2015 as well, so head here to signup.

Curious to find out what is new in CRM 2015?  Head here to the Customer Center to see a list of new features in 2015.  In preparation for the release, we have also been covering the new features in detail:

Hit us up in the comments and let us know what you think of CRM 2015 as well as any topic you would like covered further!

Poodle and your CRM

$
0
0

Today I am co-blogging with Blake Scarlavai, Development Principal and Microsoft Dynamics blogger at Sonoma Partners.

Nathen:

Recently a vulnerability in SSL 3.0 known as “Poodle” gained some significant attention, with many companies responding in various ways to ensure their customers’ data is protected. It can be confusing to keep track of what companies are doing what, and what is expected of you as a customer to ensure you are not vulnerable. Below are the summaries of the responses that Salesforce and Microsoft have taken.

Salesforce’s Response

Salesforce is in the process of disabling SSL 3.0 on their platform. By the end of December, you will no longer be able to use SSL 3.0 visit Salesforce’s platform. For the most part, we don’t expect this to affect our clients as the browsers which needed SSL 3.0 still enabled (IE 6 mainly) are already not supported by Salesforce. You can get the full list of the disable schedule and more information about the changes on Salesforce’s help page.

Blake:

Microsoft’s Response

Microsoft is in the process of remediating their online services for the SSL 3.0 vulnerability.  Below is a time table for each of the CRM services:

Service

SSL v3.0 Mitigation Status

Microsoft Dynamics  CRM Online

7-Dec

Microsoft Dynamics Marketing

7-Dec

Microsoft Social Listening

Completed

Parature for Microsoft Dynamics

Completed

Microsoft Dynamics Lifecycle Services

7-Dec

Online Services for Microsoft Dynamics

7-Dec

 

Microsoft also recommends disabling SSL 3.0 in your browser.  The following resources can be used for your respective browser:

For more information on Microsoft’s response, click here.

Unsupported Customizations in CRM 2015

$
0
0

Microsoft has been rolling out CRM 2015 for Online organizations (On-prem download can be found here) but before you perform the update you will want to review the new list of unsupported customizations in 2015 to see if you are currently using any of them.

Earlier in the year, in the 2013 SDK, Microsoft provided a list of things that will be changing in the next release which can also be found here in the MSDN.  Only 3 functions are being removed, getServerUrl (use getClientUrl), isOutlookClient (use client.getClient) and isOutlookClientOnline (use client.getClientState).  The Xrm.Page.ui.getFormType call will no longer return 5 for Quick Create and 11 for Read Optimized as those types of forms were removed/deprecated in earlier releases.  Also be sure that your customizations are no longer using the old 2007 endpoint as it is removed in CRM 2015.  To help detect if you are using the 2007 endpoint, you can run the Legacy Feature Check tool against your organizations.

Lastly, there have been some changes to the web application requirements for CRM 2015.  Support for IE8 and IE9 has been removed with the new version.  See below for a list of all the supported browsers:

  • Internet Explorer 10
  • Internet Explorer 11
  • Mozilla Firefox (latest publicly released version) running on Windows 8.1 or Windows 8, or Windows 7
  • Google Chrome (latest publicly released version) running on Windows 8.1 or Windows 8, or Windows 7, or Google Nexus 10 tablet
  • Apple Safari (latest publicly released version) running on Mac OS X 10.8 (Mountain Lion), 10.9 (Mavericks), or Apple iPad

And the supported versions of Microsoft Office:

  • Microsoft Office 365
  • Microsoft Office 2010
  • Microsoft Office 2013

As always be sure to perform the upgrade first in a development or sandbox org to verify that your customizations are still functioning post-upgrade before upgrading your production environment.

Dynamics CRM 2015 Outlook and Sync Enhancements

$
0
0

Microsoft recently announced new features that have come out with their next version of Microsoft Dynamics CRM 2015 (previously code named Vega).  Check out the Dynamics CRM 2015 Release Preview Guide to see what features came with 2015. 

Next up for our review are the enhancements being made to Outlook and the Sync Process.  One thing to note is that all the enhancements outlined in this blog apply to both the legacy Outlook Sync and new Server Side Sync process introduced with CRM 2013. 

Below are the enhancements that are included with CRM 2015.  We’ll go into a few of these enhancements in more detail later in this blog.

  • Contact Phone Number and Address Sync Improvements
  • Sync Outlook Assigned Task (Outlook task assigned to another user that is also in CRM).  This is not enabled out of the box and a System Setting needs to be enabled to turn this on
  • Sync Appointment Attachments.  This is also controlled via a System Setting.
  • Configurable Field Level Sync
  • Outlook Client

System Settings

Navigating to Settings –> Administration –> System Settings –> Synchronization will display the dialog of all the organization level settings regarding the Outlook sync process.  See below.

In this dialog you have a mix of legacy pre-2015 settings, and a handful of new 2015 settings.  The new configuration settings you have at your disposal are:

  • Synchronized Fields:  This is where an admin can modify what direction fields are synced.  This is explained more below.
  • Synchronize Appointment Attachments:  With 2015, you can enable attachments on appointments to synchronize between Outlook and Dynamics CRM.
  • Address Sync:  This is explained more in the section below.
  • Synchronize Assigned Tasks:  An admin can enable if Outlook Tasks that are assigned to another user are tracked in CRM or not.

image 

Contact Phone Number and Address Sync

With CRM 2015, Microsoft has changed the sync process for Contacts.  4 more phone numbers were added to the sync process for a total of 11:

  • Assistant’s Phone
  • Business Fax
  • Business Phone
  • Business Phone 2
  • Callback Number
  • Company Phone
  • Home Phone
  • Home Phone 2
  • Mobile Phone
  • Telephone 3
  • Pager

There’s also an organization level System Setting that allows you to indicate if you want to sync either A) just the Outlook Mailing Address, or B) all 3 Outlook Addresses (Business, Home, Other).  This setting is available by going to Settings –> Administration –> System Settings (shown above).

Configurable Field Level Sync

One of the biggest questions we’re asked over and over with our clients is what fields are synchronized between Outlook and Dynamics CRM.  There are a few sites out there that go into detail on what fields are synchronized, but nothing within the application provided by Microsoft.  They also don’t easily indicate which Outlook fields synchronize to which CRM fields, the direction of the sync, and the ability to turn off that sync (in other words, all fields synchronized all the time).

Now with Dynamics CRM 2015, you can navigate to Settings –> Administration –> System Settings –> Synchronization –> Synchronized Fields.  From this location, you can see the mapping between Outlook fields and CRM fields and the direction that the sync is currently configured for. 

image

For each field you can modify the sync direction so that it syncs both ways, sync one way, or don’t sync at all.  This is currently an Organization level setting that’s setup in the Settings area of CRM and one improvement that I can see here is making this a user setting so that each user can have individual unique sync experiences if for some reason they don’t want to share information about Contacts that are in their Outlook and also tracked within CRM. However, for the current release of 2015, individual users can at least view the sync directions that their administrator setup by navigating to their Personal Options –> Synchronization –> Synchronized Fields

There are a couple quick use cases that come to mind that I know most customers would be ecstatic to get their hands on:

  • Private Notes:  Turn off the sync process on the Outlook Notes field.  Therefore users can add Notes within Outlook and they won’t flow to CRM for everyone to see.  They can keep their own personal notes locally in Outlook.
  • Read Only CRM Data:  Set the sync direction on the desired read only fields to go from CRM to Outlook only, meaning updates in Outlook will not update CRM, and CRM will overwrite Outlook changes.

Another resource on this subject is an article that Microsoft recently published.  While having this in the application is useful, this link also provides more details for administrators.

Outlook Client Enhancements

There have been changes to the Outlook Client itself in addition to the sync changes. 

First off Microsoft has now added OAuth support to the Outlook Client.  This enables multi-factor authorization to the Outlook client and brings consistency across CRM clients (web and Outlook). 

Microsoft has also cut the clutter out of configuring the Outlook client.  Users simply need to provide the Organization URL to get up and running as fast as possible.  See below for what the configuration process looks in Dynamics 2013, and how much easier it is in 2015.

image

image

Also, in order to help troubleshooting issues between Client and Server, Dynamics CRM 2015 now automatically detects compatibility issues between the Client and Server.  A notification is sent to the user if a compatibility issue is detected.

Finally, another troubleshooting addition made by Microsoft is when errors are detected, a “Resolve This Issue” dynamic help link will appear.  This link will be dynamic and will search a server side database of articles that will route customers to the right resolution for their issue.

Upgrade Experience and Supportability

This topic isn’t really an enhancement, but goes into details on moving to the Dynamics CRM 2015 Outlook client, and what versions are supported.

In order to upgrade to the 2015 Outlook client, you must be on Outlook 2010 or higher (support for Office 2007 is being dropped).  Microsoft is also dropping support for:

  • IE 8, IE 9
  • Windows Vista
  • Windows Server 2008 Remote Desktop Services
  • Windows Server 2008 R2 Remote Desktop Services

The Outlook Client must be in “Online Mode” for the upgrade to succeed, and Microsoft is allowing all 2013 Outlook Client versions to upgrade to the 2015 Outlook Client.  Also, users will be able to continue to use the 2013 Outlook Client if they deploy the 2015 server.  However, they’ll only be able to use it in “Online Mode” (i.e., no offline capabilities will be supported).

The recommended process for upgrading your Outlook Client is the following.  This process will ensure users are able to continue to use their Outlook Clients during your server upgrade to Dynamics 2015.

  • Upgrade all Outlook Clients to 2013
  • Upgrade your server to 2015
  • Upgrade all Outlook Clients to 2015

We hope you’ll find that these improvements will add more configurability and robust functionality to the Outlook Client.  I can see some future improvements Microsoft may want to add in with the sync process (allowing administrators to add/remove/edit what Outlook fields sync to what CRM fields including the ability to sync to custom fields), but it’s good to see Microsoft is continuing to go down the path of putting more configurability options in the hands of administrators, and removing any hard coded logic.

Good luck with your 2015 upgrade, and with all upgrades, plan…test…plan…and test some more!!

Data De-Duplication through Fuzzy Matching

$
0
0

Today's guest blogger is Chris LaBadie, a Senior Database Developer at Sonoma Partners

Whenever we work on a data project for a customer the subject of cleaning their client data is always a discussion point.  The project could involve a migration from one CRM platform to another, integrating an ERP system into CRM, or even cleaning their data “in place”- but the message is usually the same, “we know we have duplicates in our data, help us clean it up!”

Anybody that has ever tried to track people or companies knows that it can be a huge challenge to avoid duplicate data.  When you have multiple users maintaining data, it is very common to introduce duplicate data no matter the de-duplication safeguards your system uses. 

Working with people-
•    Names can be difficult to track (misspellings, maiden names, nicknames, etc).
•    People move/change contact information.
•    Even unique fields like address or email address can be shared amongst more than one person. 

Working with companies-
•    Abbreviations or acronyms in names can present a challenge.
•    Companies can have multiple locations.
•    Often use different addresses to track billing, shipping, etc.

In our experience, there isn’t a magic bullet to eliminate de-duplication.  The best solution is usually a layered approach- use form validation to ensure quality data entry, intelligent system design to store records in an organized manner, and system de-duplication rules to search out potential duplicate data and present to a user records that might match the information they are attempting to enter. 

However, a common project for Sonoma Partners is moving a client to a new CRM platform and an important part of migrating data to the new platform is to identify potential duplicate data before it ever reaches the new system.  While this may sound like a large effort, it is actually pretty easy thanks to the Fuzzy Grouping functionality built into SQL Server Integration Services (SSIS). 

Fuzzy Grouping allows SSIS to inspect a set of data and compare one or more fields in the dataset.  Rather than comparing the field data, Fuzzy Grouping will match strings based on their sounds- giving more accurate results based on how a person would hear the string while overcoming misspellings, typos, abbreviations, nicknames, etc.  Note, you will need SQL Server Enterprise or SQL Server Developer edition to use Fuzzy Grouping.  This example is developed using the Business Intelligence Design Studio (BIDS) in SQL Server 2012.

In this demonstration we will process an Excel file of contacts.  This file can be generated from any other system and used in a process like this to identify potential duplicate data before that data is migrated to CRM.  The end result of this process is to produce a file containing potential duplicates so they can be reviewed and cleaned up in the source system before data migration.

Fuzzy Grouping evaluates the file of Contacts and compares them based on selected fields.  Potentially duplicate records are grouped together and assigned a group number.

After Fuzzy Grouping, the process splits so it can sort the results based on their Fuzzy Grouping group number and count the number of records per group. 

Finally, a step to check the group count determines which records are potential dupes- a group count of 1 means the record is unique, anything more than 1 means that group contains 1 or more records that should be reviewed.  The potential duplicates are then exported to an Excel file for review. 

dedupe-new-process 

Configuring Fuzzy Grouping is a pretty straight-forward process, just select the fields you want to compare and set the minimum amount of similarity (roughly a percentage of matching).  This process can involve a little bit of trial and error while you fine-tune the Fuzzy Grouping to identify the records that are potential duplicates without letting through any false positives. 

Typically we will start with lower minimums and go up until we are seeing the desired results.

DeDupeBlog-FuzzyGroup1 

When you run the process, you can see how many records it processes and how many records SSIS ultimately decided to export to Excel for review.

dedupe-new-process-complete 

When the process is complete, you can view the results in your Excel file. Here you can see the unique record number assigned to the record (KeyIn), group number (KeyOut), overall score (percentage of match to the potential duplicate record), similarities for First Name/Last Name/City (percentage of match for each column), and the Group Count (number of potential duplicates per record group).  The highlighted values in the screenshot show some of the values that were compared and demonstrate how Fuzzy Grouping can identify potential duplicates despite common misspellings, nicknames, and partial matches. 

DeDupeBlog-Output-cropped 

In conclusion, Fuzzy Grouping is an easy to use and powerful tool to assist in any data cleanup effort.  It is simple to setup, and quickly evaluates large amounts of data.  SSIS can provide you with all of the tools to make informed decisions regarding your customer data, your most valuable asset.


Dynamics CRM 2015 – Advanced Find Returns

$
0
0

Like most users of Dynamics CRM 2013, it’s taking me awhile to get used to the new navigation.  However, with any software deployment, it takes users time to get used to the new functionality and especially the new look and feel. 

It’s hard to remember when CRM 2011 came out (way back almost 4 years ago now) and the introduction of the ribbon.  What a crazy concept the ribbon was and how would we ever get used to it?  However, after using 2011 over time (and honestly any Microsoft product), the ribbon became second nature.  When Microsoft removed the ribbon in 2013, everyone complained it was missing.  How would we now get used to not having a ribbon?  I believe that over time Dynamics CRM 2013 and 2015 will fall into the same camp as 2011 where users will become comfortable using the new navigation and will have forgotten the ribbon ever existed.

We recently just upgraded our internal CRM deployment to 2015 and I’m forced to get used to the navigation even quicker than originally anticipated.  Of course with every new release there are those learning curves and the questions you ask “why did they do it this way?” but the good news is that with Microsoft, they’re listening.

One of the biggest complaints of 2013 is the fact that the Advanced Find was buried and not readily available on the global tool bar like it was in 2011.  In some areas of the application you couldn’t even initiate Advanced Find.  And those areas where you could, you had to click on the ellipsis to bring down additional contextual menu items to find Advanced Find.

SNAGHTML33926d4

However, the good news is in 2015, Microsoft has listened to initial feedback from users of 2013, and have added the Advanced Find menu back in the global tool bar so that you can always initiate Advanced Find no matter where you are in the application. Enjoy!

SNAGHTML3430206

CRM 2015 – Scripting Options for Business Process Flows

$
0
0

Since the release of business process flows in CRM 2013, we’ve been clamoring for more extensibility from a scripting standpoint.  With the release of CRM 2015 Microsoft has added several new methods to the javascript API that allow developers to greatly extend the out-of-the-box business process flows capability.

The following is a list of the new API methods from this MSDN article.  We are particularly most excited about the ability to dynamically hide/show the business process flow control.

Change the process when there are more than one process available for the entity.
Use Xrm.Page.data.process.getEnabledProcesses to retrieve information about enabled processes that the user can choose for the entity. Then use Xrm.Page.data.process.setActiveProcess to make one of the enabled processes the active one.

Move to the next stage when all required steps are completed to make it the current active stage.
Use Xrm.Page.data.process.moveNext.

Move to the previous stage and make it the current active stage.
Use Xrm.Page.data.process.movePrevious.

Select a stage to view the status of the steps in the stage.
Use Xrm.Page.data.process.getActivePath to retrieve information about the stages that have been completed, the current active stage, and valid stages available from the current active stage. Examine the steps included in that stage and compare the corresponding form attribute values to determine whether they are completed.

Complete a step
Steps are completed when the corresponding data in the form is entered. You can determine the attribute using the step getAttribute method. This will return the logical name of the attribute. Then use Xrm.Page.getAttribute to retrieve attribute from the Xrm.Page.data.entity.attributes collection and then use the attribute setValue method to set the value.

Detect whether a step is required
Use the step isRequired method to determine if a step is required by the business process flow.

Expand or collapse the business process flow control
Use Xrm.Page.ui.process.setDisplayState.

Hide the process control
Use Xrm.Page.ui.process.setVisible, you can control whether to display the business process flow control.

Skip to a valid completed stage.
Use Xrm.Page.data.process.setActiveStage to set one of the valid completed stages for the current entity.

Query the process definition including stages not currently visible
Use Xrm.Page.data.process.getActiveProcess to query the definition of the business process flow, including stages that might not be visible because of branching logic in the process.

Events for business process flows
You can interact any event provided by the form with business process flows, but two new events allow you to execute code based on events just for the business process flow control. You can execute code when the active stage of a business process flow changes (OnStageChange event) or when a stage is selected (OnStageSelected event).

The SDK team also provided a couple great samples for the new scripting methods.  Check out this sample on how to retrieve information about the enabled processes for an entity and this sample on retrieving information about the stages and steps in the active business process flow path.

Customer Success: For Jones Lang LaSalle, Success Can Be Found in the Cloud

$
0
0

Jones Lang LaSalle (JLL) is a financial and professional services firm that specializes in commercial real estate services and investment management. With an impressive workforce of 52,700 employees spread across 200 corporate offices worldwide, JLL turned to CRM to improve visibility into the core business of real estate availability. But with their original out of the box solution, sales reps found CRM to be cumbersome and difficult to navigate. Information about real estate availability wasn’t always accurate within CRM and too much information on each screen was a point of confusion for end users. What they needed? A customized global deployment of Microsoft Dynamics CRM.

“If we are going to remain a thought leader in commercial real estate, it’s crucial that we not only have the right data analytics tools, but also have systems that are agile and flexible.”
- Greg Adams, Managing Director of Information Technology for JLL

Today, JLL uses Microsoft Dynamics CRM, SharePoint and Office 365 to get the job done. But for JLL to grow, they needed agility and flexibility - two things the cloud could give them.

The following is an excerpt from the full customer story published by Microsoft:

JLL used Microsoft Dynamics CRM on premise for several years, but is working now to add 3,500 Microsoft Dynamics CRM online seats to their current 2,000, allowing their offices in Asia, EMEA, Australia, the US, and beyond to have access to the same data analytics tools and more seamlessly integrate across continents. They envision their Microsoft Dynamics CRM system as a hub of information for their properties, accounts, and services so their people not only have the right information, anywhere, on any device, but also can be more proactive in their discussions with customers. The company is also planning to move its full Microsoft stack to the cloud, and is considering adding Microsoft Social Listening.

“With a company our size, you have to have customizations around business processes – both for individual offices and across the entire company.” Adams says. “As we look to the future, if it can’t operate in the cloud, we will probably look elsewhere.”

New Call-to-action

 

CRM 2015 – Custom Help Content

$
0
0

With CRM 2015 Microsoft added the ability to customize help content on a global level as well as an entity level.  Your content will then be surfaced by clicking the question mark icon at the top right of CRM. 

image

Depending on what entity grid or form you are on, CRM will either take you to the custom help URL specified for that specific entity or if a URL isn’t specified then it will take you to the custom help URL specified at a global level with context information passed in as a parameter.  If a custom help URL isn’t specified at an entity or global level then it will display the native CRM Customer Center.

To setup custom help at a global level:

  • Go to the System Settings in CRM (Settings –> System Settings)
  • On the General tab, scroll down towards the bottom to find “Set custom Help URL”

image

  • Set “Use custom Help for customizable entities” to Yes
  • You can now specify a URL in the “Global custom Help URL” field
    • This URL can also be a relative path to a custom web resource, for example: /WebResources/new_/help/content/global.htm
  • Set “Append parameters to URL” to yes if you would like the following context information to be appended to your custom URL
    • User Language Code: userlcid
    • Entity Name: entity
    • Entry Point: hierarchy chart or form
    • Form id: formid

To setup custom help at an entity level:

  • Navigate to the entity information in the solution
  • Check the “Use custom Help” box

image

  • You can now specify a URL in the “Help URL” field
    • This URL can also be a relative path similar to the global custom help, for example: /WebResources/new_/help/content/account.htm
  • Publish Customizations

Form Record Navigation in CRM 2015

$
0
0

If you’re like us at Sonoma Partners, and have upgraded to CRM 2015 already, you’re also getting used to the different UI of 2013/2015 compared to 2011.

I may be one of the odd ones where I enjoyed 2011 opening each link in a separate tab (I changed my IE settings to open in a tab, versus a new window).  This way I could multi-task and have many different tabs for different records that I was working with.

However, in order to get this functionality with CRM 2013/2015, I now resort to right clicking in a list/grid, and selecting “Open in a New Window” and now I’m back to the navigation that I’m used to.

image

However, doing this comes with a price of losing some other functionality.  Another great CRM feature is the previous/next navigation arrows on a record form to navigate quickly between records from the view you came from.

However, if you right click and open your new record in a separate window/tab as I did above, these arrows don’t appear.  If you navigate the way 2015 was built (double clicking a row and having it open in the current window/tab), then these arrows appear.

Just something to be aware of as you choose your own adventure for how to navigate around CRM 2015.

image

image

Viewing all 206 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>