CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

Activity Timelines in Dynamics 365

This is my third blog relating to new features with the Spring Release of Dynamics 365 (July 2017).

My previous blogs can be found here:

Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of the Activity Timeline presentation on the first (of three) days of the briefing – there are still a lot of unknowns at this point so please bear with me!

Activities in CRM

Task

Activities play an important role in providing key information to some or all Users who interact with a particular set of records in your CRM system – after all, CRM stands for Customer Relationship Management. Part of managing your customer relationships is being able see all interactions/communications with your customers in a singular view.

Activities from a Sales perspective:

  • This could be Emailing out a Quote to a customer regarding your Opportunity with them
  • Nurturing your potential Leads by providing additional information with a Phone Call or Sales Meetings
  • Setting up reminders to chase your finance team to see if the Account is on credit hold or not.

Activities from a Customer Service perspective:

  • Sending out automated Email notifications to your customers about the progress of their support ticket
  • Providing Phone call support to your customer as you walk them through a potential resolution to their issue.

Recording Activities in CRM

All this information is can be tracked in Dynamics 365 as Activity records, which can then be related to key records in the system (with Set Regarding). For example – the Email notification would be related to the Case (Ticket) and visible from the Case record.

Tracking of these Activities records (creating a copy in CRM) can be achieved via Outlook by one of two ways:

Collaboration in CRM – Activity Feeds

Collaboration between Users is crucial in successful organisations – recording the collaboration or providing new ways to collaborate is even better – especially from a CRM perspective as you can ask questions to other Users who may be able to respond to a wide audience or in the context of a record.

Post

Activity Feeds were introduced back in the early days of CRM 2011 (roll up 4 or 5) as a separate managed solution (and integrated into product at a later date) – this allowed Users to send messages (in CRM) to each other directly from the context of a record (for example the picture above shows a post on the Account Wall).

With Activity Feeds you can:

  • Follow Records
  • Record Manual or Automated Posts
  • Comment
  • Like/Unlike Actions

The following blogs provide a good overview on Activity Feeds:

The rise of the Social Pain (Pane)

CRM 2011 UR12 (or the Polaris release) introduced the Social Pane to the CRM community as part introducing a more social concept to CRM.

It was initially well Microsoft received and provided a much need upgrade to viewing the following types of records in a singular view:

  • Activities (combined list with the possibility of interacting with them)
  • Notes (new way to view and create and attach new Notes to the record)
  • Posts (if enabled)

As it currently stands, the Social Pane looks like this:

socPan

The upgrade to Dynamics 365 has actually caused some graphical problems – increasing the spacing between the “Add Activity “options (Add Phone Call              Add Task            ….).

Benefits

The Social Pane allows users to interact or complete simple actions with Activities individually (like completing the Activity) without having to open the record itself – effectively an in-line edit.

edit

Users can switch between the three different (4 with KB articles on a Case) areas of information quickly on the same area on the form.

tabs

Room for improvement

You know about the CRM Ideas website don’t you? If not – take a look here because the CRM community provided feedback to the product team.

Some of the most requested functionality/improvements to the Social Pane are:

  • Sorting Order of records displayed in the Activity View
  • Customizing the fields displayed (show created on)
  • Changing the filters (remove custom activities)

Microsoft knew that they needed to improve the Social Pane, and here is the answer.

Introducing the Activity Timeline

Microsoft have announced the Unified Interface – one of the standout features of this is the new activity Timeline Control (Social Pane 2.0).

1

That looks like the Social Pane?

Yes – it does, but it has been redesigned from the ground up and has the standout points:

  1. Combined single view of:
    • Activities (and custom Activities)
    • Notes
    • Posts
  2. Replaces the Social Pane from the legacy web client and Timeline Control on Interactive Service Hub (ISH)
  3. Available on Mobile and browser client and dashboards!

Unified Interface Only

This is only available on the Unified Interface and not the Web Client – although the Web Client has had a refresh and the Social Pane is still included in that refresh (i.e. clearer tabs)4

What is new with the Timeline?

Filters

Firstly – when you navigate to a record enabled for Activities (like an Opportunity or Case) you will have new filtering capabilities (i.e. Text or Visual) to filter down all the records displayed in the Timeline. Here we can see the Timeline has been filtered to show Activities and the the 1 Closed Activity:

rec

Extending Inline Actions

The quick actions that you can take on Activity records has been extended to allow you to choose between:

  • Closing (Mark Complete) the Activity
  • Add to Queue
  • Open Entity Record
  • Assign the records (cool if I want to create a task and assign the task to a different User)
  • Delete the record

Who needs a Ribbon to carry out these actions?

inline

View Attachments

Microsoft has added the ability to view all attachments (including Email Attachments) and download them, inline, without opening the record!

So a customer has requested that you read the document attached to the Email they sent you, these are the steps you would have to take currently in Dynamics 365:

  • Open the Email record
  • Find the Attachment
  • Open the Attachment
  • Download the Attachment to your computer
  • Open the Attachment

It will also open the correct Office product (like Word) if it detects the correctly associated file type if the attachment is clicked. #ProductivityIncrease

Attach

What you missed?

Your first action when opening records is to view what has changed since last time and would probably involve looking at the recent Activities.

Now Dynamics 365 will record the time you last accessed the record and display a summary (filter) allowing you to see what Activities/Posts/Notes have been recorded since then.

missed

Timeline with the Mobile App

Device Hardware

If you are using the Timeline Control on the Mobile App – you will be able to interface with your Phones Camera/Microphone to capture Videos, Pictures and Audio recording automatically and save those as Attachments with Dynamics 365 (make sure you start considering to manage online storage here!).

media

Activity Feeds

Activity Feeds (Posts) will now work in the Mobile Client (in the Unified Interface). These were previously not available.

possss

Configuration – Wait there is more?

Microsoft have listened – they have also included configuration options for the Timeline control providing customisation possibilities for what used to be a hard-coded approach!

Module Configuration

You can now specify what appears in Timeline by Module Type (Activities, Notes and Posts). If you do not use Notes, hide them!

Config_mod

Activity Filter

Do you use custom Activity Types (i.e. Portal Messages) and do not want these showing on your Account Timeline? Filter them!

Say what now?!

You can also sort the Timeline by different fields (i.e. Last Updated or Created On etc.which was introduced with 8.2)

act_fil

Activity Card Forms

You can now choose which forms display (and type of forms to use) for each different Activity Type.

  • Decide whether to create records using the Quick Create or Default Forms
  • Display Activities using a Card Form
  • Choose which Card Form to use on an Activity by Activity basis

cardforms

Timelines on Dashboards

New option for creating a Timeline Control on a Dashboard – this is a logical replacement for the Activity Wall Web Resource (currently available in the Web Client).

dashb

