Saturday, 17 September 2016

Cloning records in Microsoft Dynamics CRM

Cloning is one of those nifty features that doesn't exist in Microsoft Dynamics CRM out-of-the-box.
The exception is in the Product Catalog where you can clone a Product but alas, elsewhere in CRM it does not exist. Enter IOTAP Record Cloning - with one click you can clone a single record or generate multiple cloned records.

I presented the IOTAP Cloning Tool earlier this week at the Melbourne Microsoft Dynamics CRM User Group so thought I'd share it with you CRM'ers as a vlog.


Check out my vlog below (and same as last time, blooper reel at the end).

What is the IOTAP Record Cloning?

It's a Microsoft Dynamics CRM add-on from IOTAP and is a managed solution. It's easy to install for On-Premise and Online. It already has out-of-the-box configurations ready to go at your disposal after the installation has been completed. To name a few:
  • Invoice and Invoice Products
  • Quote and Quote Products
  • Price List and Price List Items
Once installed you can clone and do some additional configuration to modify the cloning output.

What to use it for

The cloning tool allows you to clone records at a primary level such as clone an Account. It also allows you to clone related records such as clone the Contacts associated to the Account when cloning an Account record.

You have the option to clone a single record or generate multiple cloned records from a record. 



When the cloned record is generated, you'll see a prefix of [Clone] appended to the name of the record.


You can also generate cloned records from a CRM workflow. The IOTAP Record Cloning tool managed solution provides a custom workflow activity which you can call as a step in a CRM workflow.

What configuration do you need to do?

There's three types of configuration:
  1. Clone Attributes Exclude
  2. Clone Related Records
  3. Clone through workflow
For #1 and #2, navigate to this area by heading to Settings > Extensions.

1. Clone Attributes Exclude

If you want to exclude fields when cloning records, you can do so by referencing the Name of the field. To add more fields, simply insert a comma and the Name of the next field you want to exclude.


Grab the Name of the field through the CRM solution.

2. Clone Related Records

If you want to clone related records, you can do so by referencing the Name of the parent entity and the relationship Schema Name.


Grab the Schema Name of the field through the CRM solution.

Check it out in action

After you have set up your configuration of excluding fields and related records, you can start cloning records. In my vlog I cloned an Account which 
  1. excluded the Address 1: City and Address 1: Country fields 
  2. cloned the associated Note and Contact records

3. Clone through workflow

The IOTAP Record Cloning tool managed solution includes a custom workflow activity.


Create a new workflow and simply add the custom workflow activity as a step after your condition. 
Define the properties in the workflow by entering the entity name and the number of cloned records you would like to generate. More about what the GUID is used for here.


When the condition has been met, the custom workflow activity will kick in and you'll see the cloned record in the entity view shortly. In my vlog, I had a simple condition where, when the Account Relationship Type equals "Competitor," go ahead and clone the Account.

Clone Log

There's also a Clone Log which is useful if you need to understand why a clone process failed. You can also provide the details to IOTAP support should you need additional assistance.


What you need to be aware of

Update security roles

If your client goes forward with this cloning tool, don't forget to enable the required security roles with the privileges and correct level of access. I made this rookie mistake, oops. That's my tip for you :)

Only clones at a single 1:N or N:N level

When cloning related records, it does not cascade to additional related records.

Inactive records will be Active

When cloning an Inactive record, it will generate the cloned record in an Active State. For example, if you clone an Opportunity that has been closed as "Won," it will be Active with the last Business Process Flow of "Close" as the stage.

I checked this out with Sumeet Ballani from IOTP and his response was,
"The BPF will be at the same stage as that of cloned opportunity. However cloning allows to exclude certain fields from getting copied to the cloned record. These excluded fields could be configured in cloning." Thanks Sumeet! :)

Lookup records will not be cloned

You can only clone 1:N, N:N related records. N:1 (lookup records) will not be cloned. An example is the the Customer field on the Order, only Order Products would be cloned.

Licence

Here's how much it costs. It's not that expensive in my opinion as it provides functionality that does not exist in CRM out-of-the-box.

Additional links

Is there another method of cloning I can use?

