Ask the MVP’s: System Administration
A Panel of MVPS’s
This was another great session. It is impossible to record, retail and pass on all the information. Good news – they are working on a CRM 2013 Field Guide so that may contain a lot of this information.
How can I encrypt a field in the database?
You can use TDE Disk encryption on the full database if on premise with SQL enterprise. If online, you can use a plugin to encrypt and decrypt. This can be field specific, but keep in mind you will need it to translate anytime the field is shown including Reports and Advanced Find.
Auditing user login was hot topic. The issue with the out of the box auditing is that it captures the login when Outlook is opened even if they do not access CRM data. Some other options are IIS logging if you are not using ADFS, Sonoma Control Tour (User adoption tool, does not track reads), Zero2Ten tool, etc. There is also a new SDK function available for this (getCRMAccessAudit) or you can build a start page with a Click here and audit that.
There is no way to report on Auditing with CRM online. On Premise it can be done by reading SQL. Better option is to create custom entity to track specific fields for auditing.
Upgrading 2011 to 2013
Use the Legacy compatibility tool to find scripts/code that needs to be updated. Make sure you test everything! Take time to look at the new functionality and take advantage of the new features.
This is a major navigational change even if everything else is kept the same. Training is very important – users need to know how it is useful and why they should use it. Build excitement for the new product. Show it as a tool to help them be more efficient. Simplify as much as possible. Build awareness and ask for feedback, allow everyone to be a part of the rollout.
Basic Configuration Efficiencies (Quick Wins)
Use Views, dashboards, scheduling and emailing reports, etc. Good Icons for custom entities. Simplify the site map and ribbon. Use drop downs Create Dialogs when appropriate – allows for quick form entry, create records with related records, and you can include all the important fields to improve data compliance.
Partner Showcase: ADXStudio – Portals and Customer Communities
Portals allow you to keep your data in CRM while having it open to customers online. These portals can respect your branding such as logos, colors, font, etc. Thes portals can be integrated with other systems and shared on your website of Facebook. The platform is also extensible with ASP.Net so you can add even more integration if necessary.
The ADXStudio portals are set up to use many different authentication standards including social. Using social authentication allows you to use credentials they already trust instead of needing to maintain credentials.
The portal can provide social engagement for customers such as forums, events, blogs, surveys, comments, etc. This gives customers a way to be social about a product without being on social media. Don’t just monitor social – create a community platform.
ADXStudio also has a Help Desk Solution. Customers enter their issues in the portal and the solution ensures that there is effective resource and issue management. It includes a knowledgebase where customers can look for existing issues to resolve their problem without a ticket. If they cannot find it, then they can create a new case, receive updates, and monitor it all through the portal. If customers need to pay for tickets, this is handled through a separate system so your database does not need to be PCI compliant.
Techie Talk: Workflow Activities Panel
Getting Started with Custom Workflows
If you are just getting started with Custom Workflows there are several things to check out.
CRM Administration Bible – some information on starting custom workflows and plugins
Codeplex – many custom workflows are already here, you may not even need to make your own
TIP: Moving Workflows with User/Team References
If you have a workflow that references a specific User, Team, or Queue you may run into an issue when moving it between environments. This occurs when the User/Team/Queue/etc. was created separately in each environment, meaning they each have a different GUID. There are a few ways to get around this.
Create a Configuration entity with only one record. This will have a field for all the fields you need in the workflow. As the first step of your workflow, add a link to this configuration entity. Now you may wonder how we can prevent the same issue from occurring with this record. What you need to do is create the configuration entity via import with the GUID, this will force it to be the same. (Note: This is the same technique that could be used for Users/Teams but generally this problem is noticed after the fact.)
Another option is to use the Zero2Ten Exact Replica “Deep Copy Tool” which will Mirror data within each environment. If you clone the environment all the GUIDs will be the same except for Business Units.
Best Practice: Long Running Workflows (Long Timeouts)
It is not a good idea to have a large number of waiting workflows, especially those that are waiting for a long time. You may not have a problem if there are not too many waiting but waiting workflows are never dormant, they are always in memory.
If you need to wait, wait for a specific date so the job will sleep. If you are waiting for a condition such as “Process execution date is after close date” this will continuously run because the Process Execution date is currently changing (Is it done now? Now? Now? How about now?)
One way to get around this is the technique outlined in Gus Gonzalez’s blog Scheduling Recurring Workflows. The concept here is to create a “placeholder” record at the end of workflow 1. Then schedule a bulk delete to delete these “placeholders” when the desired condition is met. Start the next workflow (the piece after the wait) on the delete of that record.
CRM 2013 has the concept of Actions. These are processes built through the user interface that can take input and give output. These can only be instantiated with code. This makes them the opposite of custom workflows that are written in code and instantiated through the user interface.
Workflows can now run as the user who triggered the workflow. This can add security if you do not want users to be able to trigger certain actions even through workflow.
In 2013, you can also specify if the workflow should fire before or after the event. Create can only fire after the event. Delete can only fire before. Others can fire either before or after.
Always Check for a Condition – when the workflow starts, check it meets the requirements even if it is called by a parent. If you are emailing, check the record has an email address.
Always Check Conditions after a Wait – Make sure you can still do what you want to do
Use Child Workflows – break workflows into manageable pieces
Use a workflow to trigger other workflows – avoid having a large number of workflows going off one action. Check conditions in the parent to determine the child that should be called.
Here are some tools that came up to deal with hot issues:
If you need real-time goal-like functionality, check out North52’s calculated fields tool. It is a formula manager and is free for the first 10 formulas.
If you want to run a workflow on all children records for a given record, look for CodePlex’s “CRM 2011 Distribute Workflow Activity”
Keep it Classy CRM Administrators
How to get support
Be prepared with all the information (All users? Does it work on another computer? Rollup? All environments?). Also look at the event viewer and logs to see if there is any messages that could be helpful. Check if they have done the Windows updates. Listen to the whole issue and see it happen, have screenshots as part of the issue documentation. If there are many pieces, break these out and let support determine if they are related.
Check forums for answers, but be careful that answers given do not void your warranty.
Don’t freak out unless it’s happened at least twice. Be careful of using the B-word – “Bug”. No costs for these tickets but they will look for a workaround.
Rollup Best Practices
Always stay 1 rollup behind; wait until others have found any issues. Read the ful KB article and ensure that everything is updated and tested in a development environment first. Make sure Windows Update is not running is not running on the server.
If currently on UR 11, go next to 14 or 15. If not going about 11, still release the Critical Update for CRM for Outlook. The Critical on Demand Update includes Sandboxing (Outlook will not affect CRM and vice versa) as well as health monitoring.
For the upgrade to CRM 2013, it is best to be on UR 14 or above. This will be a faster upgrade because scripts are already upgraded and some database updates are already done.
Keep an eye on stalled or failed system jobs. Be careful with Wait operations and do not use these if it will run for 6 months. These issues can impact performance. Make sure old Async jobs are cleared out.
There are some system maintenance jobs that run every day at the time of install. If you notice your system is slower every afternoon at the same time, these may need to be moved. Stagger the jobs. Use the CRM 2011 Job Editor to do this.
Keep in mind that design changes can impact performance. Instead of creating new fields, try repurposing system fields. Custom Fields should not be included in System fields. This issue will be fixed in CRM 2013.
Use Performance traces and index recommendations. Use the DM Usage stats to determine if indexes are beneficial.
For Auditing, only keep data that you really need. Clear out old data. Use Row Page Compression.
Use your fastest disk for your TempDB. It should not be on the same disk.
The new Auto Save feature that is part of CRM 2013 may affect some of your workflow and plugin design. When the commit fires on the save, the workflow will fire. This can be disabled but this is depreciated. Create is still explicit, so users will have to hit save. In the real world, it will probably not cause numerous saves; usually you will work on a record for a while then maybe come back and edit more. Workflows should be running on actual field change.
Synchronous workflows run live on the form. The refresh happens in frame, no need to refresh the page.
When upgrading, be sure to set the flag to ensure that indexes are maintained.
CRM for Outlook in CRM 2013
When you upgrade to CRM 2013, users can keep the old Outlook client if it is rollup UR 15 or UR 15v2 (when released). All features will work except you cannot go offline.
The CRM 2013 CRM for Outlook includes Server Side Sync. The sync will take place directly between CRM and Exchange. This will work with CRM 2011 UR 15. This means that a tracked conversation will automatically track at the server, no need to always keep Outlook open.
Email Router logs will not be in CRM. There will be easy to read errors, the ability to view emails, etc.
How to become a CRM Superstar
Becoming a CRM Superstar does not necessarily mean you are a CRM MVP, it just means you do your job better than other people in the same position. It is a love and passion for the product. It requires commitment to present, blog and help the community. This is not a career goal by a love.
Certifications can be good to set yourself apart and also to give a depth of knowledge in areas you might not use. They do not actually prove you can do the work but shows companies you are serious. Also, the number of certified people that work for a company impacts their partner level.
The new Certifications for CRM 2013 will be harder. There will be a separate CRM Online certification that will not require as much.
Certification in SQL or C++ may mean more because they show you understand things behind the scenes.
How to Learn
To learn more about CRM you can sign up to present on a topic you are not very familiar with, this will cause you to learn it.
Organize a study group. You can learn together. This is a focused time that provides accountability. Try building a solution for a fictional company including system hierarchy and SSRS Reporting.
Set up your own VM or use a CRM Online trial. Test and play.