The white paper ALM for Microsoft Dynamics CRM 2011: CRM Solution Lifecycle Management was released last Friday. This white paper is 76 pages of very detailed information on best practices and direction for the whole solution lifecycle. It is an invaluable read and highly recommended as it touches on an array of topics from requirements gathering, development techniques, version control, daily builds, testing and deployment.
A variety of hotfix types are discussed, including the deletion of solution components. If you are a solution customizer or developer then you understand the pain in having to delete a component from a solution that has been already deployed. The white paper solves this problem with a complex solution called the “Shared Publisher Technique” on page 13 that is worth checking out.
Guidance is provided on three types of solution architecture:
- One CRM Solution for One Production Deployment
- One CRM Solution for Multiple Regional Deployments
- Multi-Solution Environment
A scenario is provided for each type of architecture to help understand which type should be used. The white paper also goes into detail on versioning, deployment and patching for each type of solution architecture. All of this is good information for CRM implementation teams who haven’t ran into these specific scenarios before.
In this section, different techniques are discussed on how to control, track, and manage changes to the source code files which are shown in the diagram below. Using TFS, specific individual changes can be tied to work items or bugs which proves to be extremely helpful for the development process.
Solutions can be stored as a single file or multiple unpacked files. The advantages and disadvantages of each approach are carefully detailed as well as scenarios for managed vs. unmanaged solutions.
Personally, I recommend using a Visual Studio solution to develop and keep track of all your CRM solution’s web resources as well as TFS, Subversion or a similar tool to version your solution components. Also recommended is the CRM Solution Manager for Visual Studio which allows you to easily create, edit, and publish your files to CRM as web resources. This helps maintain the same structure that you have created within Visual Studio.
The whole build process is detailed out including check-in policies and gated builds to help ensure code quality. It talks about how continuous integration builds can be used to deny check-ins until the build completes successfully which is a big part in ensuring each check-in doesn’t have any breaking changes.
Probably my favorite section in the whole white paper is about developer environments. Recommendations are given on different options of setting up the environments, from isolated CRM instances per developer to sharing an instance for all developers.
The following is a well laid out diagram on an enterprise development scenario with a centrally prepared development environment show on page 38. This approach is highly recommended for enterprise scenarios with several developers. More in depth information can be found on pages 38 and 39 as well as Appendix F.
I highly recommend isolated dev environments for each developer if you will have multiple developers working on the same CRM organization. It is much easier for developers to debug plug-ins in an isolated environment so they are not stepping on each other’s toes. Web resource changes made by developers can then be merged into source control and the latest can be pushed to the master development org.
In this section, best practices are recommended for the best ways to find defects as early as possible. Tests should be created for each user story. Ideally the tests are automated and ran each night. The paper also recommends a test plan to define testing scenarios as well as to help measure testing progress.
The authors go very in-depth on setting up testing automation, testing tools, how to manage the testing lifecycle and a big variety of testing scenarios. In my opinion, all of these testing techniques should be used to ensure code quality and a successful deployment.
Diagram from page 41 - Running tests by using environments from Microsoft Test Manager
Two types of deployment are described, manual development deployment and automatic deployment. Microsoft makes it easy for automatic deployment with the concept of solutions but sometimes there are external components that need to be deployed as well, such as a nightly task. These components should be deployed automatically where possible to save time and money. The white paper lists out different tools that can be used for automatic deployment.
The white paper then finishes with a multitude of detailed concepts and methodologies in the appendices. In my opinion, this is a must read for all teams implementing a CRM solution. It’ll help plan out your design and architecture for all aspects of the lifecycle to ensure a time and cost friendly implementation that is scalable and easy to maintain for the future.
Today's guest blogger is Jacob Cynamon-Murphy, a Sales Engineer at Sonoma Partners
Though we may not be fighting a war each day that we are out selling, competition certainly is fierce in most industries, so I'll paraphrase Sun Tzu by saying, "If you know your [competition] and know yourself, you can win a hundred [customers] without a single loss." Across CRM implementations, I've found that the Competitor entity is one of the least-utilized of the core entities. With the goal of making it a more significant player in your sales arsenal, I beefed up the entity and made a managed solution for Dynamics CRM 2011 that can turn the Competitor entity into a more valuable resource in your sales efforts.
What is in the solution?
- The Competitor entity is now firmly in the 21st century - I've added three new URL fields that can offer quick access from the Competitor record to your competition's Facebook, Twitter and LinkedIn pages.
- In case you (or another solution you deployed) have made updates to the native Competitor form, I created a new form named "Competitor Plus". This new form includes a tab containing the three new social media fields. By default, this form is enabled for all roles and shows as the first role-based form for the Competitor entity; you can modify these settings to meet your users' needs.
- I created four new Connection roles - Former Customer, Current Customer, Former Vendor and Current Vendor. The "Customer" roles can be linked to Account and Contact records; the "Vendor" roles can be linked to Competitor records. Additionally, Former Customer and Former Vendor are linked, as are Current Customer and Current Vendor.
How do I deploy the solution?
- Download the Competitor Plus managed solution.
- Within your CRM system, navigate to Settings | Solutions.
- Click the Import button at the top of the Solutions grid.
- Navigate to the location of the managed solution (where you downloaded or saved the file) and select the solution.
- Complete the import wizard.
How do I use the Competitor enhancements?
- When creating or editing Competitor records, you can populate the social media fields to add shortcuts to your competitors' pages; this will make it easier for your users to quickly find out how the competition is engaging with customers.
- Twitter has the friendliest URL format. It is simply "https://twitter.com/<username>" where you remove the "@" from the username. For example, our corporate Twitter account is @sonomapartners and our Twitter URL is https://twitter.com/sonomapartners.
- Facebook is similar, but their vanity URLs can be customized. Simply go to http://facebook.com and search for your competitor by name to find the URL.
- LinkedIn is the least "friendly" when it comes to URL discoverability. When I search "Sonoma Partners" on the LinkedIn website, I get http://www.linkedin.com/company/41393?trk=tyah as my URL. If, however, I search "sonoma partners site:linkedin.com" on Bing, the first URL in the search results is http://www.linkedin.com/company/sonoma-partners, a much more friendly option.
- You can also leverage the new connection roles. Opportunity natively has a N:1 relationship with Competitor, but Account and Contact do not. For long-running relationships, these additional connection roles can provide you with visibility to current competitive relationships as well as past relationships.
- On a Competitor record, navigate to the Connections subgrid in the left-navigation.
- Click on the Connect button (by default, 2nd in from left).
- In the Connect To tab, select an Account or Contact in the Name field.
- Next, select either Former Customer or Current Customer in the As this role field.
- Optionally, you can expand the Details tab and set the Start Date and/or End Date fields.
- Click on the Save & Close button.
- Users can navigate to this subgrid to quickly review current and former relationships that the competitor has had with customers and prospects.
I'm intending this solution to be a starting point for much-needed Competitor enhancements. If you like what you see and want to suggest additional changes, send me a Tweet (@jcynamon) or email me (jcynamon AT sonomapartners DOT com). Additionally, I have a Microsoft Connect suggestion to create a new field type to make the social media URLs (and other common URL fields) more user-friendly - please vote it up at http://www.bit.ly/12sajOm.
We’ve been notified through the Microsoft MVP channel that the Microsoft Windows Live ID team will be shutting down the Dev.login.live.com endpoint in early June. This endpoint was never meant to be a production endpoint, and apparently there aren’t a lot of people hitting this endpoint, so shutting it down should cause minimal issues. However, there is still some traffic hitting this endpoint therefore it appears as if some Dynamics CRM customers CRM Online organizations are still using it.
If your solution is hitting this endpoint, the fix is simple. You just need to update your code to hit login.live.com instead. Simply pointing to this new endpoint should be all you need to do.
In order to avoid having any down time or issues with your code, we recommend you look at your solutions to see if you’re using the Dev.login.live.com endpoint, and make the change to login.live.com immediately.
A co-worker ran into this pesky Site Map error the other day after importing and publishing customizations into a new organization.
Unfortunately the ability to download the log file was disabled and the CRM trace was of no help. Since we knew the Site Map was the culprit, we opened up the XML and began to review it. After scanning the XML we discovered a privilege requirement for an entity that was no longer being used and the entity has been removed from the main solution, therefore the new organization doesn't contain this entity.
Once this privilege was removed and the Site Map imported back into the organization, we were error free!
Hopefully this can save someone from a lot of troubleshooting time if you run into a similar error.
We are excited to announce the release of the DefenseReady Daily Standup app on the Windows 8 App Store!
DefenseReady is a Dynamics CRM solution built by Permuta Technologies, Inc. that provides DoD and DHS organizations out-of-the-box mission-enabling solutions for Force Readiness, Mission Execution and Training Management. Developed jointly by Sonoma Partners and Permuta, the Daily Standup app provides military commanders and leadership real-time insight into PERSTEMPO and strength levels throughout their organizations. The app will be available for free to users of DefenseReady.
The app also has a built-in Demo Mode so even if you are not currently a DefenseReady customer, you can still check it out!
The Daily Standup app will default to the PERSTEMPO view. PERSTEMPO stands for Personnel Tempo which is the amount of days a troop has been away from home. A column will be displayed for every child unit of the selected unit as well as the individuals for the selected unit. Four ranges of PERSTEMPO are used to visualize the breakdown of each unit and individual. A unit column can then be selected to drill into that unit and see its child units and individuals.
The strength view displays how many positions are needed and how many are filled. This helps monitor if the organization is under or over staffed. The Strength view is shown by Rank or by Skill and each one is represented by a bullet chart. The gray background bard represents the number of positions needed while the solid blue bar indicates the number of occupied positions. The light gray bar indicates a 25% overage range. The value and percentage to the right of the chart show the amount of occupied positions.
The map view uses Bing Maps to display where troops are currently located as well a past and future locations. The map will group the troops by location and display the number of troops in that location. The Projection slider can be used to visualize troop locations in the past or future.
The follow-up list can be displayed from the application bar. The list will display any open waivers or tasks. Waivers are used to get approval from a superior to go ahead and deploy a troop that has a high PERSTEMPO score. Tasks can be used to flag a certain individual or a unit and take any notes which will be sent to the DefenseReady system.
I highly recommend checking out this app to see the ease of use and the power of DefenseReady. It also displays the great potential of mobility with Dynamics CRM. If your organization is looking to bring a powerful new app to the Windows 8 store, let Sonoma Partners help. Contact us at firstname.lastname@example.org.
For more information about DefenseReady or to schedule a demo, contact email@example.com
Our new Sonoma Partners Community is now LIVE! To access the site, click here or “Community” on the Sonoma Partners website toolbar.
Check out the key areas of our community site:
- Blog – find countless articles on MSFT Dynamics CRM and SalesForce.com lessons learned, trends, and Sonoma Partners solutions
- Applications – download and access help for all of our free solutions and apps
- Forums – post and browse discussions and issues related to our products
- Ideas – search and provide suggestions for product enhancements
Today's guest blogger is Cherish Orozco, a Consultant at Sonoma Partners
Universal Search is now working again for all CRM Dynamics Online customers!
As many of you know, Microsoft deployed a patch to CRM Online late February which adversely affected two supported functions used by Universal Search – Xrm.Utility.openWebResource (used to open the Universal Search page) and Xrm.Utility.openEntityForm (used to open the results records). Mid-March, Microsoft provided a fix for the first function. This allowed online customers to launch the Universal Search page, but still prevented users from opening up the results records. Last week, Microsoft deployed a fix for the second function, Xrm.Utility.openEntityForm, to all geographies. We have confirmed that Universal Search should now be working again for all CRM Online customers. NOTE: On premise Dynamics customers were not affected by any of these changes.
If you have any additional issues or questions regarding Universal Search, please visit our Community Site Forum for Universal Search.
Today's guest blogger is Cherish Orozco, a Consultant at Sonoma Partners
We have just released a new version of the Sonoma Partners Dynamic Forms-Community Edition – 188.8.131.52938. Click here to download.
This version includes the following updates:
- Fixed bugs associated with calculation and hiding actions.
- Fixed minor cosmetic issues in configuration page.
- Improved behavior with saving and publishing records.
- Removed all dependencies to the 4.0 endpoints.
If you already have the Dynamic Forms Community Edition installed, please be aware of the following:
- Be sure to choose Overwrite Customizations when installing the updated solution.
- If you already have rules in your environment, they will not be affected by this new version. You do not need to delete or recreate those rules. You can simply install the updated solution on top of what you already have and the rules should be visible to you in the Dynamic Forms configuration page as they were before.
We hope that you continue to find Dynamic Forms to be a useful tool in your Dynamics CRM environment. For issues, questions, and suggestions, please visit our Community Forum for Dynamic Forms.
Update Rollup 13
Update Rollup 13 was released last week. This update provides long-awaited support for Windows Server 2012 as well as support for ADFS 2.1. The important thing to note here is that to install CRM 2011 on Windows Server 2012, a setup update is required first which won’t be available until April 9th. http://technet.microsoft.com/en-us/library/dn167638.aspx
Head here for the download.
A new version of the SDK was released last week as well. This update provides new DLLs that are compatible with UR 13 as well as CRM Online. Also worth noting is a new version of the Metadata Browser that adds new properties from UR 12.
Important new design considerations were added to the SDK for the new Auto Save feature in CRM Online as well. Microsoft explains that the reason for moving to an auto save is to keep consistency with modern applications and that it can’t be disabled or configured. Although I like the option of having auto save for advanced users, it would be nice to configure the behavior as I think this could be an abrupt change for users who have been using CRM for awhile now.
Also listed is a very important note to customizers and developers explaining that each auto save is considered an update so workflows, plug-ins and auditing will trigger each time. With that being said, the filtering attributes in plug-ins and workflows will be even more important so that they trigger only when specific fields are updated.
The following excerpt was taken from this page in the SDK - http://msdn.microsoft.com/en-us/library/hh913610.aspx.
Modern applications are moving to an implicit save model. The updated forms introduce this behavior in Microsoft Dynamics CRM Online. Auto save is not configurable. You cannot disable it or change the behavior. There is no save button. The auto save control appears in the bottom right area of the updated form and has the following behaviors:
- When creating a new record there is a Create button in the command bar.
- Auto save does not apply until the record is created.
- After the first edit of the form, auto save occurs every 30 seconds.
- Auto save retrieves any changes to the record and displays them without reloading the form.
- Only data that has been changed since the last save are saved.
- The field currently being edited is not saved.
- Command bar actions like New, Close, or Qualify saves the record.
- Closing the form saves the record.
Each time auto save occurs, it is considered an update to the record. Plug-ins, workflows, and auditing of records will treat each update as a separate event. Developers and creators of workflows need to consider the impact this will have on the business logic included in their plug-ins and workflows. Rather than triggering business logic on each update, you should include conditions to check the values of specific fields in the update to initiate your logic so that they won’t occur indiscriminately with each update.
Below is the full release history taken from the MSDN page - http://msdn.microsoft.com/en-us/library/dn130122.aspx
|New and updated topics||Description of changes|
Updated the assemblies for Microsoft Dynamics CRM 2011 Update Rollup 13. These assemblies are also compatible with Microsoft Dynamics CRM Online.
Updated the readme for this version of the SDK package.
Browse the Metadata for Your Organization
Updated the metadata browser so that the HasChanged and RelationshipType properties added in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update can be viewed.
Added the Auto Save Control for Updated Forms section to provide more details about the auto save control behavior.
Added to the remarks for the Targets property to indicate that the attribute is not supported if the Targets property is null.
Updated the topic to provide examples of valid values for this element.
Added the description “For internal use only.” for the phone value added in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update.
Updated the list of walkthroughs. Added links to the sample code and walkthrough categorized views on the Developer Center on MSDN. Added a section for links to other developer resources and social media.
Added more information to the OnChange Event section about when this event occurs.
Added a new sample to Controls Collection showing how to use the attribute controls collection to show or hide all the controls for an attribute.
Finally, head here for the latest SDK download.
At this week’s Convergence conference, Jujhar Singh (Microsoft Dynamics CRM General Manager of Program Management) presented a session titled “Microsoft Dynamics CRM: Product Recap & Roadmap Primer”. Being software geeks, of course we wanted to learn as much as possible about the product roadmap so that we can share it with our customers. Fortunately, Microsoft posted all of their Convergence sessions online so that we can really study the presentation, take screenshots, etc. Love it! Here are our notes summarizing Jujhar’s Microsoft Dynamics CRM roadmap session.
High Level Product Roadmap
This slide below outlines the key Microsoft Dynamics CRM releases. We have already spent a lot of time detailing Polaris, and the Polaris Updates related to Yammer and mobile iPad support so we won’t go into those details again. The more interesting stuff (to us) is what’s coming in the future! In particular, let’s talk about the Gemini release which is the release associated with the Marketing Pilot functionality.
Side note, this slide references “BCM” and “Orion MKT”…we assume BCM means Business Contact Manager but we are not sure what that has to do with the Dynamics CRM product roadmap. I would guess that Orion MKT is marketing-related but again we have not heard that codename before. It seems like a good guess would be that this is related to the Netbreeze acquisition? Jujhar didn’t talk to either of these, so we’re left with a little mystery there.
The slide above shows Gemini releasing right at the end of March / early April so we expect to see it shortly! Microsoft announced the Marketing Pilot acquisition back in October 2012. Marketing Pilot offers integrated marketing management capabilities, complete from asset tracking to email marketing automation.
More exciting to us was that Microsoft showed Marketing Pilot functionality in action. Here are some screenshots showing a campaign and email blast. Please note that these screenshots show email tracking (open, clicks, etc) along with email creation. This is great news because in the past this type of functionality required 3rd party ISV’s.
If you pay careful attention during the demos, you can see more of Marketing Pilot functionality areas flash by. With our quick trigger finger (!!) taking screenshots, we can see they are:
- Marketing Execution
- Assets & Media
Orion is the next product release after Gemini, and Jujhar’s slide shows it coming sometime in the “second half of 2013”. We could try and interpolate where in the second half it might land based on their line, but I think that is a little nuts even for us. Jujhar outlined the main development themes of Orion.
Jujhar gave some quick demos to give a flavor of what the Orion user experience will be like. He really emphasized the “single window” experience to reduce/eliminate the number of pop-up windows that appear. Yes!
This shows how to navigate from one area to another (moving from “Sales” to “Service” for example).
This screenshot shows how users can access recently used records.
This shows how users would access related records (such as Activities and Contacts related to an Account).
After talking through the new Orion UI, Jujhar spent a few minutes talking about mobility updates. The Orion mobile highlights include:
- Mobile client application for Sales (Windows 8 and iPad)
- Mobile browsing client for iPad for all entities (not just Sales like it is today)…plus this will be available for on-premise customers too!
After mobile, Jujhar talked through some of the planned Business Process updates. “Business Process” generally refers to the record header outlined below. Jujhar mentioned the following updates are coming for Business Processes:
- It will be available across multiple entities, including custom entities
- It will not be hard-coded anymore
- It will be solution aware
Post – Orion
Lastly, Microsoft outlined some of the areas that the product roadmap will address post-Orion. These releases have been mentioned in the past as “Leo” and “Vega” but they are not called out on the roadmap slide above…so guessing the release timing will be very difficult!
Lots of great stuff and innovation are planned for Microsoft Dynamics CRM, including a total revamp of the user interface for Orion and beyond. Also great to see that Microsoft plans to support Android phones in the future as well.