@khester/create-dynamics-app 1.1.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -0
- package/dist/artifacts/registry.d.ts +18 -0
- package/dist/artifacts/registry.d.ts.map +1 -0
- package/dist/artifacts/registry.js +340 -0
- package/dist/artifacts/registry.js.map +1 -0
- package/dist/artifacts/types.d.ts +122 -0
- package/dist/artifacts/types.d.ts.map +1 -0
- package/dist/artifacts/types.js +7 -0
- package/dist/artifacts/types.js.map +1 -0
- package/dist/artifacts/validators.d.ts +16 -0
- package/dist/artifacts/validators.d.ts.map +1 -0
- package/dist/artifacts/validators.js +45 -0
- package/dist/artifacts/validators.js.map +1 -0
- package/dist/fromDesign.d.ts +5 -0
- package/dist/fromDesign.d.ts.map +1 -0
- package/dist/fromDesign.js +98 -0
- package/dist/fromDesign.js.map +1 -0
- package/dist/index.js +129 -177
- package/dist/index.js.map +1 -1
- package/dist/injectDevTools.d.ts +28 -0
- package/dist/injectDevTools.d.ts.map +1 -0
- package/dist/injectDevTools.js +148 -0
- package/dist/injectDevTools.js.map +1 -0
- package/dist/scaffold.d.ts +48 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +180 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/templatePlan.d.ts +3 -0
- package/dist/templatePlan.d.ts.map +1 -0
- package/dist/templatePlan.js +43 -0
- package/dist/templatePlan.js.map +1 -0
- package/dist/utils/copyTemplate.d.ts +13 -1
- package/dist/utils/copyTemplate.d.ts.map +1 -1
- package/dist/utils/copyTemplate.js +98 -4
- package/dist/utils/copyTemplate.js.map +1 -1
- package/dist/utils/updatePackageJson.d.ts +11 -1
- package/dist/utils/updatePackageJson.d.ts.map +1 -1
- package/dist/utils/updatePackageJson.js +12 -10
- package/dist/utils/updatePackageJson.js.map +1 -1
- package/package.json +10 -7
- package/templates/_shared/dev-tools/auth/get-token.js +72 -0
- package/templates/_shared/dev-tools/dev/mock-xrm.js +42 -0
- package/templates/_shared/dev-tools/metadata-sync/index.js +152 -0
- package/templates/_shared/dev-tools/smoke/test-retrieve.js +44 -0
- package/templates/dialog-form/README.md +27 -0
- package/templates/dialog-form/_variants/App.v8.tsx +39 -0
- package/templates/dialog-form/_variants/App.v9.tsx +41 -0
- package/templates/dialog-form/gitignore +5 -0
- package/templates/dialog-form/package.json +27 -0
- package/templates/dialog-form/public/index.html +11 -0
- package/templates/dialog-form/src/index.tsx +10 -0
- package/templates/dialog-form/src/services/dataverse.ts +30 -0
- package/templates/dialog-form/tsconfig.json +15 -0
- package/templates/dialog-form/webpack.config.js +17 -0
- package/templates/grid-customizer/README.md +28 -0
- package/templates/grid-customizer/gitignore +4 -0
- package/templates/grid-customizer/package.json +25 -0
- package/templates/grid-customizer/src/GridCustomizer.ts +28 -0
- package/templates/grid-customizer/src/cell-renderers.tsx +35 -0
- package/templates/grid-customizer/src/index.ts +4 -0
- package/templates/grid-customizer/src/types/grid-types.ts +30 -0
- package/templates/grid-customizer/src/utils/color-utils.ts +24 -0
- package/templates/grid-customizer/tsconfig.json +15 -0
- package/templates/grid-customizer/webpack.config.js +17 -0
- package/templates/pcf-dataset/ControlManifest.Input.xml +16 -0
- package/templates/pcf-dataset/README.md +21 -0
- package/templates/pcf-dataset/gitignore +5 -0
- package/templates/pcf-dataset/index.ts +39 -0
- package/templates/pcf-dataset/package.json +30 -0
- package/templates/pcf-dataset/strings/{{componentName}}.1033.resx +47 -0
- package/templates/pcf-dataset/tsconfig.json +8 -0
- package/templates/pcf-dataset/{{componentName}}Component.tsx +39 -0
- package/templates/pcf-field/ControlManifest.Input.xml +17 -0
- package/templates/pcf-field/README.md +95 -0
- package/templates/pcf-field/_variants/ValueInput.boolean.tsx +24 -0
- package/templates/pcf-field/_variants/ValueInput.date.tsx +27 -0
- package/templates/pcf-field/_variants/ValueInput.number.tsx +35 -0
- package/templates/pcf-field/_variants/ValueInput.text.tsx +27 -0
- package/templates/pcf-field/gitignore +5 -0
- package/templates/pcf-field/index.ts +61 -0
- package/templates/pcf-field/package.json +30 -0
- package/templates/pcf-field/strings/{{componentName}}.1033.resx +47 -0
- package/templates/pcf-field/tsconfig.json +8 -0
- package/templates/pcf-field/{{componentName}}Component.tsx +35 -0
- package/templates/power-pages-starter/gitignore +5 -0
- package/templates/react-custom-page/gitignore +5 -0
- package/templates/{dynamics-365-starter → react-custom-page}/package.json +3 -3
- package/templates/react-custom-page/tools/metadata-sync/index.js +152 -0
- package/templates/static-web-app/README.md +36 -0
- package/templates/static-web-app/_variants/App.v8.tsx +32 -0
- package/templates/static-web-app/_variants/App.v9.tsx +31 -0
- package/templates/static-web-app/api/host.json +12 -0
- package/templates/static-web-app/api/package.json +19 -0
- package/templates/static-web-app/api/src/functions/hello.ts +16 -0
- package/templates/static-web-app/api/tsconfig.json +14 -0
- package/templates/static-web-app/frontend/index.html +12 -0
- package/templates/static-web-app/frontend/package.json +23 -0
- package/templates/static-web-app/frontend/src/index.tsx +8 -0
- package/templates/static-web-app/frontend/tsconfig.json +16 -0
- package/templates/static-web-app/frontend/vite.config.ts +13 -0
- package/templates/static-web-app/gitignore +8 -0
- package/templates/static-web-app/package.json +15 -0
- package/templates/static-web-app/staticwebapp.config.json +7 -0
- package/templates/teams-app/README.md +27 -0
- package/templates/teams-app/_variants/graph.off.ts +7 -0
- package/templates/teams-app/_variants/graph.on.ts +22 -0
- package/templates/teams-app/appPackage/manifest.json +26 -0
- package/templates/teams-app/gitignore +5 -0
- package/templates/teams-app/index.html +12 -0
- package/templates/teams-app/package.json +26 -0
- package/templates/teams-app/src/App.tsx +25 -0
- package/templates/teams-app/src/index.tsx +8 -0
- package/templates/teams-app/tsconfig.json +16 -0
- package/templates/teams-app/vite.config.ts +9 -0
- package/templates/web-resource/README.md +39 -0
- package/templates/web-resource/_variants/App.v8.tsx +29 -0
- package/templates/web-resource/_variants/App.v9.tsx +28 -0
- package/templates/web-resource/gitignore +5 -0
- package/templates/web-resource/package.json +27 -0
- package/templates/web-resource/public/index.html +11 -0
- package/templates/web-resource/src/index.tsx +10 -0
- package/templates/web-resource/src/services/dataverse.ts +30 -0
- package/templates/web-resource/tsconfig.json +15 -0
- package/templates/web-resource/webpack.config.js +17 -0
- package/dist/utils/consultingHelpers.d.ts +0 -13
- package/dist/utils/consultingHelpers.d.ts.map +0 -1
- package/dist/utils/consultingHelpers.js +0 -569
- package/dist/utils/consultingHelpers.js.map +0 -1
- package/templates/dynamics-365-starter/INTEGRATION_TEST_RESULTS.md +0 -302
- package/templates/dynamics-365-starter/PHASE_4_COMPLETION_SUMMARY.md +0 -305
- package/templates/dynamics-365-starter/deployment/QUICKSTART-MAC.md +0 -507
- package/templates/dynamics-365-starter/deployment/QUICKSTART-WINDOWS.md +0 -372
- package/templates/dynamics-365-starter/deployment/pipelines/README.md +0 -375
- package/templates/dynamics-365-starter/deployment/pipelines/azure-pipelines.yml +0 -330
- package/templates/dynamics-365-starter/deployment/pipelines/github-actions.yml +0 -422
- package/templates/dynamics-365-starter/deployment/pipelines/jenkins.groovy +0 -636
- package/templates/dynamics-365-starter/deployment/scripts/deploy.ps1 +0 -417
- package/templates/dynamics-365-starter/deployment/scripts/deploy.sh +0 -582
- package/templates/dynamics-365-starter/deployment/scripts/team-onboarding.ps1 +0 -486
- package/templates/dynamics-365-starter/deployment/scripts/team-onboarding.sh +0 -567
- package/templates/dynamics-365-starter/deployment/scripts/validate-setup.ps1 +0 -703
- package/templates/dynamics-365-starter/deployment/scripts/validate-setup.sh +0 -671
- package/templates/dynamics-365-starter/docs/team-standards/README.md +0 -273
- package/templates/dynamics-365-starter/docs/team-standards/client-onboarding.md +0 -577
- package/templates/dynamics-365-starter/docs/team-standards/code-review-checklist.md +0 -359
- package/templates/dynamics-365-starter/docs/team-standards/coding-standards.md +0 -700
- package/templates/dynamics-365-starter/docs/team-standards/cross-platform-team-guide.md +0 -736
- package/templates/dynamics-365-starter/docs/team-standards/development-workflows.md +0 -727
- package/templates/dynamics-365-starter/docs/troubleshooting/common-errors.md +0 -758
- package/templates/dynamics-365-starter/docs/troubleshooting/platform-specific-issues.md +0 -878
- package/templates/dynamics-365-starter/src/client-project-template/README.md +0 -234
- package/templates/dynamics-365-starter/src/client-project-template/config/client.template.json +0 -114
- package/templates/dynamics-365-starter/src/client-project-template/config/environments/template.json +0 -186
- package/templates/dynamics-365-starter/src/client-project-template/scripts/client-setup.js +0 -667
- package/templates/dynamics-365-starter/src/examples/README.md +0 -52
- package/templates/dynamics-365-starter/src/examples/component-examples/opportunity-management.tsx +0 -625
- package/templates/dynamics-365-starter/src/examples/entity-examples/opportunity-model.ts +0 -545
- package/templates/dynamics-365-starter/src/examples/integration-examples/custom-pcf-wrapper.tsx +0 -722
- package/templates/dynamics-365-starter/src/examples/workflow-examples/sales-workflow.ts +0 -662
- package/templates/dynamics-365-starter/src/page-templates/EntityDashboard.tsx +0 -519
- package/templates/dynamics-365-starter/src/page-templates/EntityDetailPage.tsx +0 -456
- package/templates/dynamics-365-starter/src/page-templates/EntityListPage.tsx +0 -406
- package/templates/dynamics-365-starter/src/page-templates/RelatedEntitiesPage.tsx +0 -578
- package/templates/dynamics-365-starter/src/page-templates/SearchPage.tsx +0 -629
- package/templates/dynamics-365-starter/tools/entity-generator/index.js +0 -168
- package/templates/dynamics-365-starter/tools/entity-generator/templates/constants.template.ts +0 -124
- package/templates/dynamics-365-starter/tools/entity-generator/templates/form.template.css +0 -283
- package/templates/dynamics-365-starter/tools/entity-generator/templates/form.template.tsx +0 -275
- package/templates/dynamics-365-starter/tools/entity-generator/templates/management.template.css +0 -204
- package/templates/dynamics-365-starter/tools/entity-generator/templates/management.template.tsx +0 -413
- package/templates/dynamics-365-starter/tools/entity-generator/templates/model.template.ts +0 -250
- package/templates/dynamics-365-starter/tools/metadata-sync/d365-client.js +0 -410
- package/templates/dynamics-365-starter/tools/metadata-sync/index.js +0 -512
- package/templates/dynamics-365-starter/tools/metadata-sync/type-generator.js +0 -675
- /package/templates/{dynamics-365-starter → react-custom-page}/README.md +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/deployment/README.md +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/docs/ARCHITECTURE_OVERVIEW.md +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/docs/BEST_PRACTICES.md +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/docs/MIGRATION_GUIDE.md +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/public/index.html +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/scripts/custom-build.js +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/AccountForm.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/AccountForm.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/AccountManagement.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/AccountManagement.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/ContactForm.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/ContactForm.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/ContactManagement.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/ContactManagement.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/LogDialog.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/LoggingContext.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/LoggingDebugPanel.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/LoggingDebugPanel.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/LoggingProvider.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/components/Logging/logger.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/constants/account.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/constants/contact.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/index.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/models/Account.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/models/BaseEntity.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/models/Contact.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/pcf/ContactControlWrapper.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/pcf/MultiEntityControlWrapper.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/providers/DynamicsProvider.tsx +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/services/MockApiService.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/services/ServiceFactory.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/services/XrmApiService.ts +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/src/styles/index.css +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/tsconfig.json +0 -0
- /package/templates/{dynamics-365-starter → react-custom-page}/webpack.config.js +0 -0
|
@@ -1,577 +0,0 @@
|
|
|
1
|
-
# Client Onboarding Procedures
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This document outlines the standardized process for onboarding new clients and setting up their
|
|
6
|
-
Dynamics 365 consulting projects using the Enterprise Consulting Framework.
|
|
7
|
-
|
|
8
|
-
## Table of Contents
|
|
9
|
-
|
|
10
|
-
1. [Pre-Engagement Activities](#pre-engagement-activities)
|
|
11
|
-
2. [Project Initialization](#project-initialization)
|
|
12
|
-
3. [Technical Setup](#technical-setup)
|
|
13
|
-
4. [Team Preparation](#team-preparation)
|
|
14
|
-
5. [Client Environment Setup](#client-environment-setup)
|
|
15
|
-
6. [Development Environment](#development-environment)
|
|
16
|
-
7. [Initial Delivery](#initial-delivery)
|
|
17
|
-
8. [Knowledge Transfer](#knowledge-transfer)
|
|
18
|
-
9. [Go-Live Preparation](#go-live-preparation)
|
|
19
|
-
10. [Post-Implementation Support](#post-implementation-support)
|
|
20
|
-
|
|
21
|
-
## Pre-Engagement Activities
|
|
22
|
-
|
|
23
|
-
### 1. Client Discovery and Requirements Gathering
|
|
24
|
-
|
|
25
|
-
#### Business Analysis Checklist
|
|
26
|
-
|
|
27
|
-
- [ ] Industry and business model analysis
|
|
28
|
-
- [ ] Current system architecture assessment
|
|
29
|
-
- [ ] Integration requirements identification
|
|
30
|
-
- [ ] Compliance and security requirements
|
|
31
|
-
- [ ] Performance and scalability needs
|
|
32
|
-
- [ ] User roles and access requirements
|
|
33
|
-
- [ ] Reporting and analytics needs
|
|
34
|
-
- [ ] Mobile and offline requirements
|
|
35
|
-
|
|
36
|
-
#### Technical Assessment
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# Create client assessment document
|
|
40
|
-
./scripts/create-client-assessment.sh --client "ClientName"
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Key Information to Gather:**
|
|
44
|
-
|
|
45
|
-
- Current Dynamics 365 license type
|
|
46
|
-
- Existing customizations and solutions
|
|
47
|
-
- Third-party integrations
|
|
48
|
-
- Data migration requirements
|
|
49
|
-
- Training and adoption needs
|
|
50
|
-
- Timeline and budget constraints
|
|
51
|
-
|
|
52
|
-
#### Stakeholder Identification
|
|
53
|
-
|
|
54
|
-
- **Executive Sponsor** - Decision maker and budget owner
|
|
55
|
-
- **Business Users** - Day-to-day system users
|
|
56
|
-
- **IT Contact** - Technical point of contact
|
|
57
|
-
- **Project Manager** - Client-side project coordination
|
|
58
|
-
- **Subject Matter Experts** - Domain knowledge experts
|
|
59
|
-
|
|
60
|
-
### 2. Statement of Work (SOW) Development
|
|
61
|
-
|
|
62
|
-
#### SOW Components
|
|
63
|
-
|
|
64
|
-
- [ ] Project scope and deliverables
|
|
65
|
-
- [ ] Timeline and milestones
|
|
66
|
-
- [ ] Resource allocation and roles
|
|
67
|
-
- [ ] Technology stack and architecture
|
|
68
|
-
- [ ] Testing and quality assurance approach
|
|
69
|
-
- [ ] Training and knowledge transfer plan
|
|
70
|
-
- [ ] Support and maintenance terms
|
|
71
|
-
- [ ] Change management process
|
|
72
|
-
|
|
73
|
-
#### Risk Assessment
|
|
74
|
-
|
|
75
|
-
- [ ] Technical complexity assessment
|
|
76
|
-
- [ ] Integration complexity evaluation
|
|
77
|
-
- [ ] Data migration risk analysis
|
|
78
|
-
- [ ] Timeline feasibility review
|
|
79
|
-
- [ ] Resource availability confirmation
|
|
80
|
-
- [ ] Client readiness evaluation
|
|
81
|
-
|
|
82
|
-
## Project Initialization
|
|
83
|
-
|
|
84
|
-
### 1. Create New Client Project
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
# Initialize new client project with consulting framework
|
|
88
|
-
create-dynamics-app acme-crm-project \
|
|
89
|
-
--client-name "ACME Corporation" \
|
|
90
|
-
--entities "opportunity,quote,invoice,servicecase" \
|
|
91
|
-
--page-type all \
|
|
92
|
-
--deployment-target prod \
|
|
93
|
-
--generate-sample
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 2. Project Structure Setup
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
# Navigate to project directory
|
|
100
|
-
cd acme-crm-project
|
|
101
|
-
|
|
102
|
-
# Run client-specific setup
|
|
103
|
-
node src/client-project-template/scripts/client-setup.js
|
|
104
|
-
|
|
105
|
-
# Initialize git repository
|
|
106
|
-
git init
|
|
107
|
-
git add .
|
|
108
|
-
git commit -m "Initial project setup for ACME Corporation"
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### 3. Repository and Collaboration Setup
|
|
112
|
-
|
|
113
|
-
#### GitHub Repository Setup
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# Create repository (GitHub CLI)
|
|
117
|
-
gh repo create company/acme-crm-project --private
|
|
118
|
-
|
|
119
|
-
# Add remote and push
|
|
120
|
-
git remote add origin https://github.com/company/acme-crm-project.git
|
|
121
|
-
git push -u origin main
|
|
122
|
-
|
|
123
|
-
# Create development branch
|
|
124
|
-
git checkout -b develop
|
|
125
|
-
git push -u origin develop
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
#### Branch Protection Rules
|
|
129
|
-
|
|
130
|
-
- [ ] Require pull request reviews (minimum 2)
|
|
131
|
-
- [ ] Require status checks to pass
|
|
132
|
-
- [ ] Require up-to-date branches
|
|
133
|
-
- [ ] Restrict pushes to main branch
|
|
134
|
-
- [ ] Require administrator review for sensitive changes
|
|
135
|
-
|
|
136
|
-
#### Project Management Setup
|
|
137
|
-
|
|
138
|
-
- [ ] Create project board in GitHub/Azure DevOps
|
|
139
|
-
- [ ] Set up milestone tracking
|
|
140
|
-
- [ ] Configure issue templates
|
|
141
|
-
- [ ] Set up automated project workflows
|
|
142
|
-
- [ ] Establish sprint planning process
|
|
143
|
-
|
|
144
|
-
## Technical Setup
|
|
145
|
-
|
|
146
|
-
### 1. Environment Configuration
|
|
147
|
-
|
|
148
|
-
#### Client Configuration File
|
|
149
|
-
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"name": "ACME Corporation",
|
|
153
|
-
"code": "ACME",
|
|
154
|
-
"industry": "Manufacturing",
|
|
155
|
-
"timezone": "America/New_York",
|
|
156
|
-
"contact": {
|
|
157
|
-
"primaryContact": "John Smith",
|
|
158
|
-
"email": "john.smith@acme.com",
|
|
159
|
-
"phone": "+1-555-0123"
|
|
160
|
-
},
|
|
161
|
-
"branding": {
|
|
162
|
-
"primaryColor": "#1f4e79",
|
|
163
|
-
"secondaryColor": "#2563eb",
|
|
164
|
-
"logoPath": "src/branding/logos/acme-logo.png"
|
|
165
|
-
},
|
|
166
|
-
"features": {
|
|
167
|
-
"enableAdvancedLogging": true,
|
|
168
|
-
"enableCustomWorkflows": true,
|
|
169
|
-
"enableReporting": true,
|
|
170
|
-
"enableMobileOptimization": true
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
#### Environment-Specific Configurations
|
|
176
|
-
|
|
177
|
-
```bash
|
|
178
|
-
# Create environment configurations
|
|
179
|
-
./scripts/setup-environments.sh \
|
|
180
|
-
--environments "dev,test,staging,prod" \
|
|
181
|
-
--client-code "ACME"
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### 2. Dynamics 365 Environment Setup
|
|
185
|
-
|
|
186
|
-
#### Development Environment
|
|
187
|
-
|
|
188
|
-
- [ ] Create development environment in Power Platform Admin Center
|
|
189
|
-
- [ ] Configure security groups and users
|
|
190
|
-
- [ ] Install required solutions and dependencies
|
|
191
|
-
- [ ] Set up sample data for development
|
|
192
|
-
- [ ] Configure integration endpoints
|
|
193
|
-
|
|
194
|
-
#### Test Environment
|
|
195
|
-
|
|
196
|
-
- [ ] Create test environment with production-like data
|
|
197
|
-
- [ ] Set up automated deployment pipeline
|
|
198
|
-
- [ ] Configure testing frameworks and tools
|
|
199
|
-
- [ ] Establish performance benchmarks
|
|
200
|
-
- [ ] Set up monitoring and logging
|
|
201
|
-
|
|
202
|
-
#### Production Environment
|
|
203
|
-
|
|
204
|
-
- [ ] Production environment preparation checklist
|
|
205
|
-
- [ ] Security and compliance validation
|
|
206
|
-
- [ ] Performance testing and optimization
|
|
207
|
-
- [ ] Backup and recovery procedures
|
|
208
|
-
- [ ] Monitoring and alerting setup
|
|
209
|
-
|
|
210
|
-
### 3. Authentication and Security Setup
|
|
211
|
-
|
|
212
|
-
#### Azure AD Configuration
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
# Register application in Azure AD
|
|
216
|
-
az ad app create \
|
|
217
|
-
--display-name "ACME CRM Application" \
|
|
218
|
-
--available-to-other-tenants false \
|
|
219
|
-
--reply-urls "https://acme-dev.crm.dynamics.com/auth/callback"
|
|
220
|
-
|
|
221
|
-
# Configure API permissions
|
|
222
|
-
az ad app permission add \
|
|
223
|
-
--id {app-id} \
|
|
224
|
-
--api 00000007-0000-0000-c000-000000000000 \
|
|
225
|
-
--api-permissions user_impersonation=Scope
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
#### Security Configuration Checklist
|
|
229
|
-
|
|
230
|
-
- [ ] Multi-factor authentication enabled
|
|
231
|
-
- [ ] Conditional access policies configured
|
|
232
|
-
- [ ] Security roles and field-level security set up
|
|
233
|
-
- [ ] Data loss prevention policies applied
|
|
234
|
-
- [ ] Audit logging enabled
|
|
235
|
-
- [ ] Privileged access management configured
|
|
236
|
-
|
|
237
|
-
## Team Preparation
|
|
238
|
-
|
|
239
|
-
### 1. Team Assembly
|
|
240
|
-
|
|
241
|
-
#### Core Team Roles
|
|
242
|
-
|
|
243
|
-
- **Technical Lead** (1) - Architecture and technical oversight
|
|
244
|
-
- **Senior Developers** (2-3) - Feature implementation and mentoring
|
|
245
|
-
- **Developers** (2-4) - Development and testing
|
|
246
|
-
- **QA Engineer** (1) - Quality assurance and testing
|
|
247
|
-
- **DevOps Engineer** (1) - Infrastructure and deployment
|
|
248
|
-
- **Business Analyst** (1) - Requirements and client liaison
|
|
249
|
-
|
|
250
|
-
#### Team Onboarding Checklist
|
|
251
|
-
|
|
252
|
-
- [ ] Access to repositories and development tools
|
|
253
|
-
- [ ] Client background and business context training
|
|
254
|
-
- [ ] Technical architecture and codebase walkthrough
|
|
255
|
-
- [ ] Development environment setup
|
|
256
|
-
- [ ] Client communication protocols and escalation procedures
|
|
257
|
-
- [ ] Project timeline and milestone review
|
|
258
|
-
|
|
259
|
-
### 2. Knowledge Transfer Sessions
|
|
260
|
-
|
|
261
|
-
#### Week 1: Foundation
|
|
262
|
-
|
|
263
|
-
- **Day 1**: Client business overview and requirements
|
|
264
|
-
- **Day 2**: Technical architecture and framework introduction
|
|
265
|
-
- **Day 3**: Development environment setup and first tasks
|
|
266
|
-
- **Day 4**: Coding standards and review process
|
|
267
|
-
- **Day 5**: Client communication and project management tools
|
|
268
|
-
|
|
269
|
-
#### Week 2: Implementation
|
|
270
|
-
|
|
271
|
-
- **Day 1**: Entity modeling and data architecture
|
|
272
|
-
- **Day 2**: UI/UX patterns and component development
|
|
273
|
-
- **Day 3**: Integration patterns and API development
|
|
274
|
-
- **Day 4**: Testing strategies and quality assurance
|
|
275
|
-
- **Day 5**: Deployment and DevOps procedures
|
|
276
|
-
|
|
277
|
-
### 3. Client Communication Protocols
|
|
278
|
-
|
|
279
|
-
#### Regular Meetings
|
|
280
|
-
|
|
281
|
-
- **Daily Standups** (Internal team) - 15 minutes
|
|
282
|
-
- **Weekly Status Updates** (Client stakeholders) - 30 minutes
|
|
283
|
-
- **Bi-weekly Sprint Reviews** (Client + team) - 60 minutes
|
|
284
|
-
- **Monthly Steering Committee** (Executives) - 90 minutes
|
|
285
|
-
|
|
286
|
-
#### Communication Channels
|
|
287
|
-
|
|
288
|
-
- **Slack/Teams** - Daily communication and quick questions
|
|
289
|
-
- **Email** - Formal communications and documentation
|
|
290
|
-
- **Video Calls** - Complex discussions and demonstrations
|
|
291
|
-
- **Project Portal** - Status updates and document sharing
|
|
292
|
-
|
|
293
|
-
## Client Environment Setup
|
|
294
|
-
|
|
295
|
-
### 1. Dynamics 365 Tenant Configuration
|
|
296
|
-
|
|
297
|
-
#### Initial Setup Tasks
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
# Connect to client tenant
|
|
301
|
-
Connect-CrmOnline -ServerUrl "https://acme.crm.dynamics.com"
|
|
302
|
-
|
|
303
|
-
# Import base solution
|
|
304
|
-
Import-CrmSolution -SolutionFilePath "./solutions/DynamicsUIKit_Base.zip"
|
|
305
|
-
|
|
306
|
-
# Configure security roles
|
|
307
|
-
Import-CrmSecurityRole -RoleFilePath "./security/CustomRoles.xml"
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
#### Solution Management
|
|
311
|
-
|
|
312
|
-
- [ ] Create publisher for client customizations
|
|
313
|
-
- [ ] Set up solution layers and dependencies
|
|
314
|
-
- [ ] Configure managed vs unmanaged solutions
|
|
315
|
-
- [ ] Establish ALM (Application Lifecycle Management) process
|
|
316
|
-
- [ ] Set up solution versioning strategy
|
|
317
|
-
|
|
318
|
-
### 2. Data Migration Strategy
|
|
319
|
-
|
|
320
|
-
#### Data Assessment
|
|
321
|
-
|
|
322
|
-
- [ ] Source system data analysis
|
|
323
|
-
- [ ] Data quality assessment
|
|
324
|
-
- [ ] Data mapping and transformation requirements
|
|
325
|
-
- [ ] Migration timeline and cutover strategy
|
|
326
|
-
- [ ] Data validation and testing procedures
|
|
327
|
-
|
|
328
|
-
#### Migration Tools Setup
|
|
329
|
-
|
|
330
|
-
```bash
|
|
331
|
-
# Install and configure migration tools
|
|
332
|
-
npm install -g @microsoft/cds-data-migrator
|
|
333
|
-
|
|
334
|
-
# Create data migration configuration
|
|
335
|
-
./scripts/setup-data-migration.sh --client "ACME"
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
## Development Environment
|
|
339
|
-
|
|
340
|
-
### 1. Developer Workstation Setup
|
|
341
|
-
|
|
342
|
-
#### Required Software
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
# Install required tools
|
|
346
|
-
choco install nodejs git vscode postman
|
|
347
|
-
|
|
348
|
-
# Install global packages
|
|
349
|
-
npm install -g @microsoft/cds-cli
|
|
350
|
-
npm install -g create-dynamics-app
|
|
351
|
-
|
|
352
|
-
# Clone and setup project
|
|
353
|
-
git clone https://github.com/company/acme-crm-project.git
|
|
354
|
-
cd acme-crm-project
|
|
355
|
-
npm install
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
#### Development Tools Configuration
|
|
359
|
-
|
|
360
|
-
- [ ] VS Code extensions and settings
|
|
361
|
-
- [ ] Git configuration and SSH keys
|
|
362
|
-
- [ ] Dynamics 365 CLI tools
|
|
363
|
-
- [ ] Testing frameworks and tools
|
|
364
|
-
- [ ] Code quality tools (ESLint, Prettier, SonarLint)
|
|
365
|
-
|
|
366
|
-
### 2. Local Development Setup
|
|
367
|
-
|
|
368
|
-
#### Environment Variables
|
|
369
|
-
|
|
370
|
-
```bash
|
|
371
|
-
# .env.local file
|
|
372
|
-
REACT_APP_CLIENT_NAME="ACME Corporation"
|
|
373
|
-
REACT_APP_ENVIRONMENT="development"
|
|
374
|
-
REACT_APP_API_URL="https://acme-dev.api.crm.dynamics.com"
|
|
375
|
-
REACT_APP_TENANT_ID="your-tenant-id"
|
|
376
|
-
REACT_APP_CLIENT_ID="your-client-id"
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
#### Development Commands
|
|
380
|
-
|
|
381
|
-
```bash
|
|
382
|
-
# Start development server
|
|
383
|
-
npm run dev
|
|
384
|
-
|
|
385
|
-
# Generate new entity
|
|
386
|
-
npm run generate:entity -- --entity product --display-name "Product"
|
|
387
|
-
|
|
388
|
-
# Run quality checks
|
|
389
|
-
npm run quality
|
|
390
|
-
|
|
391
|
-
# Build for testing
|
|
392
|
-
npm run build:dev
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
## Initial Delivery
|
|
396
|
-
|
|
397
|
-
### 1. Prototype Development
|
|
398
|
-
|
|
399
|
-
#### Sprint 0 Deliverables (Week 1-2)
|
|
400
|
-
|
|
401
|
-
- [ ] Development environment setup
|
|
402
|
-
- [ ] Basic authentication and navigation
|
|
403
|
-
- [ ] Core entity models (Account, Contact, Opportunity)
|
|
404
|
-
- [ ] Sample CRUD operations
|
|
405
|
-
- [ ] Basic reporting dashboard
|
|
406
|
-
|
|
407
|
-
#### Demo Preparation
|
|
408
|
-
|
|
409
|
-
```bash
|
|
410
|
-
# Build demo version
|
|
411
|
-
npm run build:demo
|
|
412
|
-
|
|
413
|
-
# Deploy to demo environment
|
|
414
|
-
./scripts/deploy-demo.sh --client "ACME"
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
### 2. Client Feedback Integration
|
|
418
|
-
|
|
419
|
-
#### Feedback Collection Process
|
|
420
|
-
|
|
421
|
-
- [ ] Demo session with stakeholders
|
|
422
|
-
- [ ] Feedback documentation and prioritization
|
|
423
|
-
- [ ] Impact assessment and timeline adjustment
|
|
424
|
-
- [ ] Change request process execution
|
|
425
|
-
- [ ] Updated requirements documentation
|
|
426
|
-
|
|
427
|
-
#### Iteration Planning
|
|
428
|
-
|
|
429
|
-
- [ ] Sprint planning with updated requirements
|
|
430
|
-
- [ ] Resource allocation adjustments
|
|
431
|
-
- [ ] Timeline and milestone updates
|
|
432
|
-
- [ ] Risk assessment and mitigation
|
|
433
|
-
- [ ] Client expectation management
|
|
434
|
-
|
|
435
|
-
## Knowledge Transfer
|
|
436
|
-
|
|
437
|
-
### 1. Administrator Training
|
|
438
|
-
|
|
439
|
-
#### System Administration Topics
|
|
440
|
-
|
|
441
|
-
- User and security role management
|
|
442
|
-
- Custom entity and field management
|
|
443
|
-
- Business process flow configuration
|
|
444
|
-
- Report and dashboard creation
|
|
445
|
-
- Integration monitoring and troubleshooting
|
|
446
|
-
|
|
447
|
-
#### Training Materials
|
|
448
|
-
|
|
449
|
-
- [ ] Administrator guide documentation
|
|
450
|
-
- [ ] Video training sessions
|
|
451
|
-
- [ ] Hands-on workshops
|
|
452
|
-
- [ ] Reference materials and cheat sheets
|
|
453
|
-
- [ ] Support contact information
|
|
454
|
-
|
|
455
|
-
### 2. End User Training
|
|
456
|
-
|
|
457
|
-
#### User Training Program
|
|
458
|
-
|
|
459
|
-
- [ ] Role-based training modules
|
|
460
|
-
- [ ] Hands-on practice sessions
|
|
461
|
-
- [ ] User acceptance testing participation
|
|
462
|
-
- [ ] Go-live support and coaching
|
|
463
|
-
- [ ] Post-implementation reinforcement training
|
|
464
|
-
|
|
465
|
-
#### Training Delivery Methods
|
|
466
|
-
|
|
467
|
-
- **In-person workshops** - Comprehensive training sessions
|
|
468
|
-
- **Virtual training** - Remote training for distributed teams
|
|
469
|
-
- **Self-paced learning** - Online modules and documentation
|
|
470
|
-
- **Just-in-time support** - Context-sensitive help and guidance
|
|
471
|
-
|
|
472
|
-
## Go-Live Preparation
|
|
473
|
-
|
|
474
|
-
### 1. Pre-Production Checklist
|
|
475
|
-
|
|
476
|
-
#### Technical Readiness
|
|
477
|
-
|
|
478
|
-
- [ ] All features implemented and tested
|
|
479
|
-
- [ ] Performance testing completed
|
|
480
|
-
- [ ] Security assessment passed
|
|
481
|
-
- [ ] Data migration validated
|
|
482
|
-
- [ ] Integration testing completed
|
|
483
|
-
- [ ] Backup and recovery procedures tested
|
|
484
|
-
|
|
485
|
-
#### Business Readiness
|
|
486
|
-
|
|
487
|
-
- [ ] User training completed
|
|
488
|
-
- [ ] Business processes documented
|
|
489
|
-
- [ ] Support procedures established
|
|
490
|
-
- [ ] Change management plan executed
|
|
491
|
-
- [ ] Stakeholder sign-off obtained
|
|
492
|
-
|
|
493
|
-
### 2. Go-Live Execution
|
|
494
|
-
|
|
495
|
-
#### Go-Live Timeline
|
|
496
|
-
|
|
497
|
-
```bash
|
|
498
|
-
# Week before go-live
|
|
499
|
-
./scripts/pre-golive-checklist.sh
|
|
500
|
-
|
|
501
|
-
# Go-live day
|
|
502
|
-
./scripts/golive-deployment.sh --environment prod --client ACME
|
|
503
|
-
|
|
504
|
-
# Post go-live monitoring
|
|
505
|
-
./scripts/monitor-golive.sh --duration 72h
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
#### Support During Go-Live
|
|
509
|
-
|
|
510
|
-
- [ ] 24/7 support team availability
|
|
511
|
-
- [ ] Escalation procedures activated
|
|
512
|
-
- [ ] Issue tracking and resolution
|
|
513
|
-
- [ ] User assistance and guidance
|
|
514
|
-
- [ ] Performance monitoring and optimization
|
|
515
|
-
|
|
516
|
-
## Post-Implementation Support
|
|
517
|
-
|
|
518
|
-
### 1. Transition to Support
|
|
519
|
-
|
|
520
|
-
#### Support Model Definition
|
|
521
|
-
|
|
522
|
-
- **Level 1 Support** - Basic user questions and guidance
|
|
523
|
-
- **Level 2 Support** - Technical issues and configuration changes
|
|
524
|
-
- **Level 3 Support** - Complex technical problems and development
|
|
525
|
-
- **Emergency Support** - Critical business impact issues
|
|
526
|
-
|
|
527
|
-
#### Support Documentation
|
|
528
|
-
|
|
529
|
-
- [ ] Support procedures and escalation matrix
|
|
530
|
-
- [ ] Known issues and resolutions
|
|
531
|
-
- [ ] System monitoring and alerting setup
|
|
532
|
-
- [ ] Maintenance procedures and schedules
|
|
533
|
-
- [ ] User help documentation and FAQs
|
|
534
|
-
|
|
535
|
-
### 2. Continuous Improvement
|
|
536
|
-
|
|
537
|
-
#### Performance Monitoring
|
|
538
|
-
|
|
539
|
-
```bash
|
|
540
|
-
# Set up monitoring dashboard
|
|
541
|
-
./scripts/setup-monitoring.sh --client ACME --environment prod
|
|
542
|
-
|
|
543
|
-
# Configure alerts and notifications
|
|
544
|
-
./scripts/configure-alerts.sh --client ACME
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
#### Regular Reviews
|
|
548
|
-
|
|
549
|
-
- [ ] Monthly performance reviews
|
|
550
|
-
- [ ] Quarterly business value assessments
|
|
551
|
-
- [ ] Semi-annual technical health checks
|
|
552
|
-
- [ ] Annual strategic planning sessions
|
|
553
|
-
- [ ] Continuous user feedback collection
|
|
554
|
-
|
|
555
|
-
### 3. Maintenance and Enhancement
|
|
556
|
-
|
|
557
|
-
#### Ongoing Activities
|
|
558
|
-
|
|
559
|
-
- [ ] Regular system updates and patches
|
|
560
|
-
- [ ] Performance optimization and tuning
|
|
561
|
-
- [ ] New feature development and deployment
|
|
562
|
-
- [ ] User training and adoption support
|
|
563
|
-
- [ ] Compliance and security maintenance
|
|
564
|
-
|
|
565
|
-
#### Enhancement Planning
|
|
566
|
-
|
|
567
|
-
- [ ] Feature request evaluation and prioritization
|
|
568
|
-
- [ ] Technical debt management
|
|
569
|
-
- [ ] Platform upgrade planning
|
|
570
|
-
- [ ] Integration expansion opportunities
|
|
571
|
-
- [ ] Advanced analytics and AI implementation
|
|
572
|
-
|
|
573
|
-
---
|
|
574
|
-
|
|
575
|
-
This onboarding process ensures consistent, high-quality project delivery and sets the foundation
|
|
576
|
-
for long-term client success. Each step includes specific deliverables, timelines, and success
|
|
577
|
-
criteria to maintain project momentum and quality standards.
|