There are several limitations with the Timeline Control for Dashboards – which should be immediately noted so you can plan for them:

  • This will not automatically replace the existing Activity Wall and will need to be built to replace it.
  • The existing Activity Wall web resource will not render in the new Unified Interface
  • Vice Versa – the new Timeline Control will not render in the Web Client
  • Only shows Activities and Posts

Community Driven

WOW – Timelines look impressive in my opinion, they are a much welcome change to the way we currently interact with Activities in general and will hopefully provide an easier experience for all. But – this is all because of you, the CRM community.

The preview briefing want to emphasize the importance the CRM Community played here in driving the functionality provided. So, thank you everyone!

The following slide shows which Feedback has driven the development of Timeline. This shows that most of the feedback originated from the Idea Site.

feed

If you still think there is room for improvement – then raise an idea! What is the worst that can happen, hey?

Thoughts

There is a lot coming with the new Unified Interface, and whilst the Timeline feature is a small portion of this new functionality – this has the potential (in my eyes) for one of the greatest impacts to the User Experience across each device. I am thoroughly excited with what is to come in the next release of Dynamics 365 – yet there is still so much to learn.

Thanks for reading,

MW

CRM, CRM features, Dynamics 365, Mobile, Unified User Interface

Unified Interface – Dynamics 365

This is my second blog relating to new features with the Spring Release of Dynamics 365 (July 2017).

Please note any pictures are taken from the Dynamics 365 Preview Executive Briefing which can be found at the following link (by CRM Innovation). All information contained in this blog is a summary of two presentations across the three days of the briefing – there is still a lot of unknowns at this point so please bear with me!

Accessing Dynamics 365 – the current Interfaces

Dynamics 365 as we currently know it – Microsoft allows us to access our Dynamics 365 data via the following (out of the box) methods:

Extending your implementation within the Microsoft Stack, Microsoft provides the following options:

  • PowerBI – for powerful Reporting capabilities and new ways to visualise your Dynamics 365 Data
  • PowerApps – Easily build and deploy, small cost – large scale no-code approach based Apps
  • Dynamics 365 Portals – Formally ADX Portals
  • Unified Service Desk – .Net windows application which can integrate a wide array of Applications for Customer Service Users in a Unified Interface.

Current issues

When designing and building Dynamics 365 solutions for a customer, system customisers need to consider impact each customisation change will have on the various methods of interfacing with Dynamics 365. For example, one of the main considerations is designing forms where Mobile Form limitations exist.

TABLET_Current

When adding a new Field to a Tab on the Contact entity (for example) – whilst we do not need to worry about how many Fields or Tabs there are on the Form or where they are located when Users access D365 through the Web Client, we are however constrained to the number of Fields and Tabs that can be displayed on the Phone or Tablet apps:

  • 5 Tabs OR
  • 75 Fields and 10 Lists

So anything located in the sixth Tab or the 76th Field will not be shown on the Mobile App and if Client Side automation (such as JavaScript) executes/requires that field; then an error may be shown.

Extending CRM Forms is a common scenario using JavaScript or Web-resources/i-Frames, sometimes these are not always supported on Mobile devices and special functions are needed to stop them from running on the Tablet or Phone (getClient() or when the client is Offline).

Layouts are another issue – with the Web Client, you  are allowed to define a Tab with 1-3 Sections with no clear Headings existing; whereas the Tabs on the Mobile device will only have a single Tab layout which stacks all sections (inside a Tab) on top of each other.

Web Client issues

Microsoft highlighted the top customer feedback from the CRM community regarding the current design and state of the Web Client as it exists today. This is a mismatch of the old style V5 (CRM 2011 forms) and the 2013+ forms. The feedback is as follows:

  1. Too much White space on the forms
  2. No text wrapping – so it was often hard to read the full label or field value
  3. Header Text is cut in both directions
  4. Non-intuitive input controls/tabs – the social pane tabs where hard to identify
  5. Missing a Tab/Visual Hierarchy (unlike the 2011 Tab tree hierarchy)
  6. Inconsistent spacing between Columns and Column Spacing – Tabs or sections where all different spacing which created an ugly look to them.

999

The Accessibility vision

The Spring Release Briefing contained a quote from Satya Nadella (from the Microsoft Shareholders Meeting 2017) stating:

We will focus on designing and building products that our customers love and that are accessible to everyone and built for each of us

The Microsoft Dynamics 365 product team has taken this  vision and created the Unified Interface which essentially is a Common UI across platforms and devices.

Accessible Unified interface

Microsoft have developed the Unified Interface which essentially will be the same architecture under the hood for the following interface and will provide the same experience, with Mobile Offline and faster synchronization when initially connecting to Dynamics 365:

  • Tablet/Phone Client
  • Mobile Web Client
  • App for Outlook

The Unified Interface provides a Responsive UI – which can re-scale/resize automatically adapting to device screens across the different form factors.tt

It will deliver common functionality between platforms – for example Controls, styles themes. System designers will only need to customise once, and deploy on all devices.

Web Client Refresh

The Web Client has also had an overhaul which provides a cleaner look and feel to the current layout.

999

