Microsoft Dynamics 365: Settings In solutions

Microsoft Dynamics 365: Settings in solutions

Published 06/07/22 under:

When you’re exporting a solution in Microsoft Dynamics 365, you can choose to include organization settings… but there’s no documentation

 

When you’re exporting a solution in Microsoft Dynamics 365, you can choose to include organization settings… but there’s no documentation

So do you know exactly what it is you are exporting?

Never fear, Craig Seymour is here!

Kerv Digital’s Dynamics Practice Lead has the answers you seek…

 

At Kerv Digital, we follow the guiding principle that the deployment of D365 solutions should be automated wherever possible and if it’s not possible, figure out a way to make it possible – hence the birth of our buildThing tools.

 

One exception to this has been organisation settings: when you’re exporting a solution, you can choose to include organisation settings but there’s no documentation… so how do you know exactly what it is you are exporting?

With that uncertainly and as these settings are generally a one-off change, we’ve covered them by documenting the necessary steps in the release note.

But I’d really rather we didn’t have manual steps in the process, so when I had a bit of spare time recently I decided to take a bit of a goosey gander…

So, if you’ve ever wondered what’s included with each checkbox, read on!

 

 

So, if you’ve ever wondered what’s included with each checkbox, read on!

Diving In…

So, how do you find out what settings are actually going to get transferred with your solution?

The first thing I tried was simply exporting the solution twice, once with the settings checked and once without. This gave the XML output at the bottom of this post, but I was left a bit unsure about what each setting was and where it had come from. For example, there seemed to be a lot of settings from the UI which were missing. Perhaps it doesn’t export ones which are set to the default?

However, when I looked online for references to the XML attributes, I found the SDK documentation for the Request classes which can be called when you are generating a Solution programmatically; They’re a bit hard to digest, but they do help to understand what exactly you’re going to get.

 

And the answer is?

The short answer is, exactly the same list as above; the longer answer is as below:

 

 

Organization.WeekStartDayCode : Designated first day of the week throughout Microsoft Dynamics 365
Organization.DateSeparator : Character used to separate the month, the day, and the year in dates throughout Microsoft Dynamics 365.
Organization.ShowWeekNumber : Information that specifies whether to display the week number in calendar displays throughout Microsoft CRM.
Organization.DateFormatCode: Information about how the date is displayed throughout Microsoft CRM.

 

 

Organization.MaxAppointmentDurationDays : Maximum number of days an appointment can last.

 

 

Organization.TimeFormatCode : Information that specifies how the time is displayed throughout Microsoft CRM.

Organization.CalendarType : Calendar type for the system. Set to Gregorian US by default.

Customisation

 

 

Organization.IsAppMode : Indicates whether loading of Microsoft Dynamics 365 in a browser window that does not have address, tool, and menu bars is enabled.

Email Tracking

 

 

Organization.TrackingPrefix : History list of tracking token prefixes
Organization.TrackingTokenIdBase : Base number used to provide separate tracking token identifiers to users belonging to different deployments.
Organization.TrackingTokenIdDigits : Number of digits used to represent a tracking token identifier.
Organization.MaximumTrackingNumber : Maximum tracking number before recycling takes place.

Organization.IgnoreInternalEmail : Indicates whether incoming email sent by internal Microsoft Dynamics 365 users or queues should be tracked.

 

 

Organization.RenderSecureIFrameForEmail : Flag to render the body of email in the Web form in an IFRAME with the security=’restricted’ attribute set. This is additional security but can cause a credentials prompt.
Organization.AllowUnresolvedPartiesOnEmailSend : Indicates whether users are allowed to send email to unresolved parties (parties must still have an email address).

General

 

Organization.IsAutoSaveEnabled : Information on whether auto save is enabled.
Organization.FullNameConventionCode : Order in which names are to be displayed throughout Microsoft CRM.
Organization.IsPresenceEnabled : Information on whether IM presence is enabled.
Organization.PricingDecimalPrecision : Number of decimal places that can be used for prices
Organization.ShareToPreviousOwnerOnAssign : Information that specifies whether to share to previous owner on assign

 

 

Organization.BlockedAttachments : Prevent upload or download of certain attachment types that are considered dangerous.

 

 

Organization.NumberFormat : Specification of how numbers are displayed throughout Microsoft CRM.
Organization.NegativeFormatCode : Information that specifies how negative numbers are displayed throughout Microsoft CRM.

 

 

