Tuesday, May 14, 2013

Webinar: Best Practices in Leveraging Extensibility Options for Dynamics CRM


Today, I attended a webinar about extending CRM featuring @MitchMilam hosted by CRMUG. Mitch discussed the extension options, their features and limitations as well as some examples with possible solutions. I wanted to review the main takeaways here.

Always remember there is not one correct answer but many different options. Depending on your situation and requirements, one of the options may be more correct than another.

There are 3 main questions to ask when looking at a project: immediacy, available resources, and Budget.

Immediacy: Does the user need to see what’s happening (JavaScript)? Can it be done on the Save (Plugin, Workflow)? Think about Asynchronous operations versus Synchronous operations.

Available Resources: Do you have someone who can do what you need? Can you hire a programmer?

Budget: Not just money budget (hiring developer, consultant, purchasing a tool) but also time budget. Do you have time to hire someone new or learn a new skill?

I compiled some notes on the tools along with my knowledge of the matter.

Feature
Type
Skill Set
Pros
Cons
Notes
Bulk Import
Built-in
Customizer
Allows you to quickly create records from a file
Limited duplicate checking against only one entity, cannot create additional records
Consider instead writing a custom App that can do exactly what you need
Bulk Edit
Built-in
Power User
Quickly update a set of records
Same edit to all, no logic
Advanced Find
Built-in
Power User
Find specific groups of records for other operations (Marketing Lists, etc.)
This came up in the context of deleting E-mail Attachments - you can find E-mails with Attachments by using Advanced Find but you can only delete the whole message not just the Attachment.
Workflows
Built-in
Customizer
Quick, no developer necessary, can create/update records, send e-mails, etc.
Limited processing options but can be extended with Custom Workflow Activities, all run asynchronously
Dialogs
Built-in
Customizer
Allows for user interaction
Requires user interaction, cannot be run on multiple records, runs as the user
Note: if a Dialog calls a child workflow it runs with similar access to an on-demand workflow, as the user.
Field Level Security
Built-in
Customizer
Can allow user to see/update the data only if they are included on the FLS Profile
Based on User/Team membership not security roles
See more information in my earlier post
Role Based Forms
Built-in
Customizer
Can hide data from the form but expose to other users, based on Security roles
Data is only not visible on the form, users would still have access in Advanced Find
This could be combined with FLS for more granular permissions
JavaScript
Extension
Customizer
Can run whenever the form is loaded, saved or a field is changed; does not necessarily require a developer
Performance (form load time) can become an issue
Plugins
Extension
Developer
Can be asynchronous or synchronous; can run as the user or as another user
Runs on the save, user will not see the change unless they refresh; requires a developer
External Applications
Extension
Developer
Can be designed to fit any business need; many options
Requires a developer and time to design/write.

 If you are a CRMUG Collaborate user, you can watch the recording and download the slides.

No comments:

Post a Comment