Within the world of millions of pieces of data, relating certain data to other data can create a new piece of data. Take for instance a Full Name.
A full name can be considered one piece of data or it can be broken down into two, three, four or more pieces of data. Take the full name : Mr. John Jay Smith III and broken down we see the following:
and these pieces can be data or can be combined to create a number of different data names. John, John Smtih, John Jay Smith, John Jay Smith III, Mr. John Jay Smith III
Why does this even concern anyone? Well these are details that are important within the world of development and coding.
So welcome to Composite Control! A development choice for grouping the need to enter like data through a smooth user friendly interface.
In Dynamics CRM v2013 Composite Control is offered on Name and Address and via the SDK even more can be done.
Clients want to purchase a software package that has absolutely everything they need all nicely bundle in a shiny box, but the reality is that each client's business process has many unique variables.
In order to meet all the unique needs of clients Microsoft has built not only a product with a ton of features (#msdyncrm), but also with a framework for development (stick within the framework and upgrades and updates go fairly smoothly). So what have the great partners in the field done?
They have built additional modules, utilites, full products and even feature sets for purchase that click into Dynamics CRM.
Within the world of the CRM Industry there is a cutting edge ...
AND when it comes to the cutting edge pushing the design of data consumption is right up there with tying the use of CRM to employee motivation. As in they get more motived the more they use the internal CRM application. (yes, really, but I will save that for a future post)
Thanks to Mark for sharing this great post and a free solution on data display design - Perhaps take a few minutes to check it out and comment.
It is a rainy day here in the Northeast so what better way to spend an evening. Yes, Enhancing the Dynamics CRM Charts!
Rather than dive into writing something again that was so well written by another member of the community I am sharing a post about Multi-Tenant and why this powerful option is now available for Microsoft Dynamics CRM Online users.
Anyone who develops within the world of Microsoft Dynamics CRM has a secret stash of favorite tools.
Want to know what some of those tools are?
Check it out
Are you diving into the world of automation testing for extended Microsoft Dynamics CRM projects?
Take a look at Visual Studio 2012!
There is a whole set of UI Automation testing just waiting to be found!
To get you started you can read about testing for continuous development.
You can also read about What's new in Test Manager 2012.
and then there is the Visual Studio Magazine article on Automating UI Testing and
the list goes on ...
If I had a dollar for every time the following question was asked in the field I could.. ! Well here is a much better response then a flat No and my thanks to Steven Vlaanderen Oldenzeel from Microsoft PFE for sharing!
Can I write directly to the Microsoft Dynamics CRM SQL Database?
I am amazed at how I continue to learn more and more about Dynamics CRM despite focusing on the platform for over eight years. The product team continues to release small and large updates and are amazing in how fast they manage to keep up with the pace of technology change.
Additionally the current product (even before any updates) has a ton of depth and a number of under utilized functionality. When was the last time you decided to add something new to your business processes? What about learning one small area of the software in full?
Consider Goals, or Connections - take a peek at subjects or perhaps you want to become a FetchXML guru
Did you know you can tie web sense into charts?
There is so much that can be done.
Given this I offer this link and suggestions: Go review the Microsoft Dynamics CRM v2011 IMPLEMENTATION GUIDE. You might not have looked at it for a few years, a few months or even ever and it is packed with great information. So take an hour for study, each day this week - shoot make it a team effort and start up a Dynamics CRM brown bag lunch or book group. You will be pleasantly surprised.
1) Unit testing CRM – Some interesting food for thought
2) Enterprise CRM team development – Feedback from the field from Shan (CEO of ADX) and more good food for thought –
A special 2 hour XrmVirtual presentation on Enterprise CRM team development focusing on change management and application lifecycle management (ALM) tools. Here is the event page: http://www.xrmvirtual.com/events/team_dev_ShanMc_CRM2011
SureStep has a little file that is not always that easy to find, BUT it is a very powerful document for any developer ramping up on or learning Microsoft Dynamics CRM.
The specific file name within SureStep is 1.5.1 Development Standards XRM
Additonally any new and old xRM developer should know about the following resources
Microsoft Dynamics CRM Development Best Practices (available in PartnerSource and MSDN)
Microsoft Dynamics CRM SDK Documentation (available in PartnerSource and in MSDN)
MSDN: Design Guidelines for Class Library Developers, Microsoft Corporation, 2004 (MSDN Library)
I just stumbled upon a nice xRM/CRM developer resources blog: Jamie Miley's Life and Technology - Take for instance this post
In this incredible world of both technology offering calculated date and people capturing data from all over the world the two concepts can sometimes collide!
Take for instance the world of dates.
Microsoft Dynamics CRM offers UTC adjustments, personal settings and Date and Time fields. What this means is that depending on how you have your computer configured and your Dynamics CRM Personal Options the dates that you enter are adjusted.
Microsoft Outlook does this as well. If I was to setup a meeting with an associate in California for instance on my calendar for today the meeting would display as Eastern Time (2pm for instance), but for my associate (CRM Guru Marc Wolenik) the date and time would display as (11am) and if we then added in another person such as a cool CRM Guru in Australia (Leon Tribe) the time would not only be different, the DAY would be different.
So what happens when you start capturing these types of dates inside of Dynamics CRM for analysis or reporting?
If all the dates are entered by "humans" correctly configured for their local time zones then the software correctly handles all the adjustments. The only trick with regards to this set of considerations is that DATE Only fields are well not really date only so watch that!
If all the dates however are entered by other "Systems" then a bit more thought needs to go into the architecture. Take for instance a system that resides on a server in a data center that is capturing date information based on that servers date. If you then take that date and enter it via an integration, how would you expect Dynamics CRM to react?
How would that date be managed?
Do you want it to be fixed? or adjusted?
If you want it to be adjusted, how are you going to tell the system to adjust it?
What if you want it to be a date field BUT you want to lock it to a certain time zone?
These are the joys of the world of global!
Posted at 08:55 AM in CRM Development, MS CRM Configuring , MS CRM in Enterprise , MS CRM Installing, MS CRM Roll Out, MS CRM Selling, MS CRM Studying, MS CRM Tip of the Day, MS CRM Users: The Executive Office | Permalink | Comments (0) | TrackBack (0)
Soundex is not necessarily the ultimate solution to expanding the power of Duplicate Detection, but it is definitely one option.
Check out this post for one approach (comments from the development crowd welcome)
Wow - CodePlex grew while I wasn't paying attention. There are now almost one hundread different free solutions available, all with interesting hints of cool stuff.
The word of the day is OData
"The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today. OData does this by applying and building upon Web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores. The protocol emerged from experiences implementing AtomPub clients and servers in a variety of products over the past several years. OData is being used to expose and access information from a variety of sources including, but not limited to, relational databases, file systems, content management systems and traditional Web sites" retrieved from www.odata.org
Now apply that to your Silverlight learning as you introduce or mix Silverlight in with Dynamics CRM v4.0 or 2011!
"Silverlight 4 includes rich support for accessing web data either on the Internet or intranet via WCF Data Services. Formerly known as ADO.NET Data Services in Silverlight 3, WCF Data Services provides support for REST-based data access as well as support for the new Open Data Protocol (OData) format" retrieved from http://programming4.us/multimedia/2478.aspx
Complex Business Process Management in Dynamics CRM 2011
300 level - music to my ears after a day of a bit to much pitch ( yes, I can be over sensitive to this)
Processes (workflows), Dialogs, Plugins
The ability to honor business rules with technology designed to honor and optionally automate business rules.
Tie this to "take action" and you can walk right into branches of logic
Code? You don't necessarily need to write code (re-defining the term developer in CRM 2011) to get eXtended functionality
Custom XAML Workflows with visual studio workflow designer
Workflows or Dialogs? A nice little decision checklist. Including decisions like asynchronous or synchronous, started by user or automated - understood standardized process or quick result?
Special Handling: such as a gold customer status that alerts user on access to step it up
Dialogs: Queries, Assigns, child dialogs, tracking, using a wizard to populate data as opposed to depending on a User's memory to fill in fields
I was going to say lake, or pond but it is way too big for that. I spent the weekend working hard on adding to all of the great Dynamics CRM 1.2, 3.0 and 4.0 knowledge.
First and foremost it is such a joy that there is almost nothing that I have to painfully have to throw away. All the great features within CRM v4.0 are enhanced and expanded and then they added more functionality and more power. All while simplifying the concepts so that the developers have easy tools to bundly (Solutions) and the users have power to personalize (Charts and Forms)
What more can a passionate CRMLady ask for!
Key areas that I have been working with, you ask?
The new Service module has been injected with more TEAM power. You can now share cases using key techniques like "working on" and team ownership.
The Knowledge Base has a number of new enhancements which PowerObjects has done a nice job of quickly summarizing here.
The Relationships functionality has matured and a new concept, "Connections" is introduced.
and lastly as much as an entity is an entity is an entity, the entity concept now has a long list of sister components organized in a nice list for mastery such as Option sets, Connection Roles, Templates, Security Profiles, web resources and more.
Posted at 08:14 AM in CRM Development, MS CRM Roll Out, MS CRM Users: Network and CRM SQL Database Administration, MS CRM Users: The Executive Office, MS CRM Users: The Marketing Department, MS CRM Users: The Sales Department, MS CRM Users: The Support Department | Permalink | Comments (0) | TrackBack (0)
The Microsoft Dynamics CRM development team has released CRM v4.0 Rollup 16 and not only have they managed to resolve some of the issues reported from the field, they have also fine tuned some of the existing features. (it is amazing what a team of programmers writing code every day can create in 8 weeks) Particularly given there are change control processes, testing processes, QC, Builds, Deploys and more to pull together.
Do you have feedback?
Share your comments !
For those of you who are cruising along on your last years knowledge of xRM development habit you might make a note to add a task to your to do list!
SDK v4.0.13 (and SDK v4.0.12) offers NEW options and CHANGES old accepted xRM development practices
This release includes the new Advanced Developer Extensions for Microsoft Dynamics CRM, also referred to as Microsoft xRM. This is a new set of tools included in the Microsoft Dynamics CRM SDK that simplifies the development of Internet-enabled applications that interact with Microsoft Dynamics CRM.
In addition to the documentation, this download package includes the projects for all sample code found in the documentation, and full featured samples that are not included in the documentation. The package includes a visual style guide you can use to make your customizations fit in smoothly, and a style sheet you can use as a basis for your work. There are also tools and helper code provided in this package. Look for regular updates to this SDK!
So now that you have completed all your New Years Resolutions (or abandoned them) take a bit of time and do a bit of deep diving into the new v4.0 SDK
and for those guru, gurus who are developing on the v2011 platform. The same applies :) as many of the new concepts within the sdk world made it into the v2011 SDK world as well.
Microsoft Dynamics CRM 2011 has been released now both as an Online offering and as an OnPremise offering.
The buzz from the field is that the product is packed with 500+ new features and a ton of new options with regards to customization and after working with the product I have to agree. The team is offering some incredible power and flexibility while still maintaining all that is great in v4.0.
Power however comes with a price. As partners and customers across the world learned in Dynamics CRM v3.0 and v4.0 if you don't take the time to understand then it is easy to dig your own hole of frustration.
So how can this be avoided by those just getting interested? Particularly given that 2011 offers even more!!
Here are five key steps to getting off on the right foot!
1) Take baby steps and small bites, grow with the product
2) At a minimum READ the installation guide twice (OnPremise)
3) Remember, just because it is easy to configure and customize doesn't mean you know the best way to configure and customize. Tap into experience.
4) Good "CRM" partners have already invested in the basics and offer those as part of every project (why pay to rebuild these, just for the learning exercise? There are better ways)
5) Senior .NET developers who don't know XRM/CRM still have a lot to learn when it comes to thinking XRM. Junior XRM/CRM developers still have a lot to learn when it comes to thinking .NET
and as a little bit of extra - Item 6
6) Many of the features within Dynamics CRM are version 4.0! but some are v1.0 - set proper expectations when utilizing a specific feature set.
Kicking off the New Year, this new page is packed with all things Microsoft Dynamics CRM 2011! If you are planning, prepping or in general curious about the next version of CRM you might want to take a peek.
Caution: You might want to think twice about this one, but it does take care of a user annoyance when exporting from Microsoft Dynamics CRM into Microsoft Excel 2007..
Thanks to Joel over at Customer Effective for summarizing!!
Click To Read - Getting Rid of the CRM Export to Excel WARNING message
David Jennaway has a great post on the Asynchronous Service as well. You can read some of it here and link to the rest over on Dave's great CRM blog at http://mscrmuk.blogspot.com/
CRM 4.0 UR 3 brought in a useful feature, the ability to configure the CRM Asynchronous Service to automatically delete records from completed asynchronous operations, and hence keep the size of the asyncoperationbase SQL table down to a reasonable size. This behaviour is configured by the registry values AsyncRemoveCompletedJobs and AsyncRemoveCompletedWorkflows
At the moment, the only workaround I have is to remove the registry values, and to use a scheduled SQL job to periodically clear out the asyncoperationbase table. Here is an example of such a script.
Thanks to Matt Wittemann over at ICU MSCRM
Posted by Matt Wittemann
There have been several KB articles and updates published to help control the size of the AsyncOperationBase table, which can cause your CRM database to grow very large, very quickly. (See here and here.) But just what are all those records anyway?
I pulled the following lists together from the SDK and technet in order to put this info in one place, where it’s a little more user-friendly (at least for me!).
First, the list of AsyncOperationTypes:
READ MORE at
|1||Event||Specifies a system event.|
|2||BulkEmail||Specifies a bulk e-mail operation.|
|3||Parse||Specifies an import file parse operation.|
|4||Transform||Specifies an operation to transform parse data.|
|5||Import||Specifies an import operation.|
|6||ActivityPropagation||Specifies a campaign activity propagation operation.|
|7||PublishDuplicateRule||Specifies an operation to publish a duplicate detection rule.|
|8||BulkDetectDuplicates||Specifies a bulk duplicate detection operation.|
|9||CollectSqmData||Specifies an operation to collect SQM data.|
|10||Workflow||Specifies a workflow operation.|
|11||QuickCampaign||Specifies a quick campaign operation.|
|12||PersistMatchCode||Specifies an operation to update the matchcode.|
|13||BulkDelete||Specifies a bulk delete operation.|
|14||DeletionService||Specifies a Deletion Service operation.|
|15||IndexManagement||Specifies an index management operation.|
|16||CollectOrgStats||Specifies an operation to collect an organization's statistics.|
|17||ImportingFile||Specifies an import subprocess operation.|
|18||CalculateOrgStorageSize||Specifies an operation to calculate an organization's storage size.|
|19||CollectOrgDBStats||Specifies an operation to collect an organization's database statistics.|
|20||CollectOrgSizeStats||Specifies an operation to collection an organization's size statistics.|
|21||DatabaseTuning||Specifies an operation for database tuning.|
|22||CalculateOrgMaxStorageSize||Specifies an operation to calculate an organization's maximum storage size.|
|23||BulkDeleteChild||Specifies a bulk delete subprocess operation.|
|24||UpdateStatisticIntervals||Specifies an operation to update statistic intervals.|
|25||FullTextCatalogIndex||Specifies an operation to generate an organization full text catalog index.|
|27||UpdateContractStates||Specifies an operation to update contract states.|
|30||ReindexAll||Specifies an index management operation.|
Next, here’s a list of the different state/statuscodes that each of these operation types can be in:
|State||Status||Numeric status value|
Hope this is useful to you! Have fun with it.
A couple of great posts today that just spurred me to get back on the blogging band wagon.
OK, there was another reason. Over the last couple of weeks I have found that both in Twitter (follow me @CRMLady) and on Facebook and Yammer I have been having a hard time sticking with 140 characters and I am not about to change my entire language to one letter words soo blogging is a better tool for deeper (or perhaps just more wordy) thoughts.
Credit for the posts that caught my eye goes to Sean Shilling from Customer Effective. (Sean you are going to need to get your name added to the list of authors ;) These posts motivated me to first start sharing via e-mail and then kicked me back into blogging gear (Thanks Sean!)
CRM and SQL : for those with slightly bigger Microsoft Dynamics CRM databases, performance is something you want to think about. This includes standard performance items like indexing the database. To get started take a look at this post to learn more about the CRM SQL Tables.
CRM Plugin Registration and Un-registration Utility: for those who manage a number of different teams, different developers and different environments. You might want a more graphical interface for plugin registration. You can read more about that here.
ExactTarget offers some great insight about HTML e-mails and the challenges they can cause! Variables such as which e-mail client, which browser and which software your clients are using can have an impact.
As such this area of technology gets to be a lot thicker and more complicated than one would first suspect.
If you then mix that with all the cool new tricks for tracking opens, subscribes, unsubscribes and marketing statistics as well as the international and national SPAM laws you are stepping into an area that requires its own experts. The experts exist and they are working with Microsoft! Companies like CoreMotives and ExactTarget for instance.
So if advanced marketing is a focus of yours then start at the top of the trees, in the right forest, with the right tools and the right partners and then get into the nitty gritty.
You wouldn't add nitro to just any car without a good bit of knowledge and the same holds true with the Microsoft Dynamics CRM Accelerators. They are powerful! Just put them in the right hands, with the right knowledge and a little bit of tender loving polish and look out.
My hope is that Microsoft will continue to increase the amount of polish, but for now know what you are dealing with and don't expect to just drop in the fuel without understanding.
Release 2 of The Partner Relationship Management (PRM) Accelerator has now been posted. The PRM Accelerator allows businesses to use Microsoft Dynamics CRM to distribute sales leads and centrally manage sales opportunities across channel partners.
In his continued awesome way, Richard Knudson writes up and shares a nice post on Form-Scripting in Microsoft Dynamics CRM. What is he referring to with regards to Form Scripting?
but he also takes it one step further and describes alternatives to this little technique and yes, there are many times when the alternatives are the better choice.
When: Thursday, May 27, 2010 9:00 AM (PDT)
Meeting time: May 27, 2010 9:00 AM (PDT)
To use computer audio, you need speakers and microphone, or a headset.
If you are looking at importing a large amount of data into Microsoft Dynamics CRM then you might want to get caught up with this post Speed up your CRM SDK imports and updates
If you are a Microsoft PARTNER then you will definitely want to check out the current version of the SureStep Project Methodology for Microsoft Dynamic CRM (I think they finally got it) AND have a few of the consultants take the exam
Are you looking for more Address Data Validation? How about tying to a Standard Source? Check out PostCodeAnywhere Address Lookup.
Trying to Solve a Problem with Dynamics CRM v4? Did you turn on Trace? Scott gently offers a reminder on problem solving and disk space.
Just a small bit of code placed in just the right place. Sometimes the biggest business benefit is not necessarily the biggest development effort.
A small little button opening a world of possibilities.
Posted at 09:12 AM in CRM Development, MS CRM ISV and 3rd Party Add-on Products, MS CRM Partner Resources, MS CRM Selling, MS CRM Tip of the Day, MS CRM Users: The Executive Office, MS CRM Users: The Marketing Department | Permalink | Comments (1) | TrackBack (0)
For numerous years developers didn't need to worry about the complexity of creating multi-threaded applications in the PC World. The availability of hardware and operating systems that supported multi-threaded applications just didn't exist.
Over the last couple of years this has now all changed. Multi-processors and multi-threaded support built into the operating systems of even the smallest computers increases the requirements for creating code that can take advantage of all that power and performance.
You can now, not only create pieces of applications that run concurrently, but you can also create situations where different pieces of the applications overlap, use asynchronus and synchronus services and even tap into different physical processing power at different times.
If you consider a former tool to be one instrument (like a violin), then in today's development world, whole orchestras (violins, cellos, trumpets, sax, etc.) are being managed with symphonies of success being deployed.
Needless to say the failures can make quite a racket and the people who can detangle and fix this racket are a special breed.
Tools, Tools, and more Tools.
The Microsoft Research teams have been looking at some of the concurrency problems and are interviewed on Channel 9 about their discoveries. Microsoft Research: Tools to Help Resolve Concurrency Problems
For those of you who work within a Feature Driven Development model (FDD) there are a number of great resources on the whole subject area on this website.
Given our focus on builds and deployments to different environments I found this post by the team over at Inetium of interest.
Alas I received bad news today about duplicate checking. As it turns out if you have duplicate checking set to check on create and update AND you find a duplicate the system does not acknowledge or save your response. Needless to say the system will continue to check for duplicates even if you told it that the two items found are NOT duplicate.
There is a way to get around this.
1) Make your duplicate checking rules a bit more sophisticated.
2) Tap into some of the 3rd party code to "pimp" your duplicate checking rules.
Anyone else have any great solutions? I know we are not the only ones to run into the statement "that is how it is designed"
We recently had the need to hide a section on a Microsoft Dynamics CRM 4.0 Form. After review of four or five different options it was decided that this offered the best approach.
The number one reasons is because the option supports the need to move code between different environments and as such is much more Enterprise centric.
A big THANKS to Adi for posting.
One small note: Just be aware that if you move sections around you might break the code.
A few weeks back Duplicate Detection was quite the focus in parts of my world and as per usually someone pointed out that Soundex wasn't an option.
Low and Behold - Check out this recent post called "Pimp your Duplicate Detection"
For anyone new to Microsoft Dynamics CRM – This recording is a great start on how to modify the UI without writing a line of code. It also has one or two tips that are helpful for those a bit more experienced.
The Nuts and Bolts article Outlook Synchronization in Microsoft Dynamics CRM 4.0, which is available for download from the Microsoft Download Center:
Outlook synchronization enables Outlook users to view Dynamics CRM information, including contacts, tasks, phone calls, letters, faxes, appointments, and e-mails, within the Outlook interface. This document describes the client synchronization process that is associated with Update Rollup 7 for Microsoft Dynamics CRM 4.0 or later (for on-premise deployments) and with Microsoft Dynamics CRM Online November 2009 Service Update or later (for online deployments).
Posted at 12:21 PM in Announcements, CRM Development, MS CRM General Announcements, MS CRM Knowledge Base Articles , MS CRM Partner Resources, MS CRM Studying, MS CRM Tip of the Day, MS CRM Training Resources, MS CRM Users: The Support Department | Permalink | Comments (0) | TrackBack (0)
The maximum number of attributes within the world of Dynamics xRM is defined by any limits within the world of Microsoft SQL Server.
To Quote "Eg: SQL 2005 & 2008 is 1024. Which means you can have 1024 attibute[s] per entity creation."
When on a specific form Cntl N gives you the internal URL for any Dynamics CRM displayed form. You can then use this with variables in an iFrame to do some interesting things.
Back in the pre-Microsoft SQL days I spent a good amount of time thinking about databases. There were databases that needed constant tweaking and maintanence and there were databases that were like chunks of granite that rarely had trouble, but when they did have trouble they could be a monster to fix.
I am curious as to if anyone out in the community has run across any favorite Microsoft SQL Server database tools and Dynamics CRM database maintanence best practices.
We ran into a bit of a snag yesterday and it was a bit difficult to figure out. One of the filtered lists that had been setup was showing perfectly in an iFrame, but it was not working off the left nav bar. Go figure.
The solution turned out to be that we were using ID as a filter. So instead of using ID (protected and used) AccountID or ContactID is preferred and solved the problem.
What you don't know about Stunnware's toolkit?
It is well worth checking out.
Just finished up doing a bit of attribute work. There are a few things to keep in mind that I thought I would share.
1) If you do not want to have an attribute show in Advanced Find then you want to set the SEARCH flag on that attribute to NO. By default the search flag is set to YES.
2) You can use the comment field to help organize your work in addition to the display field and the internal attribute schema names. For instance you might want to map your internal schema names to the system you are integrating with, the display names to something that makes sense to users who are using advanced find and the labels on the form to something that works well for data entry. The comment field can also be used by placing a flag at the start of the comment so you can sort by comment during your reviews.
3) Don't have time to enter comments? A few extra seconds per attribute and you can go so much further with documentation and communication. Makes someone elses life easier, include comments.