Microsoft have provided the following changes with this refresh:

  • Uniformity – with font standardization across all areas of the form (no more Times New Roman popping up everywhere!) for consistency
  • Reduction in white space across the form – in-conjunction with Borders
  • Allowed for text wrapping – especially with long Field/Section labels or values (can be turned off at system level.
  • Implemented the ability for themes (i.e.Headers or Section Headers) and theme the Sub-grid Headers with different colour based on the record type.
  • Empty States in empty containers (like in the Social Pane below)

11111

To truly appreciate the new look and feel of the forms – I highly recommend you register and watch the Preview videos (link at top of page); they say “a picture speaks a thousand words” – a video showing a responsive UI is a completely different story.

Thoughts

There is still a lot of information we are missing and do not yet know about the new Unified Interface, this blog was written using only the preview demo and slides we have seen. So please, watch this space over the next few months as more details arise regarding this new UI/functionality.

Thanks for reading!

MW

App for Outlook, CRM, CRM features, Dynamics 365

(RIP) Microsoft Dynamics Client for Outlook (CRM/365)

This is a clone of my original article from LinkedIn which can be found here and grammar corrected. I have added this article here as to collate all blog posts I write in relation to the D365 Spring Release as stated in my later blog.

Next Dynamics 365 Release Update

Over the last few days, Microsoft announced their latest update to Dynamics 365 – The Microsoft Dynamics July 2017 Update (spring release in summer!). To say this is a small minor update would be a big understatement, this is probably the biggest update that Microsoft have ever undertaken since Dynamics CRM v4.0.

Pierre Huslebus tweeted:

After working with #msdyn365 since 2002 v 1.0 this is by far the biggest update we have ever seen. So many #GameChangers#MicDrop

Dynamics 365 MVP Jukka Niiranen collated tweets across 3 Storify boards (1 for each day) which the CRM community shared for others too see on Twitter (thanks again Jukka!).

I am sure more and more blogs will posted with various CRM community members over the next few weeks detailing an overview or focusing on specific areas of new functionality that will be released. Whilst there are so many new pieces of functionality I would like to blog about, I will focus on one item I have taken immediate note of – an announcement which may slip under the radar for most:

Deprecation of legacy Microsoft Office components

The deprecation announcement includes:

  1. Outlook Client – Which includes Outlook Offline and Online Sync (Finally)
  2. SharePoint List Component – (nothing new here – already announced before)
  3. Mail Merge Word Addin (I also assume this will apply to not being able to download and use Export to Excel: Dynamic Worksheets as this requires the Outlook Client)

Back in March – Dynamics 365 MVP Steve Mordue wrote an excellent blog on the why the Outlook Client for Dynamics 365 should be deprecated; yesterday his wish came true!

Email Router/Office 2010 Deprecation

Microsoft have previously announced that the Email Router has been deprecated and so had support for Office 2010, it was only a matter of time before the last client based email synchronization method with the Outlook Client deprecation announcement.

What does deprecated mean?

Deprecated means that Microsoft will remove support for this product some time after the Dynamics 365 July 2017 release.

This does not mean it will immediately stop working (unless this is fully dependent on the 2011 endpoint which will also be removed) and there will be some time to allow Organisations to switch to the new App for Outlook.

It is worth also noting that you obliged to apply at least 1 major update per year with Dynamics 365 online’s update policy – so if you have just upgraded to Dynamics 365 Online – you will still have about 1 year to consider your options and test any new functionality/changes.

App for Outlook – preparing for the Cloud

Over the last few releases – Microsoft has slowly but surely adding support for the various Server Side Synchronization combinations which the App for Outlook requires and Users will need to be running at least Exchange 2013+ with Office 2013+:

  • CRM Online – Exchange Online
  • CRM Online – Exchange On-Premise (most recently added)
  • CRM On-Premise – Exchange On-Premise
  • CRM On-Premise – Exchange Online

The App for Outlook

Companies will need to start thinking about looking at the new Dynamics 365 App for Outlook – the cloud based Microsoft Exchange Addin (which also will gain some vast improvements in the next release).

There is no client installation (I hear Consultants/support teams screaming with happiness) as it is provisioned through Exchange as an Third Party Addin at the server level. This also allows it not to be device specific (i.e. just Windows OS with Office installed)

This allows you to:

  • Track Emails (and Set Regarding) and view related record information
  • Track Appointments (and Set Regarding) and view related record information
  • Track Contacts and link them to Accounts
  • Create Tasks/Phone calls*
  • Use on multiple devices – i.e. Outlook, Outlook Web App, Phones (iOS, Android and Windows using the Outlook Device specific app) and Outlook for Mac

*Tracking functionality not currently available for Tasks and Phone calls

There are some technical requirements/limitations to the App from a Software point of view.

Will I loose Offline Capabilities?

The Outlook client as the option of an Offline mode – which basic installs a local SQL database and synchronised your Dynamics 365 data so you can work offline when you loose an internet connection. So the initial answer is – yes, if you have enabled this.

The App for Outlook is currently used in an “Always Connected” instance – meaning that there needs to be a constant active connection to the Dynamics 365 server (i.e. Online requires an internet connection.).

There are workarounds to Offline

The Dynamics 365 for Phones/Tablets App (remember you can install the tablet version on your Windows PC through the Windows Store) has Mobile Offline Synchronization capabilities. These apps provide another way of accessing your Dynamics 365 data, formatted to the display of your device. In my opinion – this is a better way of accessing your data than through the clunky interface of Outlook web page rendering.

Preparation for the App for Outlook

Whilst a lot of Dynamics CRM/365 customers may be shocked at this path Microsoft has now laid out, they will need to be considering the impacts to their organisations from a business and technical point of view and start preparing to make the switch. Some questions/items to consider:

  • Switching/Testing Server Side Synchronization for each Mailbox (incoming Emails, outgoing Emails and Activities, Contacts and Tasks).
  • What is your Microsoft Exchange version – will this need to be upgraded? (if running 2010 – you need to be at least on 2013).
  • Which Microsoft Office versions are installed on Users machines: Office 2013 is a minimum (anyone running earlier versions cannot use the App).
  • How will you uninstall the Outlook client across each Users machine?
  • Do your mobile devices run the Outlook App?

The good news

Support Teams and Implementation Consultants (and even infrastructure teams) will be rejoicing at the news – the Outlook Client has always caused a fair amount of pain over the years. It has been unstable – memory leaking (left, right and center), synchronizing/network/firewall issues where common place and was very costly to support (from a resource perspective). So over a period of time – the (hidden) cost of the Outlook Client will become more noticeable (absent) as the number of support issues that arise (where implemented) decrease drastically!

Final thoughts

As a Technology consultant, I am always trying to keep up to date with the latest technology – but also be aware of the changes and impacts to existing organisations/customers that are using soon-to-be obsolete technology. This is a very exciting release of Dynamics 365 and I look forward to learning (and reading) other community content about the latest release.

Thanks for reading.

MW

CRM, CRM features, Dynamics 365

Dynamics 365 – Multi Select Option Sets!

Spring Release 2017 – July is Summer right?

Microsoft announced the next release of Dynamics 365 (D365) – the July 2017 Spring Release last week (20-22 June) with the Dynamics 365 Preview Executive Briefing; the unedited content will soon be uploaded to the Dynamics Learning Portal.  All photos have been taken from this Preview Briefing.

Over the next few weeks, I will be writing a few blogs detailing some of the new functionality that is expected with the Spring Release of D365 release and the impact it may (or may not) have on customers moving forward. I recently wrote an article on LinkedIn relating to the deprecation of the Outlook Client.  I will be bringing that article to this blog to collate all posts together so it is available from a single location.

Community Overviews – Spring Release

Currently – CRM Innovation have hosted unedited links to the Videos (Thank you!):

Dynamics 365 Preview Executive Briefing

There are already some good blogs on the overviews coming with V9.0 which I recommend that all should read:

Community Requests

Microsoft allow members of the CRM (Sorry Dynamics 365) community to post ideas/requests for functionality within the Dynamics 365 application with its new Ideas site. One of the most requested features is “Multi Select Pick-lists” of which the first instance of this request is at nearly 500 votes – combine this with the other duplicate idea threads, this becomes one of the most requested items of functionality for Dynamics 365, ever.

500
Requested – 5 years ago, I was still a baby consultant!

Option Sets – a brief history

From my knowledge/experience – we (as CRM customisers) have had the functionality of an Option Set from CRM V4.0 (I assume V3 also based on the Idea above).

Whilst Creating an Option Sets are great for restricting values to Users, these were bound to the Entity where these Option Sets where created, if you required the same options on a different Entity, then you would of had to recreate that Option Set on the additional Entity (this concept became known as Local Option Sets in 2011).

This would be pain if you had a Country Option Set on the Contact and Account Entity… and where the concept of a Country Entity may have been a better choice as you could import the Countries as records which could be used instead of an Option Set.

With Dynamics CRM 2011 – Global Option Sets where introduced, this allowed system customisers the ability to re-use Option Sets across different Entities.

Power Objects have a good guide on Global Option Sets.

Flash forward to the present

Currently – out of the box, Dynamics 365 still does not provide Multi-Select Option Sets; the nearest methods (without using 3rd party add-on’s/bespoke customisations) to providing this functionality out of the box is to use:

  • Multiple Boolean fields (where each option is a separate Yes/No field which the user must select a value for)
  • Utilise an N:N relationship (Many to Many) with an Entity (similar to the Country Lookup).

The downside is the User needs to either select multiple field options or relate many “Option” records to the current record (i.e. a Contact record may have many Interests related to their record which would better represented as Multi-Select Option Sets), both instances increase the complexity of the system design and the way the data can be reported on.

“We have listened”

Microsoft have finally announced with the Spring release of Dynamics 365 (link will be added with official MS Announcement) that Multi Select Option Sets will be released for Dynamics 365. Microsoft highlighted the following properties of the Multi Select Option Sets

3

New Data Type

There will be a new Data Type available when creating Attributes called “MultiSelect OptionSet” which will create a new Attribute with this functionality provided. From an Option Set point of – this will use the Global Option Set functionality allowing you to use your existing Option Set values or create new ones.

dt

These are created and added to Forms and Views like normal Option Sets (local or global). They can also be queried in the same fashion as other fields through the API.

What do they look like?

Forms

From a form perspective – they look like a normal Option Set but with a check box next to each option allowing Users to select one or more option values. There is also a Select All check box at the top of the drop down list which will select/deselect All option values.

10

Views

When looking at view – these new Attributes will display as a semicolon separated list for each returned row.

8

These columns can also be filtered to show rows matching the criteria applied.

9

What about Advanced Find Queries?

MultiSelect Option Sets can be also included in Advanced Find – these Attribute Types have 6 operators to choose from:

6

If a User selects an Equals operator and then selects two options (i.e. Country option list and France and England are chosen) then records where ONLY those two options are chosen will be returned (i.e. records where only France and England have been selected).

Whereas if a User selects the Contain Values operator (i.e. Country option list where Finland and USA are chosen) then all records that contain any of the option values specified will be returned (i.e. all records that contain Finland or USA in the MultiSelect Option Set will show).

Where can I use these?

These new controls will be available on the following:

  • Web Client and new Unified Interface (Mobile as well)
  • Advanced Find and Fetch XML
  • Platform and Client SDK

Can I change my current Option Sets to MultiSelect Option Sets?

Unfortunately No – you will need to recreate these fields as MultiSelect OptionSets and use the same values if the Options are saved to a Global Option Set.

Thoughts

This is a long (and overdue) item of functionality that should be warmly received by the Dynamics 365 (CRM) community. Perhaps this is the first set towards non-code out-of-the-box filtered option sets?

Thanks for reading.

MW

 

CRM, CRM features, Dynamics 365, Mobile

Factors which can affect Dynamics 365 Performance.

Dynamics 365 for the Mobile Age

In the mobile age, performance and a responsive User Interface in Dynamics 365 are key items when discussing user adoption, Users require access to their data on a multitude of devices and locations around the world (thank you Dynamics 365 Online). Implementations need to be designed to work efficiently on any device that access Dynamics 365. Whilst working on Dynamics CRM projects over the last 6 years or so, and more recently Dynamics 365, the technology surrounding a CRM implementation has grown and so too has the functionality provided with Dynamics 365 compared with Dynamics CRM 2011.

Whilst working on CRM 2011 (at release), Microsoft only supported the following access methods:

  • Internet Explorer
  • Microsoft Dynamics CRM Client for Outlook
  • Basic Mobile Express form (if you were lucky to have IFD implemented, this was your first mobile access to CRM).

System customisers only needed to focus on performance for these types of devices, it was not until CRM 2011 Rollup 12 that additional browser support was introduced.

Microsoft supports access to Dynamics 365 with multiple different browsers and devices through feature rich mobile applications for either iOS, Android and Windows.

Microsoft support access to Dynamics 365 via:

  • Internet Explorer (10 or 11)
  • Google Chrome (Latest release)
  • Firefox (Latest release)
  • Safari on Mac OS X (Latest release on latest OSX release)
  • Native iOS apps for iPad or iPhone
  • Native phone and tablet apps Andriod and Windows Apps
  • Microsoft Dynamics 365 App for Outlook
  • Microsoft Dynamics 365 Client for Outlook
  • Interactive Service Hub (ISH)
  • Unified Service Desk (USD)

My Dynamics 365 is slow

When discussing performance with the customer in the context of Dynamics 365, this is usually because of statements “the system is slow” or “the system freezes when opening a form”  from the end Users.

As a Dynamics 365 consultant, I know that there are a multitude of factors that can be the cause of these types of issues. The problem is identifying which factor is causing the issue; generally this can be down to one of the following:

  • Network Performance (Speed and Response time)
  • Server Performance (Dynamics 365 Server and processes)
  • Client Performance (Desktop/Laptop/Mobile)
  • Dynamics 365 customisation

One of the key factors when a designing Dynamics 365 solution is for the consultant to be aware of the factors and design the solution in such a way it will help prevent or minimise the above factors where possible. Consultants can do this by thinking about the customization they are building or have discussions with the customer about the devices that the end users will be using to access Dynamics 365. If the system is unresponsive for a period of time or takes a while to load a form, this is going to decrease users perception of the application,user adoption will decrease and drive a negative view of the implementation with the customer, so your design is the best place to start.

This blog will provide you with an insight to what I have learnt over the last 6 years or so when designing Dynamics 365 solutions to minimise the impact of Network performance and Page Load times. I will also include a few links to tools that you can use to help diagnose issues with your implementation or references to new functionality to aid with system performance in Dynamics 365.

Network Performance

Microsoft Resource: Verify network capacity and throughput for Dynamics 365 clients

When discussing Network performance with the customer in the context of Dynamics 365, this can usually relates to how fast can affect CRM page loads or the page becomes unresponsive. The two items related to Network performance generally affecting load times are:

  • Latency – Response Times to and from the client and server, generally referred to as a ping measured in milliseconds (ms). This can be affected by other network traffic accessing the same network and the number of server connections.
    Request A needs to travel from client T to target server Z, where the Request will travel through various ISP servers U, V, W X and Y before reaching its destination and a Response is given by the target server Z.

    Microsoft state for Dynamics 365 that a latency of 150 ms or less is the recommended value.

  • Bandwidth – The maximum speed/size of the Network connection (measured in bits/second i.e. 20Mb/s) which data can be transferred across between source and target. If the Network bandwidth is set at 1Gb/s (Gigabit) then it can transfer a 1 GB (GigaByte) file in approximately 7.4-8 seconds. The Upload bandwidth is usually the limiting factor and not the download (as in most scenarios this is a lot bigger than the upload).

    Microsoft state for Dynamics 365 that a bandwidth of 50KBps (400 kbps) or greater is the recommended value.

WiFi networks and 4/3G mobile networks generally have a higher Latency and lower Bandwidth than a wired Ethernet cable connection; I recommend using a wired Ethernet connection over a WiFi connection (where available).

That being said – some Internet connections actually have a higher latency due to the remote location and distance from the ISP server regardless of whether they connect through WiFi/Ethernet or 4/3G.

Identifying Network Performance Issues

As a consultant, usually you can make the recommendation to the customer to use one type of connection over the other (if applicable), but this is usually out of your control. To help identify Network Performance issues – you can run Latency and Speed tests at different points or methods of access on the network.

Speed Test – Bandwidth

For Latency and using the web client, you can use the diagnostics tool to help measure your latency along with some other additional browser tests. Whilst this performs a Bandwidth test, you are better off using a service like typing speed test into Google.

SpeedTest

Dynamics 365 Diagnostic Tool – Measure Latency

To access this feature in Dynamics just add the following to the end of your organisation URL:

/tools/diagnostics/diag.aspx

https://FULL DYN365 URL/tools/diagnostics/diag.aspx

i.e. https://mycrmorg.crm4.dynamics.com/tools/diagnostics/diag.aspx

Diag Tool Test

Server Performance

The Microsoft Dynamics 365 server really only implies meanings to On-Premise installations, as you have no control over the hardware specifications with the Online version as Microsoft control this without paying a lot of money like Azure Express Route and more additional premium services (i.e. to be on your own set of dedicated servers in the MS data-center).

I have not worked with On-Premise now for a few years in great honesty, my focus is mainly for Online Deployments so I cannot provide any tips or tricks than the standard Microsoft resources related to the hardware or software recommended requirements for implementing Dynamics 365 (except do not touch the SQL DB!).

But – when designing and building the actual solution, this I can help provide some insight into as this topic encompasses both the online and on premise versions of Dynamics 365.

There are three main items to consider when designing and building Dynamics 365 solutions when discussing Server performance and best practice, which I will discuss separately. These are:

  • The Security Model
  • Plugins and Workflows
  • Data Query Optimisation

The Security Model

When retrieving data – CRM uses its own API to convert client or server-side requests into SQL queries against the back-end SQL database; when a request is made, the first query is made against security access rights that the requesting User has too. In the following example a User tries setting the Parent Account for a particular Contact, the system needs to check whether the User has the Append privilege on the Account and the Append To privilege on the Contact.

Security Roles

The Security Model in Dynamics 365 can be as simple or complex as you want it to be, with different levels for Business Unit hierarchies, Manager or Positional Hierarchy. Users can access Dynamics 365 with Security Roles which they are either:

  • Assigned to (via the User record)
  • Inherited From (Teams they are Member of)
  • Record access which are directly or indirectly shared with them

SecurityRoleSecurity Roles in Dynamics 365 are additive and the least restrictive permission wins. To query the Security Roles of each User, Dynamics 365 will query the Roles through multiple layers to return the permissions for what they are allowed to see from an interface perspective and from a data (records) perspective. This order is the following :

  1. User Security Roles and privileges
  2. Teams Security Roles and privileges (and the Users membership of those Teams)
  3. User’s Business Unit, and their Teams’ Business Units (for Teams that have Roles with access level of Business Unit or Parent: Child Business Unit)
  4. Records explicitly or implicitly shared with User, or User’s Teams (Access Teams)

So from a record perspective – if a User has User/Team read access to an Account that is Owner by someone else in an Access Team they are a member of, this query will take a lot longer to retrieve than an Account owned by them as their own security role would allow them to see the record.

To assist query times, Dynamics 365 does cache some of the access information (i.e. whom has which Security Role and Owner Team membership) to speed up the query as the information exists – but items like membership to Access Teams is not cached and is ultimately slower to query, and any records displayed to the User will take longer to return data.

My recommendation is to keep security to a minimum where you can, unless there is a business case/requirement that requires that type of data (or functionality) to be restricted to certain Users (for example Deletion rights to a specific entity is restricted to Data Admins). Performance impact will be negligible for solutions where Access is the least restrictive.

Plugins and Workflows

In the Microsoft Dynamics CRM 2011 days, a lot of the deployments where On Premise deployments, Workflows where only Asynchronous and bespoke plugins and JavaScript where your best and worst friends where business requirements could not be met using out of the box functionality. The potential for bad code (from a performance perspective) was ever so much more present back then, different developers has different coding styles and there were always more than one way to meet a requirement through code.

Plugins could some time take a while to execute depending on the complexity and the queries/actions they undertook, Workflows could be stuck in an infinite loop or have multiple sat in waiting state – until the action/date was reached; each of these could would have a negative impact on the Server.

CRM 2013 to Dynamics 365

Microsoft have introduced new functionality with each version of CRM since the 2013 release, this release brought in:

Workflow

The aim is to provide system customisers with the ability to meet greater or more complex requirements whilst using the out of the box functionality.

Business Rules and Business Process Flows aim to break down the dependency of using client side JavaScript and guide the Users down a correct path to enter data. Synchronous Workflows removed the full dependency on writing plugins to meet requirements as the Workflow would execute is the same manner as a plugin. These pieces of functionality would reduce the additional code overhead on the server as no additional code would be required as the code would effectively be written in a supported and consistent way by CRM.

I recommend using out of the box Dynamics 365 where you can – a good consultant, developer or architect will know when a requirement cannot be met and will require bespoke automation to be written. Out of the box provides value to the customer regarding the solution; they should not be paying for your time to re-write the functionality if it can be met using out of the box functionality (say a Synchronous Workflow over a Plugin). They should be paying you utilise and configure the tools to meet their requirements. Why re-invent the wheel – it creates an administrative overhead in maintaining the code for future releases where Microsoft will support any functionality out of the box for future releases.

Auditing

If you are using Auditing in the system – do you need to Audit the following?

  • User Login Access
  • Every Entity
  • Every Field (for each Audit Enabled Entity)

Only Audit what you explicitly need to Audit, as creating the audit records may not have an immediate performance hit, over time the system will slow returning all the audited data over a period of time when viewing the Audit History.

Data Query Operations

Microsoft ResourceAnalyze and improve data query performance

For each Entity in Dynamics 365, certain queries could take a long time to retrieve data or perform actions (i.e. the standard CRUD operations – Create, Read, Update and Delete) . Microsoft defines a long running query as a query that takes three seconds or longer to complete. Typical examples of a component that can have a long running query is a plug-in with custom Fetch-XML or a sub-grid or view.

With Dynamics 365/CRM 2016 Update 1, System admins can add optimisations which aim to help reduce the amount of time the long running query takes to load. From a database perspective, optimisations added through the front end add one or more Microsoft SQL Server indexes. This is a new item of functionality which previously required a support ticket with Microsoft Support to identify the long running queries and to be able to create indexes. I have not yet used this piece of functionality – but I will be investigating over the next few months.

Client Performance (Desktop/Laptop/Mobile)

The Clients Machine

Hardware and software requirements are the two important items when considering the clients machines that are used to access Dynamics 365 via the Web Client, the following considerations should also be considered for the Outlook Client except for the Browser Items as Outlook uses IE as a rendering engine. The following are my main recommendations to get the best performance from using the Outlook or Web client; these recommendations relate to a Windows PC only such as a desktop, laptop or surface.

Windows Hardware requirements

The following items can have a massive impact on the Page Load times from a hardware perspective:

  • Processor – 4/8 cores (The faster the processor/number of cores, the faster the page can render on the screen)
  • Ram – 8GB (the more the better and not using the Hard Drive for virtual memory)
  • Solid State Drive (generally Windows/OS’s run faster than on a mechanical hard drive)
  • Network Connection – Ethernet Cable Connection over a WiFi or 3G/4G signal (this will help with both greater bandwidth and reduced latency)
  • Monitor – 1920×1080 (p if Europe!) for best resolution and display as Dynamics 365 dynamically increases or decreases the resolution which can freeze the display as it changes.

Software requirements

200px-windows_10_logo-svg

  • 64 bit windows – allows for greater memory usage by Internet browsers and not restricting an upper limit of 4GB Ram
  • Windows 10 – this is generally faster and cleaner OS than Windows 7
  • Edge over Chrome/IE/Firefox, Edge is generally a faster browser for rendering and displaying web pages (this is different for System Admins as some functionality still does not work properly in Edge)
  • Latest version of each browser with minimal addins/plugins running
  • Keep Zoom Level at 100/125%
  • Latest windows updates
  • Latest Dynamics 365 Outlook Client updates

Mobile Device requirements

I have worked on many Dynamics CRM projects and throughout the years, Mobile device usage and access to CRM has grown especially with Microsoft encroaching into the CWR/Resco arena with its Mobile Phone and Tablet applications which are now starting to provide fully offline functionality. Providing a recommendation is still quite hard – and it also depends on which OS is used.

I will admit that I use iOS, I use iOS devices day in and day out. I have used Windows and Android also in previous Jobs/personal use and found iOS to be the simplest and the Apps are built work, and the Microsoft Office 365 suite of Apps are second to none. I do however do not have the latest devices; I use a iPhone 6 and an iPad Air (1st) running iOS 10.3 (at time of writing this blog) and they work fine with no crashes. so my recommendations are as follows.

iOS

  • Latest iPad or iPhone (as they are generally faster)
  • Latest iOS
  • WiFi over 4G/3G

Windows 10 Mobile

  • Lumia 950/XL
  • Windows 10 Mobile (Insider Preview builds – fast track for latest update)
  • Wifi over 4G/3G
  • Continuum!

Android

  • Latest Samsung/Google Phone
  • More Ram the better
  • Latest Android version (if the phone manufacturer ever releases updates….)
  • Wifi over 4G/3G

Dynamics 365 Customisations – Form Objects

BPF

The last of the factors affecting performance can be the actual customisations developed as part of the solution built for the customer. Once a User has clicked on a record to open it, Dynamics 365 will use the available network to make a request for the record and download the form (for the requested entity record) and all child objects and the data contained on the form itself related to the record requested.

So the total request will be influenced by:

  • The available Network Infrastructure (influenced by Latency and Bandwidth)
  • The Servers performance and the structure of the data query
  • The clients machine – making the request and the ability to process the downloaded data
  • The customisations themselves

Performance Centre

Microsoft have released a tool called the Performance Center (available in CRM 2013 and above I believe) which can be accessed in Chrome or IE (I find this works better than the original combination) by pressing the following key combination at the same time:

CTRL + SHIFT + ALT + Q

The tool allows you to visual all of the form components loading with their associated loading times. It will aid you in identifying the components which are having a negative impact on performance because they are taking a long time to load.

PerformanceCentre

There are two very good blogs on how to use the tool here:

Microsoft Resource: Optimize form performance

Form Customisations

From a customisation perspective items below can collectively have a negative effect of Dynamics 365 form is loaded onto the clients device/machine:

  • Form Layouts – such as collapsed tabs etc
  • Client side automation
  • Sub grids
  • Web resources

Form Layouts

When designing CRM Forms (UI) for each entity, a simplistic/minimalist design (less is more) is better than a bloated form with hundreds of fields, the more objects/controls on the form – the larger amount of data that can be displayed which will ultimately take longer to query and download to the clients machine. When designing forms with multiple tabs, consider having the tabs collapsed when a page is loaded (OnLoad) – objects contained in tabs would only be loaded when the tab is expanded (i.e. reducing the initial Page load time). The Tablet client restricts you to a maximum of 5 Tabs and 75 Fields being displayed on the device, with the mobile apps growing and using the same forms as the web client, this is a good design consideration to always take.

If Field Level Security is also implemented, then there are additional levels of access that needs to be queried by CRM and increasing the page load time to be able to query the data contained in those fields which will follow a similar hierarchy to Security Roles assigned/inherited with the User.

My recommendations are:

  • Keep to less than 75 Fields on the form – Use Business Process Flows to facilitate displaying extra fields)
  • Keep to 5 Tabs or Less
  • Collapse all Tabs on form load except the main first Tab
  • If considering Mobile design – keep to a single column format in Tabs and Section
  • Increase your label widths to show all the labels (i.e. 175 or 200 pixels) which will stop Dynamics 365 to stop hiding some or all of the label
  • Read Only controls are quicker at rendering than editable Fields
  • Keep a track of which tabs and fields you have enabled for Mobile externally

