blogs & Things

Microsoft Dynamics 365: Settings In solutions

Craig Seymour – Dynamics Practice Lead, cloudThing

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!

cloudThing’s Dynamics Practice Lead has the answers you seek…

 

At cloudThing, 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 cloudThing 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.

 

Watch this space

More blogs & Things

More blogs & Things


James Crossland in NonProfit

AI + Automation: Reducing Donor Churn & Maintaining Sponsor Interest

Churn management is a vital element of any marketing strategy, and the NonProfit sector is no exception. Knowing what to track and having a joined up view of all your donations data is vital for getting this right, and also opens the door to building innovative data-driven campaigns.   At our recent DataScience and Transformation in Charities […]


James Crossland in NonProfit

Dynamics 365 In NonProfit’s

Charities have unique funding concerns, and an obligation to spend as much as possible on their chosen cause. However, an investment in technology can offer ROI in the form of more than just improved fundraising. Dynamics 365 can help rework complex business processes, ensure compliance with stringent safeguarding and financial regulations, as well as consolidate […]


James Crossland in Tech

8 Ways Your Business Can Increase Turnover With Big Data

Understand how Big Data and Data Science can transform your business…   Big Data is the phrase that’s used to categorise any data that’s too large, complex, cumbersome or complicated to be managed and processed by conventional technology. To put that into a relatable context; being able to recommend your customers content, products or offers based […]


James Crossland in NonProfit

How To Reduce Donor Churn In NonProfits

Reducing Donor Churn doesn’t have to be a big task but does need to be a fundamental part of a NonProfit’s day to day processes   What Is Donor Churn? Donor Churn is the likelihood of an individual stopping their donations to a charitable cause for a variety of different reasons resulting in the non-profit organisation […]


James Crossland in Tech

Agile: Cutting Costs, Improving Quality & Accessing Talent

After using Agile to develop software products for several years, we thought we’d share the challenges we encountered at the start, what we did to change and the results we saw (which were ultimately uplifts in quality and efficiency)…   My development team has been using Agile to develop software product since 2007. Personally, I’ve seen many […]


James Crossland in Tech

UI VS UX

What’s the difference between UI and UX?   Simply put UI (or User Interface) are the pages, screens, buttons, icons and any other visual aspects of a website or App that let you interact with it… or to expand on that into the non-virtual world… UI is how you experience using something – For instance in opening a fridge, […]