If you don't need to clone related records and only want to clone a record at a single level such as Accounts and no associated records (eg. Contacts associated to the Account), refer to Leon's blog post. You can create a workflow that will clone a CRM record. This is great as there's no licence or developer involved however the cost is time as you will need to configure the workflow yourself. Not really a big issue.

Basically weigh it up:
  1. Do you need to clone across CRM and related records? Then use the IOTAP Record Cloning tool.
  2. Do you only need to clone records for set records at a single level and not related records? Try out Leon's suggestion. If it doesn't suit you, it's cool - try the IOTAP Record Cloning ool. The trial lasts for 10 days.

Summary

I like the IOTAP Record Cloning tool. I think it's simple and does a good job in providing the following
  • Clone a single record at a primary level with the ability to clone related records
  • Generating multiple cloned records at a primary level with the ability to clone related records
  • Excluding fields from the cloned record
  • Generating a cloned record from a CRM workflow
Do I recommend it? Of course! Try it out for yourself. In my vlog I simply installed a trial of the IOTAP Record Cloning tool in a trial Microsoft Dynamics CRM Online environment.

Thanks for reading, toodles!

Special thanks

I'd like to say thank you to Sumeet Ballani for answering my questions in the past week. Sumeet has been responsive and helpful. He shared with me that there will be a newer version of the IOTAP Record Cloning tool this November:

Presently we are working on building new Clone…which would be much better then present one…
  • No Popup
  • UI to do all configuration
  • No need to add additional field in custom entity for cloning
  • Lot of improvements over current one…
This new clone would be out in early November.

Sunday, 11 September 2016

Oracle UPK + Microsoft Dynamics CRM

It's not everyday that you come across a post that combines an Oracle product with a Microsoft product. Today, you will experience just that. In this vlog I cover Oracle's UPK with Microsoft Dynamics CRM Online, where I demonstrate how to clone a price list using IOTAP Cloning Tool. I'm sharing my awe of Oracle UPK as it's a great tool to produce learning material that can help with training and end user adoption. It's a fantastic tool to capture knowledge and maintain all documentation in one place.

In my last vlog I outlined the importance of Entity Relationship Diagrams when it comes to the solution design of a project. This time round, I'm referring to the end user learning and testing of the project which ultimately leads to end user adoption. The result of the system built will be determined by how well end users embrace the system day in and day out. End users can't embrace a system if they don't know what they can do with it. Learning, training and testing of the system facilitates this gap where the desired output is acquired knowledge from interacting with the new system.

Many fellow consultants (and testers) know of the hardship of maintaining the material for a client as the solution can change over sprints and the knowledge transfer from service provider to client can be challenging at times. There are many reasons behind this, whether it's
  • lack of availability of the client end users to spend quality time in learning and testing the sprint delivered. Every client I've worked is pressed for time because they have their own everyday tasks to complete on top of the project
  • learning and training documentation on both the service provider and client can be time consuming. This can be a headache when you have to go back and update documentation due to a bug or change in process in a future sprint
  • every person has a different learning curve, some are adaptable to new systems whereas others are not. The end user acceptance of a new system can vary as a result.
  • change of resources. Some client organisations can have a high turnover in staff
It's critical for end users to be able to learn and know how to use a new system otherwise the time and budget spent on a new system will not be beneficial to the organisation. Yes, designing it right is also important but it goes hand-in-hand with how the end users interact with the new system.

The following two articles outline the importance of end user training for a new system
There are tools that can help promote learning of a new system. Oracle UPK is one of many tools out there that can be used. I gave it a go with Microsoft Dynamics CRM Online. Watch my vlog and you'll understand what I mean. PS: there's bloopers at the end :)


What is UPK?

UPK stands for Oracle User Productivity Kit. I thought it stood for "Ultra Performance Kit" cause
that's what it is to me but all good, we'll stick with User Productivity Kit. Oracle UPK can help support the learning and knowledge process. It's a tool that allows you to record an end user process and generate outputs that can be used by the end users of the system. You have the ability to update the recording at any point in time to re-generate outputs which is awesome in the scenario where outdated documentation needs to be updated such as a training guide. 