Mobile Preview

Use the Mobile Preview (when customising the Form) in the Form Designer – click preview and select the correct mobile screen size. This will start to render the Mobile Client to display the Form you are customising to see what controls will exist on the Mobile form.Mobile Preview

Additional Controls

The following items also add additional overhead to page load times as they are a lot more complicated and require additional data to be downloaded.

  • Social Pane
  • Quick View forms
  • Bing maps
  • Timer controls
  • Charts

So if these items are not being used, just remove them.

Client side automation

Form designs often involve some sort of Visibility display logic (i.e. show Field Y if Field X contains a value); this used to be controlled through JavaScript only – and more recently with Business Rules (and also Business Process Flows!).

JavaScript can extend the Client Side automation quite significantly and can perform simple or complex CRUD operations if need be. The more code you add, the CRM Form will load any JavaScript and also perform any functions using the OnLoad event. Once the JavaScript has loaded, CRM will then load and execute any Business Rules too!

Additionally – any unsupported customisations (mainly unsupported JS running on the form or interacting with the DOM) can negatively impact Page Load times and are not recommended.

My main recommendations are to keep JavaScript to a minimum if not required, could these activities be catered for using Workflows and Business Rules or Business Process Flows. If using a lot of JavaScript because of the complicated requirements – keep the number of JavaScript libraries to a minimum and have 1 big library in your form event libraries.

