2 - Dynamics 365 Customer Engagement - Solution Lifecycle
2 - Dynamics 365 Customer Engagement - Solution Lifecycle
2 - Dynamics 365 Customer Engagement - Solution Lifecycle
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