There's two parts to UPK, Developer and Knowledge Centre. UPK developer allows you to build and create content whereas UPK Knowledge Centre is what the end users have access to using the files produced. I demonstrated UPK developer in my vlog.

Structure of UPK

The shell of UPK is: Library > Modules > Sections > Topics.


You set up a library where in the library you create modules with sections and associated topics. In the context of Microsoft Dynamics CRM, it would be: 
  • Library is Microsoft Dynamics CRM
  • A modules is Sales,  
  • A section is Customers
  • Topics are Contacts and Accounts

Record your end user process

Within a Topic, you can record an end user process using the browser. Oracle UPK works with browsers so as long as you are using a software that is accessible by browser, you'll be sweet. I used Microsoft Dynamics CRM Online to record an end user process of cloning a price list using IOTAP Cloning Tool.

You simply hit the record button and a recording window pops up that will record your browser interaction. The Print Screen key will start the recording and will also stop the recording. When you start recording, all clicks will be captured as "frames." Remember, every click will be captured so make sure you do a test run first. Don't worry, you can always delete your frame when you edit the content.

Editing content

There's so many things that you can do once you've finished recording the end user process. The following is what I showed in my vlog,
  • You can add an introduction
  • You can change the text of an object that is referenced
  • You can change the size of the highlight area of an object
I didn't show how you can delete frames you don't want. All you need to do is select the frame in the bottom of the editor in UPK developer and right click to "cut" a frame out. Easy as, bro.

Generated outputs

Once you're happy with your editing, you can publish your recorded end user process and content. 

The following is a screenshot of the type of outputs generated.

The "Player and LMS" option has four types of learning modes which is
  • See it!
    • Watch the recording of the end user process
  • Try it!
    • Interact with the end user process recorded
  • Know it!
    • Testing the end user knowledge of the end user process, includes scoring capability
  • Do it!
    • Embedded help where the end user process is guided in each frame

The documents generated are pretty impressive.
  • Presentation is in the format of a PowerPoint Slideshow
  • The Test Case is in the format of an Excel file 
  • The remaining documentation is in the format of Word documents.

I didn't do any configuration and it generated the recorded end user process as-is in each of the documents. Sooooooo cool. 

I don't know whether your reaction is the same as mine but as someone who has spent hours in the past carving up documentation for a Microsoft Dynamics CRM solution, seeing Oracle UPK in action was a game changer for me. You record, edit and produce learning material in half the time.

Summary

Cut down the time and cost spent in creating learning, testing and training material for new systems. Oracle UPK and Microsoft Dynamics CRM Online together can be a winning duo to combat the forces of low knowledge learning and end user adoption. A tool like this can go a long way and it doesn't have to end with the knowledge learning and sharing during UAT. You can use UPK post go-live where your support team can continuously update or create new material from enhancements of Microsoft Dynamics CRM Online. It's a continuous knowledge generation tool to support the system indefinitely. Covering my points from earlier,
  • lack of availability of the client end users to spend quality time in learning and testing the sprint delivered can be minimized if they have a go-to knolwedge centre with access to the material
  • learning and training documentation on both the service provider and client can be time consuming but with Oracle UPK you can cut this element down as it generate multiple outputs
  • every person has a different learning curve, some are adaptable to new systems whereas others are not. The Player and LMS output of UPK allows end users to learn at their own preference and pace.
  • change of resources, some client organisations can have a high turnover in staff. With the material produced by Oracle UPK, you can create an awesome knowledge library that will always be accessible by current staff
Microsoft Dynamics CRM Online can be embraced by end users if there is supporting material in place. As communicated in the two articles I provided earlier, it's really important for end users to learn and foster their knowledge of a new system. Allow Oracle UPK to help and you'll get there.

If you're interested in using Oracle UPK for your next CRM implementation, please get in touch with Myriad IT.

Thanks for reading and til next time, toodles.

PS: to fellow Melburnians

Come to the next Melbourne CRM User Group on Tuesday September 13. I'm presenting the IOTAP Cloning Tool which is what I showed in the UPK Developer recording in my vlog. I showed how to clone a Price List where the Price List Items are also cloned.