Microsoft have recently announced the deprecation of the old 2011 end point and this will be removed after version 9.0 Important Changes – here, the older SOAP endpoint is being replaced with a faster and more efficient REST API (also known as the Web API); so when writing form scripts, utilise the new end point!

Mobile Scripts

Xrm.Mobile.offline.isOfflineEnabled(“entityType”)

Clients who want to use the new Offline capabilities with the Mobile Apps, think about your JavaScript and decide if they are required to operate on the Mobile Device, as some of the actions may fail if there is no active connection to the Dynamics 365 server to query data. You can now define Scripts that can detect the Offline availability of the Entity and what actions can be performed using the Xrm.Mobile Namespace

Sub grids

Sub grids on forms have a negative affect on the page load time as client will need to display and render additional related data based of the following:

  • Users access through security
  • View filter criteria

The data displayed could also feature lookup fields from other records, and the number of columns should be kept to a maximum of 5/6 before a major negative impact is felt.

When designing forms, Sub grids should be (recommended) placed in a Collapsed Tab by default until they are needed, when the user needs to read/interact with that data then they can expand the appropriate Tab. If the data is not required on the form, then keep access to that information controlled through the navigation related entities area, this will make that data available from the form but not on the form itself. Keep the number of columns to a minimum and preferably use columns which are sorted by an indexed (SQL) field.

