The SWOT Analysis Control for Dynamics 365 (8.2 or 9.x), can be added as a web resource to the account, opportunity or your custom entity form.
The SWOT Analysis helps the sales people / the organisation to identify the
- Stenghts (internal)
- Weaknesses (internal)
- Opportunities (external)
- Threads (external)
related to business competition to win an opportunity or customer.
For general usage see https://en.wikipedia.org/wiki/SWOT_analysis
This control is based on Angular 8, Webpack 4, Angular Material, Angular CDK and Rxjs and communicates with the Dynamics Web Api.
Realizes the Idea to include an custom Angular 7 Control in Dynamics 365 as Webresource and usage of the Dynamics 365 WebApi with Rxjs.
Proves that the production build gets super small (currently around ~500kb), even with Angular and Angular Material.
See also my Angular Elements version of this control for your custom web applications (https://github.com/ChrisMayor/AngularSwotMatrixControl)
- Angular 8.x
- Angular Material
- Angular CDK
- Drag and Drop
- Webpack 4.x
- Usage of Rxjs for WebApi communication
- Works in Classic UI and Unified Interface
- Works in Dynamics 9.x
- Scales to different screen resolutions
- Non-Production build runs locally without Dynamics Integration - a console logger is injected as service instead
- Only ~500kb production build size
Note: Web demo is still on Angular 7 - Update to current version in work
- Tested on Dynamics 365 with Web Api Integration (online v9.0/v9.1) - not tested on 8.x but should also work there.
- Works on classic ui and unified interface - suggested usage is on unified interface ui, caused by the limited space on the classic ui form and that you may have to care about the refresh of the web resource after creating the record (see hint below how to do this)
SWOT Analysis for account form (unmanaged)
SWOT Analysis for account form (managed)
SWOT Analysis for opportunity form (unmanaged)
SWOT Analysis for opportunity form (managed)
SWOT Analysis for opportunity form (managed) OnPrem
Note: Name of html webresource is mey_d365swotindex.html , please follow Installation guide how to add the web resource to the opportunity form.
You may use the unmanaged solution to add the SWOT Analysis to your custom entity form. In this case you need the following fields on the custom entity:
- mey_swot_strengths (Multiline text 2000)
- mey_swot_weaknesses (Multiline text 2000)
- mey_swot_opportunities (Multiline text 2000)
- mey_swot_threats (Multiline text 2000)
Note: Solutions are still on Angular 7 - Update to current version in work
To build / start locally
- Run: ng serve -o
- Build: ng build --configuration=production
Some open points for future versions:
- Unit testing
- Configuration of the matrix with a separate configuration entity
- Some UI enhancements / Design improvements
- Icons are currently integrated via Googles CDN - maybe needs to be replaced if this is not suiteable for your implementation
- Get the labels from Dynamics Metadata Service to allow translations
- Wrap the Angular App in a Power App Custom Control (PCF) - Render the html and integrate the contents
- On the classic UI you my have to refresh the web resource after create event:
Poll for the id / Refresh the Id in the webresource
var webResourceControl = Xrm.Page.getControl("WebResource_swotmatrix");
var src = webResourceControl.getSrc();
webResourceControl.setSrc(null);
// ... Manipulate the src to include the id ...
webResourceControl.setSrc(src);
In the unified interface Dynamics refreshes the web resource automatically after the record is created.
- Published under the MIT license
- Use at your own risk
Impressum / Imprint in German language to comply with German tele-media regulations.