You are on page 1of 13

Dynamics 365 Customer

Engagement: Solution
Lifecycle

Microsoft Services
Module Overview
• What is a solution?
• Working with solutions
• Managed vs. unmanaged
• Solution layering
• Solution architecture
• Versioning of solutions and source code
• Solution Packager
• Summary
What is a solution?
• Solutions are used to author, package, and maintain
customizations that extend your Dynamics 365 Customer
Engagement organization
• Solutions allow distribution of business functionality across
Dynamics 365 Customer Engagement environments
Managed vs. Unmanaged Solutions
• Unmanaged solution
• Collection of references to components
• No restrictions on what can be added, removed, or modified
• Recommended during development of the solution
• Managed solution
• Sealed “binary”
• Components can’t be added or removed
• Cannot be exported
• Recommended when development of the solution is complete
Solution Layering
Application
Application Behavior
Behavior
Entity
Entity SiteMap
SiteMap Template
Template Web
Web Resource
Resource

Unmanaged
Unmanaged Solution
Solution D
D
Unmanaged
Unmanaged Solutions
Solutions
Unmanaged
Unmanaged Solution
Solution CC
Entity
Entity Web
Web Resource
Resource
SiteMap
SiteMap

Managed
Managed Solutions
Solutions
Managed
Managed Solution
Solution BB
SiteMap
SiteMap

Managed
Managed Solution
Solution BB
Template
Template

System
System Solution
Solution
Entity
Entity SiteMap
SiteMap
Solution Architecture - Toolbox
• Solution Segmentation
• Entities are bulky
• With segmentation, you can export solutions with selected entity assets, such
as fields, forms, and views
• Enables granular development
• Patch Solutions
• Solutions with a parent
• Can be rolled up into upgraded parent solution
• Solution Upgrades
• Two versions of one solution exist simultaneously
• Clear dependencies on previous version
• Previous version removed
Version Control for Solutions
• Major.Minor.Build.Revision
• Major – Manually updated
• Minor – Automatically increments when cloning solution
• Build – Automatically increments when cloning patch
• Revision – Automatically increments when exporting solution
• All of this automated behavior can be manually overridden
Version Control for Solutions
• When exported from an
environment, solutions
are in the form of a zip
file
• In the zipped format, our
schema definition is
contained in one massive
file (customizations.xml)
SolutionPackager
• SolutionPackager
reversibly decomposes a
solution .zip file by
breaking it out into a
logical folder structure
• Resulting output can be
more readily maintained
by a source control
system
Lab: Solution
Packager
Usage

Lab 1: Setup Azure Repos


and check in solution
Knowledge Check
Q: What tool is used to pack and extract Dynamics solutions?
A: Solution Packager

Q: What scenarios should you import unmanaged solutions?


A: Ideally unmanaged solutions are not imported into downstream environments. If a scenario such as a
development environment refresh is needed ensure you are pulling source code from your repository and
packing with Solution Packager.

Q: If a managed solution (B) is applied after another managed solution (A),


what would be the application behavior if we update managed solution (A)?
A: Managed solution (B) will still supersede managed solution (A). To view managed solution (A) update we
will need to remove managed solution (B).
Module Summary
• Solution Segmentation is helpful to reduce the payload of
extracted solutions.
• Solution Layering is the definition of applying platform
customizations on top of another.
• Solutions can be patched and cloned to help with
versioning.
• Solution Packager should be used to extract and pack
solution components for use with source control
management.
© 2015 Microsoft Corporation. All rights reserved.

You might also like