Editable Grids

Editable Grids are a new feature of Dynamics 365, and allow users to in-line edit related records from a parent record or list view. The functionality allows greater control of more data from a single location and will automatically add overheads to the network performance requesting more data.

Keeping the number of editable grids to a minimum if the related records displayed in the sub grid are there mainly for reference and should not be edited (I.e. Custom auditing, market sectors etc.)

 

Web resources

Forms can have Web Resources embedded into them which can be used to display custom content (i.e. images, html pages etc.). These also increase Page Load times – consider putting these into collapsed tabs also and whether they should be rendered on a mobile client or not.

I hope this blog helps a few people with their Dynamics 365 implementations and identifying potential performance issues with your Users.

Thanks for reading,

MW

 

 

CRM, CRM features, Data integration

Part 3: Which Data Integration Tool should I use?

Recap

In my previous blog I introduced the following topics:

  • Supported and unsupported data import methods
  • Identified two categories for data integration tools:
    • Free
    • Cost-associated tools
  • Examples of the data integration tools available to you

Data Integration Tools

I have previously stated that not each data integration tool can be used for each data integration type. Why is this you ask? To differentiate between the tools I will give a short summary of each tool I have listed previously and highlight which Integration Types the tool can be used for.

Free Tools

Data Import Wizard

The data import can only be used for standard Data Migrations from a single comma-separated values (.csv), XML Spreadsheet 2003 (.xmlss), or text (.txt) source file into CRM. So any data migrations where a legacy system is involved – if you cannot export the data from the source system into one of the above files formats,then this tool will not meet your requirements.

