Hello everyone;

I'm writing today about the publisher prefix and the profound impact it has all your customizations and environment. The publisher is linked to solutions; every solution must have a publisher. When we talk about build products to sell or export the publisher stays with that solution as potential contact information or description of the company making the customizations.

Let's first look at what CRM Provides out of the box for publishers. The default publisher that is created is shown in the picture below; but instead of "devjay" it would be your organization name.

We can see that the Prefix field is specified as "new". This means for anything you create inside of crm (entities, fields, dashboards, web resources, templates, etc) it will be prefixed with "new_" then the remaining name of item being created. This is really important to consider because when your have a brand new organization any customizations made for the organization will always have this "new_" prefix.

As a best practice when developing the customizations the first thing done should be to create a new solution and then create a new publisher for the company your doing work for. It would be best to discuss the proper prefix they would prefer before making that call yourself. The other thing that you need to consider and be mindful of; when working with a created solution in order to make customizations using that publisher and prefix you need to open up that solution and navigate to where you want to be to make your change. When you open up an account entity and see customize this form at the top navigation (if you have permissions) this uses the default solution and publisher! This is something that I've seen time and time done; the proper solution + publisher setup but then a customization done through the customize this form button from a record and they are back to a "new_" prefix to a field that was just created. To counter this if all customizations are to be done in your dev environment using the same publisher I'd recommend changing the default publisher to have the same prefix as your own publisher; this way it would safe guard against this type of thing.

The reason I'm writing about this best practice today is that over the past few weeks navigating the Dynamics CRM Forums I've seen time and time again code posted with "new_attribute" or "new_entity" and it's important to teach and recommend how we can all get better!