Organization.CurrencySymbol : Symbol used for currency throughout Microsoft Dynamics 365.

 

 

Organization.CurrencyFormatCode : Information about how currency symbols are placed throughout Microsoft Dynamics CRM.

 

 

Organization.GlobalHelpUrl : URL for the web page global help.
Organization.GlobalHelpUrlEnabled : Indicates whether the customizable global help is enabled.
Organization.GlobalAppendUrlParametersEnabled : Indicates whether the append URL parameters is enabled
Organization.GetStartedPaneContentEnabled : Indicates whether Get Started content is enabled for this organization.

Organization.MobileClientMashupEnabled :

 

Marketing

Organization.AllowMarketingEmailExecution : Indicates whether marketing emails execution is allowed.

 

 

Organization.AllowAutoResponseCreation : Indicates whether automatic response creation is allowed
Organization.AllowAutoUnsubscribe : Indicates whether automatic unsubscribe is allowed.
Organization.AllowAutoUnsubscribeAcknowledgement : Indicates whether automatic unsubscribe acknowledgement email is allowed to send.

Organization.TagPollingPeriod : Normal polling frequency used for email receive auto-tagging in outlook.

Organization.TagMaxAggressiveCycles : Maximum number of aggressive polling cycles executed for email auto-tagging when a new email is received.

Organization.AllowOutlookScheduledSyncs : Indicates whether scheduled synchronizations to Outlook are allowed.

 

 

Organization.EmailSendPollingPeriod : Normal polling frequency used for sending email in Microsoft Office Outlook.
Organization.MinOutlookSyncInterval : Minimum allowed time between scheduled Outlook synchronizations.
Organization.AllowOfflineScheduledSyncs : Indicates whether background offline synchronization in Microsoft Office Outlook is allowed
Organization.MinOfflineSyncInterval : Normal polling frequency used for background offline synchronization in Microsoft Office Outlook.
Organization.AllowAddressBookSyncs : Indicates whether background address book synchronization in Microsoft Office Outlook is allowed.
Organization.MinAddressBookSyncInterval : Normal polling frequency used for address book synchronization in Microsoft Office Outlook.

 

Sales

 

 

Organization.CreateProductsWithoutParentInActiveState : Enable Initial state of newly created products to be Active instead of Draft
Organization.UseInbuiltRuleForDefaultPricelistSelection : Flag indicates whether to Use Inbuilt Rule For DefaultPricelist.
Organization.MaxProductsInBundle : Restrict the maximum no of items in a bundle
Organization.OOBPriceCalculationEnabled : Enable OOB pricing calculation logic for Opportunity, Quote, Order and Invoice entities
Organization.DiscountCalculationMethod : Discount calculation method for the QOOI product
Organization.MaximumDynamicPropertiesAllowed : Restrict the maximum number of product properties for a product family/bundle

Relationship Roles

You’re not still using these, right? 🙂

Conclusions

If you bothered to read all the detail above, you’ll have noticed that there’s a few incomplete bits, and my intended next steps were to go through and track down the missing items or uncertain items, but actually I think that I’d be wasting my time.

We can see that:

  • Not all the visible settings in the UI under the tab of the same name as the checkbox in the Solution Export dialog are taken through (e.g. If you tick ‘General’ in the Solution Export, you don’t get all the settings in the ‘General’ tab in Application Settings.
  • Functionally related settings are scattered throughout the UI (e.g. some of the ‘General’ settings are in the currency and locale areas of the UI)
  • There are settings for things which you shouldn’t be using (e.g. Relationship Roles)

All of which makes me reticent to use this functionality – without careful checking, there’s no certainty about which settings are actually going to make it through.

And with the dynamic nature of Dynamics 365 CE updates, it could change tomorrow…

So where next?

I think that Kerv Digital needs to write a buildThing which iterates through the the whole list of Organization Settings (not just those exposed as specific Request classes), and allows you to set them programmatically in your ALM pipeline.

 

Have a question?

Leave your details and a member of the team will be in touch to help.

"*" indicates required fields

By pressing send, you agree to our Terms and Conditions and Privacy Policy.
This field is for validation purposes and should be left unchanged.

Worth Digital

is now part of Kerv

In a continued effort to ensure we offer our customers the very best in knowledge and skills, Kerv has acquired Worth Digital.