This tool can:

  • Create Data maps which can be reused
  • Can map to parent records using one field only (unique value needed)
  • Can utilise the out of the box duplicate detection rules

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • Manual executed import
  • Has a row/file size limit in one import operation

Configuration Migration Utility

The data import is generally used to move records from a single source CRM to a target CRM organisation; this is mainly used for moving definition/configuration records where the GUIDS are required to be intact/identical across the source and target CRM organisations. In practice – it is not used as a full on data migration tool (although it could but very tricky and not designed/advised to be used as such) but is used in solution deployments where these records are used in the functionality/solution(s) being deployed.

This tool can:

  • Import Dynamics CRM record data with relationships (assuming parental records are the identical across both systems)
  • Export Dynamics CRM record data with relationships (assuming parental records are the identical across both systems) to keep as a backup or use if restoring an Organisation

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • No filtering criteria to exclude records – it takes all records for that particular entity and either all or selected attributes
  • Manual executed import
  • Microsoft Dynamics CRM to Microsoft Dynamics CRM only

XrmToolbox

Manage N:N Relationships

The default out of the box data import wizard can only import records directly and populate N:1 relationships; it cannot handle N:N relationships. The ‘Manage N:N relationships’ plugin which can be installed into the XrmToolbox; this tool can only be used to create associations between two existing records and requires 2 unique values to match to the records (this does not have to be the ID’s). Only .txt or .csv source files may be used and the records must exist in two columns (the tool allows you to choose a separator). Normally, the general use of this plugin is in conjunction with the data import wizard when uploading data from source spreadsheets – and can only be used for Data Migrations.

This tool can:

  • Import Dynamics CRM record associations over N:N relationships (assuming unique values are provided for both associating records)
  • Can do deletions (disassociations’) in bulk – useful for fixing data on an ad hoc basis.
  • Tells you which data rows fail

The tool has the following additional limitations:

  • Cannot import at a scheduled time
  • Can only perform associations
  • Manual executed import
  • Manually create the source file

MSCRM Toolkit

I actually made an error and got slightly confused when referencing this tool – I incorrectly referenced the Data Transporter which is apart of the XrmToolbox – when in actual fact the tool is called (which is apart of the MSCRM Toolkit):

Reference Data Transporter

The Configuration Migration Utility allows users to migrate configuration records between CRM organisations, the Reference Data Transporter goes one step further and allows your to filter the configuration records from CRM and transfer them to your target organisation.

It also allows the records to be synchronised at a set time (i.e. to keep the records in sync); this tool can be used in both Data Migration and Data Integration scenarios. This Tool could additionally be used in basic Data Replication across two Dynamics CRM systems due to its scheduling and filtering (i.e. by last modified on) to update recently changed data.

