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.
|
No comments:
Post a Comment