This tool can:

  • Import Dynamics CRM record data with relationships (assuming parental records are the identical across both systems)
  • Export Dynamics CRM record data with relationships (assuming parental records are the identical across both systems) to keep as a backup or use if restoring an Organisation
  • Synchronise the Dynamics CRM record data at set times across Dynamics CRM Organisations

The tool has the following additional limitations:

  • Microsoft Dynamics CRM to Microsoft Dynamics CRM only

Connector for Microsoft Dynamics

Microsoft provided a free (with valid software assurance) integration tool that would allow a custom integration between Dynamics CRM and one of the Dynamics ERP software systems (such as AX/GP/NAV/SL). The Connector provides an effective integration of Sales Order process originating in Dynamics CRM all the way through to Sales Invoicing in the ERP system.

The Connector for Microsoft Dynamics can be used in both Data Migration and Data integration Scenarios due to its two-way Connectors. Unfortunately – Dynamics CRM 2016 will be the last major Dynamics CRM version the ‘Connector for Microsoft Dynamics’ will Microsoft will support (announcement here) – this is most likely due to the recent announcement of Dynamics 365 and the interoperability framework  of Dynamics NAV 2016+ (i.e. integration with Dynamics CRM will be out of the box).

There was a Dynamics CRM to Dynamics CRM Connector that allows for Integrations between CRM organisations to take place i.e. to keep data in sync. This Tool could be used in basic Data Replication across two Dynamics CRM systems due to its scheduling and filtering (i.e. by last modified on) to update recently changed data.

This tool can:

  • Transfer data to both source and target systems in a unidirectional or bidirectional data integration
  • Can be scheduled to run at set times or on an ad hoc basis
  • Basic Error Level reporting and warning notifications
  • Easy to use interface

The tool has the following additional limitations:

  • Can only transfer records flagged for integration (requires record flagging initially)
  • Can only be used to transfer data between Dynamics CRM and the Dynamics ERP suite (out of the box).

Cost Associated Tools

Third Party Tools

Now I can go on and on about the next two tools – but I will keep it brief; the functionality will be roughly similar across each product and the same could also be said for the other third-party products I have already mentioned as functionality will be similar (except the location of the software).

Scribe Insight

Scribe Insight is the most recognised (and most used from what I can tell) data integration platform out there in the Dynamics community (including AX, NAV, GP etc.); so much so that Microsoft used it to perform their internal migration from CRM 2011 to CRM Online.

This tool can perform Data Migrations and Integrations to integrate/migrate multiple source and multiple target systems at the same time.

Scribe has the following (example) list of data connectors:

  • txt/csv/excel spreadsheets
  • ODBC Conncetions
  • SQL
  • MySQL
  • SalesForce
  • XML

Full list of connections for Scribe Insight here

Scribe Insight can perform Data Replication – but there are not really any default templates for this out of the box with Insight; it would not be hard to create a Data Replication process for the data you wish to replicate.

This tool can:

  • Transfer data to both source and target systems can perform omni-directional data migrations/integration/replications.
  • Can be scheduled to run at set times or on an ad hoc basis
  • Can be triggered by Events (i.e. manual or MSQ driven, file upload etc.)
  • Advanced Error Level reporting and warning notification administration and avanced error handling with Microsoft Message Queues.
  • Easy to use interface
  • Advanced Training material and courses/blogs
  • Full Support with valid Software maintenance
  • Great community to assist with issues

The tool has the following additional limitations:

  • On premise installation and (ideally) requires SQL Database
  • Time to train puts potential users off; people view Scribe as needing to have a “developer” mind (which is not true)
  • Cost to purchase the licenses (you can buy 1 off migration licenses or full software licenses)
  • Connectivity is not as advanced as Scribe Online

Scribe Online

The younger sibling of Scribe Insight – Scribe Online; originally used to perform basic data integrations with which the functionality and features have grown so much over the last few years that it really is a viable alternatice data integration platform to Scribe Insight.

Firstly – it is a cloud based (subscription licensed) iPaas which is accessed via a web browser; it currently is built on a Silverlight UI but is (without breaking any NDA i might have signed up with Scribe over the last few months) being rebuilt to use an HTML 5 interface (known as Scribe v2 – and can only be a good thing).

Scribe Online has a multitude of connectors available to it – full list can be seen here which give (in my opinion) Scribe Online the edge over Scribe Insight, but it also has a CDK which allows ISV’s/Partners to build Connectors for their own products or services which immediately makes Scribe Online more attractive – especially to cloud services like Marketo or SalesForce (and of course Dynamics CRM Online).

Scribe Online advertises itself to being a data integration platform based in the cloud – but it also offers a server called “Replication Services” which allows you to configure source entities for replication to a SQL DB (either on premise or Azure hosted); this is a very powerful and popular product and many customers use this for local SQL reporting and SQL backups. Scribe also offer a PowerBI Solution which is built on top of RS.

This tool can:

  • Transfer data to both source and target systems can perform omni-directional data migrations/integration/replications.
  • Can be scheduled to run at set times or on an ad hoc basis
  • Advanced Error Level reporting and warning notification administration
  • Easy to use graphical interface and very easy to pick
  • Advanced FREE Training material and courses/blogs
  • Full Support with valid Subscripton
  • Great community to assist with issues
  • On Premise and cloud or cloud only platform
  • Advanced Connectivity with the possiblity of building your own Connector
  • API access

The tool has the following additional limitations:

  • Uncertaintity in the product – due to its short life and ofter overlooked by Insight users
  • Cost to purchase the subscription resctricts the number of connections you can run
  • Silverlight only (i.e. IE is needed!)

Web Services and Console Apps

Web services (from an integration perspective) are custom applications designed to allow two or more systems to talk to each other’s API and allow the transfer of data between them. They are bespoke applications that will need to be written by developers who have knowledge (either working or documented) of both API’s and are specifically designed to do one task.

Console Applications are small (and streamlined) programs that are written to carry out a specific tasks – in a data integration environment, they are usually used for simple or complex data processing tasks; these tasks are usually scheduled via Windows Task Scheduler to run out of hours or every hour or so to update data systems (i.e. performing complex calculations and updating the source data set)/

Both these tools are bespoke – so they will be designed and built to meet specific requirements.

Web services are more aimed at Data Integrations where data needs to transfer between one or more target systems to keep them synchonised; they could be used for Data migrations between heavily bespoke systems where third-party tools fall short of connectivity.

Console Applications are designed to perform data processing in an addition to a running data integration integrations.

Summarise

I have given some points towards the data integration tools available and the data integration types they can be used with with some positives and limitations; the tools are just a sample of all the available tools to use (i.e. additional third-party products or other free tools), I just cannot list them all or give some overview when I have not personally had some involvement with. I hope these blogs help you choose the right tool for the right type of data integration.

Next Blog

In my next blog, I will highlight the main pointers and best practices that I use when undertaking data integration projects.

Thanks for reading! MW