@salesforce/plugin-omnistudio-migration-tool 2.0.0-beta.7 → 2.0.0-rc.10
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 +116 -20
- package/lib/commands/omnistudio/migration/assess.d.ts +1 -1
- package/lib/commands/omnistudio/migration/assess.js +46 -96
- package/lib/commands/omnistudio/migration/assess.js.map +1 -1
- package/lib/commands/omnistudio/migration/info.js +2 -3
- package/lib/commands/omnistudio/migration/info.js.map +1 -1
- package/lib/commands/omnistudio/migration/migrate.d.ts +3 -1
- package/lib/commands/omnistudio/migration/migrate.js +126 -42
- package/lib/commands/omnistudio/migration/migrate.js.map +1 -1
- package/lib/error/errorInterfaces.d.ts +14 -0
- package/lib/error/errorInterfaces.js +27 -0
- package/lib/error/errorInterfaces.js.map +1 -0
- package/lib/javascripts/reportGeneratorUtility.js +1 -3
- package/lib/mappings/GlobalAutoNumber.d.ts +10 -0
- package/lib/mappings/GlobalAutoNumber.js +14 -0
- package/lib/mappings/GlobalAutoNumber.js.map +1 -0
- package/lib/migration/base.d.ts +5 -4
- package/lib/migration/base.js +28 -7
- package/lib/migration/base.js.map +1 -1
- package/lib/migration/dataraptor.js +26 -11
- package/lib/migration/dataraptor.js.map +1 -1
- package/lib/migration/flexcard.d.ts +3 -0
- package/lib/migration/flexcard.js +161 -35
- package/lib/migration/flexcard.js.map +1 -1
- package/lib/migration/globalautonumber.d.ts +60 -0
- package/lib/migration/globalautonumber.js +318 -0
- package/lib/migration/globalautonumber.js.map +1 -0
- package/lib/migration/interfaces.d.ts +89 -0
- package/lib/migration/interfaces.js +7 -0
- package/lib/migration/interfaces.js.map +1 -1
- package/lib/migration/omniscript.d.ts +3 -0
- package/lib/migration/omniscript.js +204 -33
- package/lib/migration/omniscript.js.map +1 -1
- package/lib/migration/postMigrate.d.ts +13 -0
- package/lib/migration/postMigrate.js +58 -0
- package/lib/migration/postMigrate.js.map +1 -0
- package/lib/migration/premigrate.d.ts +12 -0
- package/lib/migration/premigrate.js +75 -0
- package/lib/migration/premigrate.js.map +1 -0
- package/lib/migration/related/ApexMigration.js +23 -15
- package/lib/migration/related/ApexMigration.js.map +1 -1
- package/lib/migration/related/ExperienceSiteMigration.d.ts +25 -0
- package/lib/migration/related/ExperienceSiteMigration.js +286 -0
- package/lib/migration/related/ExperienceSiteMigration.js.map +1 -0
- package/lib/migration/related/FlexipageMigration.d.ts +84 -0
- package/lib/migration/related/FlexipageMigration.js +215 -0
- package/lib/migration/related/FlexipageMigration.js.map +1 -0
- package/lib/migration/related/LwcMigration.js +13 -13
- package/lib/migration/related/LwcMigration.js.map +1 -1
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.d.ts +4 -0
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js +34 -27
- package/lib/migration/related/OmnistudioRelatedObjectMigrationFacade.js.map +1 -1
- package/lib/styles/reportGenerator.css +46 -7
- package/lib/templates/assessmentReport.template +53 -33
- package/lib/templates/dashboard.template +22 -2
- package/lib/templates/migrationReport.template +37 -27
- package/lib/utils/OmniGlobalAutoNumberPrefManager.d.ts +40 -0
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js +65 -0
- package/lib/utils/OmniGlobalAutoNumberPrefManager.js.map +1 -0
- package/lib/utils/XMLUtil.d.ts +34 -0
- package/lib/utils/XMLUtil.js +171 -0
- package/lib/utils/XMLUtil.js.map +1 -0
- package/lib/utils/constants/{callToActionMessages.d.ts → documentRegistry.d.ts} +2 -1
- package/lib/utils/constants/{callToActionMessages.js → documentRegistry.js} +6 -5
- package/lib/utils/constants/documentRegistry.js.map +1 -0
- package/lib/utils/constants/stringContants.d.ts +8 -0
- package/lib/utils/constants/stringContants.js +8 -0
- package/lib/utils/constants/stringContants.js.map +1 -1
- package/lib/utils/file/fileUtil.d.ts +3 -0
- package/lib/utils/file/fileUtil.js +36 -0
- package/lib/utils/file/fileUtil.js.map +1 -1
- package/lib/utils/flexipage/flexiPageTransformer.d.ts +17 -0
- package/lib/utils/flexipage/flexiPageTransformer.js +138 -0
- package/lib/utils/flexipage/flexiPageTransformer.js.map +1 -0
- package/lib/utils/generatePackageXml.d.ts +4 -2
- package/lib/utils/generatePackageXml.js +23 -1
- package/lib/utils/generatePackageXml.js.map +1 -1
- package/lib/utils/interfaces.d.ts +71 -0
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +4 -3
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.d.ts +2 -1
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.js +92 -47
- package/lib/utils/lwcparser/fileutils/FileDiffUtil.js.map +1 -1
- package/lib/utils/lwcparser/jsParser/JavaScriptParser.js +1 -1
- package/lib/utils/lwcparser/jsParser/JavaScriptParser.js.map +1 -1
- package/lib/utils/lwcparser/xmlParser/XmlParser.js +1 -1
- package/lib/utils/lwcparser/xmlParser/XmlParser.js.map +1 -1
- package/lib/utils/net/index.js +13 -16
- package/lib/utils/net/index.js.map +1 -1
- package/lib/utils/orgPreferences.d.ts +23 -0
- package/lib/utils/orgPreferences.js +73 -0
- package/lib/utils/orgPreferences.js.map +1 -1
- package/lib/utils/orgUtils/index.js +1 -2
- package/lib/utils/orgUtils/index.js.map +1 -1
- package/lib/utils/projectPathUtil.d.ts +39 -0
- package/lib/utils/projectPathUtil.js +173 -0
- package/lib/utils/projectPathUtil.js.map +1 -0
- package/lib/utils/promptUtil.d.ts +2 -0
- package/lib/utils/promptUtil.js +26 -1
- package/lib/utils/promptUtil.js.map +1 -1
- package/lib/utils/reportGenerator/reportInterfaces.d.ts +3 -0
- package/lib/utils/reportGenerator/reportUtil.d.ts +1 -1
- package/lib/utils/reportGenerator/reportUtil.js +5 -1
- package/lib/utils/reportGenerator/reportUtil.js.map +1 -1
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js +24 -10
- package/lib/utils/resultsbuilder/ApexAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/DRAssessmentReporter.js +34 -11
- package/lib/utils/resultsbuilder/DRAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.d.ts +12 -0
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.js +93 -0
- package/lib/utils/resultsbuilder/ExperienceSiteAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/FlexcardAssessmentReporter.js +46 -10
- package/lib/utils/resultsbuilder/FlexcardAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.d.ts +55 -0
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js +137 -0
- package/lib/utils/resultsbuilder/FlexipageAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.d.ts +14 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.js +148 -0
- package/lib/utils/resultsbuilder/GlobalAutoNumberAssessmentReporter.js.map +1 -0
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js +31 -11
- package/lib/utils/resultsbuilder/IPAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.d.ts +12 -0
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js +114 -139
- package/lib/utils/resultsbuilder/LWCAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js +25 -16
- package/lib/utils/resultsbuilder/OSAssessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/assessmentReporter.d.ts +5 -1
- package/lib/utils/resultsbuilder/assessmentReporter.js +120 -53
- package/lib/utils/resultsbuilder/assessmentReporter.js.map +1 -1
- package/lib/utils/resultsbuilder/index.d.ts +7 -1
- package/lib/utils/resultsbuilder/index.js +318 -48
- package/lib/utils/resultsbuilder/index.js.map +1 -1
- package/lib/utils/resultsbuilder/reportingHelper.d.ts +4 -2
- package/lib/utils/resultsbuilder/reportingHelper.js +22 -4
- package/lib/utils/resultsbuilder/reportingHelper.js.map +1 -1
- package/lib/utils/storageUtil.d.ts +10 -0
- package/lib/utils/storageUtil.js +61 -0
- package/lib/utils/storageUtil.js.map +1 -0
- package/lib/utils/stringUtils.d.ts +1 -0
- package/lib/utils/stringUtils.js +22 -1
- package/lib/utils/stringUtils.js.map +1 -1
- package/messages/assess.json +102 -28
- package/messages/migrate.json +130 -23
- package/oclif.manifest.json +1 -1
- package/package.json +6 -5
- package/lib/utils/constants/callToActionMessages.js.map +0 -1
|
@@ -256,28 +256,34 @@ html {
|
|
|
256
256
|
background-color: #fff;
|
|
257
257
|
margin: auto;
|
|
258
258
|
padding: 20px;
|
|
259
|
+
padding-top: 20px;
|
|
259
260
|
width: 60%;
|
|
260
|
-
height:
|
|
261
|
+
max-height: 80%;
|
|
261
262
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
|
262
263
|
border-radius: 4px;
|
|
263
264
|
text-align: left;
|
|
264
265
|
position: relative;
|
|
266
|
+
overflow-y: auto;
|
|
267
|
+
overflow-x: auto;
|
|
268
|
+
display: flex;
|
|
269
|
+
flex-direction: column;
|
|
265
270
|
}
|
|
266
271
|
|
|
267
272
|
.closeButton {
|
|
268
273
|
color: #222121;
|
|
269
|
-
height:
|
|
270
|
-
width:
|
|
274
|
+
height: 40px;
|
|
275
|
+
width: 40px;
|
|
271
276
|
position: absolute;
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
font-size: 25px;
|
|
277
|
+
top: 0px;
|
|
278
|
+
right: 0px;
|
|
279
|
+
font-size: 30px;
|
|
276
280
|
cursor: pointer;
|
|
277
281
|
display: flex;
|
|
278
282
|
align-items: center;
|
|
279
283
|
justify-content: center;
|
|
284
|
+
z-index: 1050;
|
|
280
285
|
border-radius: 3px;
|
|
286
|
+
padding-right: 0;
|
|
281
287
|
}
|
|
282
288
|
|
|
283
289
|
.modalHeader {
|
|
@@ -289,6 +295,11 @@ html {
|
|
|
289
295
|
}
|
|
290
296
|
|
|
291
297
|
.modalContent {
|
|
298
|
+
overflow: auto;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.modalContent p {
|
|
302
|
+
margin: 0;
|
|
292
303
|
margin-top: 20px;
|
|
293
304
|
}
|
|
294
305
|
|
|
@@ -527,3 +538,31 @@ td {
|
|
|
527
538
|
opacity: 1;
|
|
528
539
|
visibility: visible;
|
|
529
540
|
}
|
|
541
|
+
|
|
542
|
+
.invalid-icon {
|
|
543
|
+
position: relative;
|
|
544
|
+
padding-left: 24px; /* space for icon */
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
.invalid-icon::before {
|
|
548
|
+
content: '';
|
|
549
|
+
position: absolute;
|
|
550
|
+
left: 6px;
|
|
551
|
+
top: 50%;
|
|
552
|
+
width: 14px;
|
|
553
|
+
height: 14px;
|
|
554
|
+
border: 2px solid red;
|
|
555
|
+
border-radius: 50%;
|
|
556
|
+
transform: translateY(-50%);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.invalid-icon::after {
|
|
560
|
+
content: '';
|
|
561
|
+
position: absolute;
|
|
562
|
+
left: 9px;
|
|
563
|
+
top: 50%;
|
|
564
|
+
width: 10px;
|
|
565
|
+
height: 2px;
|
|
566
|
+
background-color: red;
|
|
567
|
+
transform: translateY(-50%) rotate(45deg);
|
|
568
|
+
}
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
<div style="margin: 20px">
|
|
13
13
|
<div class="report-wrapper">
|
|
14
14
|
<div id="scrollable-wrapper" class="scrollable-wrapper">
|
|
15
|
-
<c:if exp={$callToAction.length
|
|
15
|
+
<c:if exp={$callToAction.length> 0}>
|
|
16
16
|
<!-- Call To Action Button -->
|
|
17
17
|
<button class="cta-button" onclick="toggleCtaPanel()">Call To Action</button>
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
<!-- Overlay -->
|
|
20
20
|
<div class="overlay" id="overlay" onclick="closeCtaPanel()"></div>
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
<!-- Call To Action Panel -->
|
|
23
23
|
<div class="cta-panel" id="ctaPanel">
|
|
24
24
|
<div class="cta-panel-header">
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
<button class="cta-panel-close" onclick="closeCtaPanel()">×</button>
|
|
27
27
|
</div>
|
|
28
28
|
<div class="cta-panel-content">
|
|
29
|
-
<ul>
|
|
29
|
+
<ul class="slds-list_dotted">
|
|
30
30
|
<c:for items=(callToAction) var="cta">
|
|
31
31
|
<li> {{cta.message}}:   <a href="(cta.link)" target="_blank">See More</a></li>
|
|
32
32
|
</c:for>
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
<div class="report-page-header">
|
|
40
40
|
<div class="slds-text-heading_large">
|
|
41
41
|
<span>{{heading}}</span>
|
|
42
|
-
<span> Assessment Report</span>
|
|
43
42
|
</div>
|
|
44
43
|
</div>
|
|
45
44
|
|
|
@@ -91,7 +90,7 @@
|
|
|
91
90
|
<path
|
|
92
91
|
d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z" />
|
|
93
92
|
</svg>
|
|
94
|
-
<input type="text" id="name-search-input" class="search-input" placeholder="Search
|
|
93
|
+
<input type="text" id="name-search-input" class="search-input" placeholder="Search Name"
|
|
95
94
|
oninput="filterAndSearchTable('report-table')" />
|
|
96
95
|
</div>
|
|
97
96
|
<c:if exp={$filterGroups.length>0}>
|
|
@@ -152,23 +151,27 @@
|
|
|
152
151
|
<c:for items=(row.data) var="cell">
|
|
153
152
|
<c:if exp={!$cell.isHref}>
|
|
154
153
|
<c:if exp={$cell.searchable}>
|
|
155
|
-
<td
|
|
156
|
-
key="(cell.key)" value="(cell.value)">
|
|
154
|
+
<td class="(cell.customClass)" data-name="(cell.value)" rowspan="(cell.rowspan)"
|
|
155
|
+
colspan="(cell.colspan)" key="(cell.key)" value="(cell.value)">
|
|
157
156
|
<c:if exp={Array.isArray($cell.title)}>
|
|
158
|
-
<
|
|
159
|
-
<
|
|
160
|
-
|
|
157
|
+
<ul class="slds-list_dotted">
|
|
158
|
+
<c:for items=(cell.title) var="value">
|
|
159
|
+
<li>{{value}}</li>
|
|
160
|
+
</c:for>
|
|
161
|
+
</ul>
|
|
161
162
|
</c:if>
|
|
162
163
|
<c:if exp={!Array.isArray($cell.title)}> {{cell.title}} </c:if>
|
|
163
164
|
</td>
|
|
164
165
|
</c:if>
|
|
165
166
|
<c:if exp={!$cell.searchable}>
|
|
166
|
-
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)"
|
|
167
|
-
value="(cell.value)">
|
|
167
|
+
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" class="(cell.customClass)"
|
|
168
|
+
key="(cell.key)" value="(cell.value)">
|
|
168
169
|
<c:if exp={Array.isArray($cell.title)}>
|
|
169
|
-
<
|
|
170
|
-
<
|
|
171
|
-
|
|
170
|
+
<ul class="slds-list_dotted">
|
|
171
|
+
<c:for items=(cell.title) var="value">
|
|
172
|
+
<li>{{value}}</li>
|
|
173
|
+
</c:for>
|
|
174
|
+
</ul>
|
|
172
175
|
</c:if>
|
|
173
176
|
<c:if exp={!Array.isArray($cell.title)}> {{cell.title}} </c:if>
|
|
174
177
|
</td>
|
|
@@ -177,24 +180,28 @@
|
|
|
177
180
|
<c:if exp={$cell.isHref}>
|
|
178
181
|
<c:if exp={$cell.searchable}>
|
|
179
182
|
<td data-name="(cell.value)" rowspan="(cell.rowspan)" colspan="(cell.colspan)"
|
|
180
|
-
key="(cell.key)" value="(cell.value)">
|
|
183
|
+
class="(cell.customClass)" key="(cell.key)" value="(cell.value)">
|
|
181
184
|
<c:if exp={Array.isArray($cell.title)}>
|
|
182
|
-
<
|
|
183
|
-
<
|
|
184
|
-
|
|
185
|
+
<ul class="slds-list_dotted">
|
|
186
|
+
<c:for items=(cell.title) var="value">
|
|
187
|
+
<li><a href="(cell.uri)" target="_blank">{{value}}</a></li>
|
|
188
|
+
</c:for>
|
|
189
|
+
</ul>
|
|
185
190
|
</c:if>
|
|
186
191
|
<c:if exp={!Array.isArray($cell.title)}>
|
|
187
|
-
<a href="(cell.uri)">{{cell.title}}</a>
|
|
192
|
+
<a href="(cell.uri)" target="_blank">{{cell.title}}</a>
|
|
188
193
|
</c:if>
|
|
189
194
|
</td>
|
|
190
195
|
</c:if>
|
|
191
196
|
<c:if exp={!$cell.searchable}>
|
|
192
|
-
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)"
|
|
193
|
-
value="(cell.value)">
|
|
197
|
+
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" class="(cell.customClass)"
|
|
198
|
+
key="(cell.key)" value="(cell.value)">
|
|
194
199
|
<c:if exp={Array.isArray($cell.title)}>
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
|
|
200
|
+
<ul class="slds-list_dotted">
|
|
201
|
+
<c:for items=(cell.title) var="value">
|
|
202
|
+
<li><a href="(cell.uri)">{{value}}</a></li>
|
|
203
|
+
</c:for>
|
|
204
|
+
</ul>
|
|
198
205
|
</c:if>
|
|
199
206
|
<c:if exp={!Array.isArray($cell.title)}>
|
|
200
207
|
<a href="(cell.uri)">{{cell.title}}</a>
|
|
@@ -212,6 +219,17 @@
|
|
|
212
219
|
</tr>
|
|
213
220
|
</tbody>
|
|
214
221
|
</table>
|
|
222
|
+
<c:if exp={Array.isArray($actionItems) && $actionItems.length > 0}>
|
|
223
|
+
<div class="slds-box slds-theme_default slds-m-top_medium">
|
|
224
|
+
<div class="slds-text-heading_medium slds-m-bottom_small">User Action Required</div>
|
|
225
|
+
<div class="slds-m-bottom_small">
|
|
226
|
+
<p class="slds-m-bottom_x-small">Action Items</p>
|
|
227
|
+
<ul class="slds-list_dotted">
|
|
228
|
+
<c:for items=(actionItems) var="actionItem">
|
|
229
|
+
<li class="slds-item slds-text-color_destructive">{{actionItem}}</li>
|
|
230
|
+
</c:for>
|
|
231
|
+
</ul>
|
|
232
|
+
</c:if>
|
|
215
233
|
</div>
|
|
216
234
|
</div>
|
|
217
235
|
<div id="cta-summary-panel" class="cta-summary-panel hidden">
|
|
@@ -234,19 +252,21 @@
|
|
|
234
252
|
<div class="line-separator"></div>
|
|
235
253
|
<c:if exp={Array.isArray($rollbackFlags)}>
|
|
236
254
|
<div class="slds-box" style="background-color: white; margin-top: 20px">
|
|
237
|
-
<div class="
|
|
255
|
+
<div class="migration-message">
|
|
256
|
+
<svg fill="#8c4c00" width="20px" height="20px" viewBox="-3.2 -3.2 38.40 38.40"
|
|
257
|
+
xmlns="http://www.w3.org/2000/svg" stroke="#8c4c00" stroke-width="0.0032">
|
|
258
|
+
<path
|
|
259
|
+
d="M31.082 27.5l-13.999-24.249c-0.237-0.352-0.633-0.58-1.083-0.58s-0.846 0.228-1.080 0.575l-0.003 0.005-14 24.249c-0.105 0.179-0.167 0.395-0.167 0.625 0 0.69 0.56 1.25 1.25 1.25h28c0.69 0 1.249-0.56 1.249-1.25 0-0.23-0.062-0.446-0.171-0.631zM4.165 26.875l11.835-20.499 11.834 20.499zM14.75 12v8.994c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25V12c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25zM15.12 23.619c-0.124 0.106-0.22 0.24-0.278 0.394-0.051 0.143-0.08 0.308-0.08 0.48s0.029 0.337 0.083 0.491c0.144 0.3 0.38 0.536 0.671 0.676 0.143 0.051 0.308 0.080 0.48 0.080s0.337-0.029 0.49-0.083c0.156-0.071 0.288-0.166 0.4-0.281 0.224-0.225 0.363-0.536 0.363-0.878 0-0.687-0.557-1.244-1.244-1.244-0.343 0-0.653 0.139-0.878 0.363z" />
|
|
260
|
+
</svg>
|
|
261
|
+
<span>Just a heads-up...</span>
|
|
262
|
+
</div>
|
|
238
263
|
<div style="margin-block: 15px">
|
|
239
|
-
<p>
|
|
264
|
+
<p>These rollback flags are not supported and will be disabled after migration</p>
|
|
240
265
|
<ul class="slds-list_dotted">
|
|
241
266
|
<c:for items=(rollbackFlags) var="flag">
|
|
242
267
|
<li class="slds-item slds-text-color_destructive">{{flag}}</li>
|
|
243
268
|
</c:for>
|
|
244
269
|
</ul>
|
|
245
|
-
<p>
|
|
246
|
-
<strong>Note:</strong>
|
|
247
|
-
Following flag(s) will no longer be supported after migration. For assistance, please contact
|
|
248
|
-
support.
|
|
249
|
-
</p>
|
|
250
270
|
</div>
|
|
251
271
|
</div>
|
|
252
272
|
</c:if>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
<div class="org-details-section">
|
|
21
|
-
<div class="label-key">Org
|
|
21
|
+
<div class="label-key">Org ID</div>
|
|
22
22
|
<div class="label-value">{{org.id}}</div>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
@@ -33,7 +33,12 @@
|
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
35
|
<div class="org-details-section">
|
|
36
|
-
<
|
|
36
|
+
<c:if exp={$mode == 'assess'}>
|
|
37
|
+
<div class="label-key">Assessment Date and Time</div>
|
|
38
|
+
</c:if>
|
|
39
|
+
<c:if exp={$mode == 'migrate'}>
|
|
40
|
+
<div class="label-key">Migration Date and Time</div>
|
|
41
|
+
</c:if>
|
|
37
42
|
<div class="label-value">{{assessmentDate}}</div>
|
|
38
43
|
</div>
|
|
39
44
|
</div>
|
|
@@ -62,6 +67,21 @@
|
|
|
62
67
|
</div>
|
|
63
68
|
</c:for>
|
|
64
69
|
</div>
|
|
70
|
+
<div>
|
|
71
|
+
<c:if exp={Array.isArray($actionItems) && $actionItems.length > 0}>
|
|
72
|
+
<div class="slds-box slds-theme_default slds-m-top_medium">
|
|
73
|
+
<div class="slds-text-heading_medium slds-m-bottom_small">User Action Required</div>
|
|
74
|
+
<div class="slds-m-bottom_small">
|
|
75
|
+
<p class="slds-m-bottom_x-small">Action Items</p>
|
|
76
|
+
<ul class="slds-list_dotted">
|
|
77
|
+
<c:for items=(actionItems) var="actionItem">
|
|
78
|
+
<li class="slds-item slds-text-color_destructive">{{actionItem}}</li>
|
|
79
|
+
</c:for>
|
|
80
|
+
</ul>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</c:if>
|
|
84
|
+
</div>
|
|
65
85
|
</div>
|
|
66
86
|
</body>
|
|
67
87
|
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
<div class="slds-m-around_medium">
|
|
13
13
|
<div class="slds-text-heading_large">
|
|
14
14
|
<span>{{heading}}</span>
|
|
15
|
-
<span> Migration Report</span>
|
|
16
15
|
</div>
|
|
17
16
|
|
|
18
17
|
<div class="rpt-table-container" id="report-table">
|
|
@@ -38,7 +37,7 @@
|
|
|
38
37
|
</div>
|
|
39
38
|
|
|
40
39
|
<div class="org-details-section">
|
|
41
|
-
<div class="label-key">
|
|
40
|
+
<div class="label-key">Migration Date and Time</div>
|
|
42
41
|
<div class="label-value">{{assessmentDate}}</div>
|
|
43
42
|
</div>
|
|
44
43
|
</div>
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
<path
|
|
57
56
|
d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242 1.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z" />
|
|
58
57
|
</svg>
|
|
59
|
-
<input type="text" id="name-search-input" class="search-input" placeholder="Search
|
|
58
|
+
<input type="text" id="name-search-input" class="search-input" placeholder="Search Name"
|
|
60
59
|
oninput="filterAndSearchTable('report-table')" />
|
|
61
60
|
</div>
|
|
62
61
|
|
|
@@ -116,23 +115,27 @@
|
|
|
116
115
|
<c:for items=(row.data) var="cell">
|
|
117
116
|
<c:if exp={!$cell.isHref}>
|
|
118
117
|
<c:if exp={$cell.searchable}>
|
|
119
|
-
<td
|
|
120
|
-
key="(cell.key)" value="(cell.value)">
|
|
118
|
+
<td class="(cell.customClass)" data-name="(cell.value)" rowspan="(cell.rowspan)"
|
|
119
|
+
colspan="(cell.colspan)" key="(cell.key)" value="(cell.value)">
|
|
121
120
|
<c:if exp={Array.isArray($cell.title)}>
|
|
122
|
-
<
|
|
123
|
-
<
|
|
124
|
-
|
|
121
|
+
<ul class="slds-list_dotted">
|
|
122
|
+
<c:for items=(cell.title) var="value">
|
|
123
|
+
<li>{{value}}</li>
|
|
124
|
+
</c:for>
|
|
125
|
+
</ul>
|
|
125
126
|
</c:if>
|
|
126
127
|
<c:if exp={!Array.isArray($cell.title)}> {{cell.title}} </c:if>
|
|
127
128
|
</td>
|
|
128
129
|
</c:if>
|
|
129
130
|
<c:if exp={!$cell.searchable}>
|
|
130
|
-
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" key="(cell.key)"
|
|
131
|
+
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" class="(cell.customClass)" key="(cell.key)"
|
|
131
132
|
value="(cell.value)">
|
|
132
133
|
<c:if exp={Array.isArray($cell.title)}>
|
|
133
|
-
<
|
|
134
|
-
<
|
|
135
|
-
|
|
134
|
+
<ul class="slds-list_dotted">
|
|
135
|
+
<c:for items=(cell.title) var="value">
|
|
136
|
+
<li>{{value}}</li>
|
|
137
|
+
</c:for>
|
|
138
|
+
</ul>
|
|
136
139
|
</c:if>
|
|
137
140
|
<c:if exp={!Array.isArray($cell.title)}> {{cell.title}} </c:if>
|
|
138
141
|
</td>
|
|
@@ -140,12 +143,14 @@
|
|
|
140
143
|
</c:if>
|
|
141
144
|
<c:if exp={$cell.isHref}>
|
|
142
145
|
<c:if exp={$cell.searchable}>
|
|
143
|
-
<td
|
|
144
|
-
|
|
146
|
+
<td class="(cell.customClass)" data-name="(cell.value)" rowspan="(cell.rowspan)"
|
|
147
|
+
colspan="(cell.colspan)" key="(cell.key)" value="(cell.value)">
|
|
145
148
|
<c:if exp={Array.isArray($cell.title)}>
|
|
146
|
-
<
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
+
<ul class="slds-list_dotted">
|
|
150
|
+
<c:for items=(cell.title) var="value">
|
|
151
|
+
<li><a href="(cell.uri)">{{value}}</a></li>
|
|
152
|
+
</c:for>
|
|
153
|
+
</ul>
|
|
149
154
|
</c:if>
|
|
150
155
|
<c:if exp={!Array.isArray($cell.title)}>
|
|
151
156
|
<a href="(cell.uri)">{{cell.title}}</a>
|
|
@@ -153,12 +158,14 @@
|
|
|
153
158
|
</td>
|
|
154
159
|
</c:if>
|
|
155
160
|
<c:if exp={!$cell.searchable}>
|
|
156
|
-
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" key="(cell.key)"
|
|
161
|
+
<td rowspan="(cell.rowspan)" colspan="(cell.colspan)" class="(cell.customClass)" key="(cell.key)"
|
|
157
162
|
value="(cell.value)">
|
|
158
163
|
<c:if exp={Array.isArray($cell.title)}>
|
|
159
|
-
<
|
|
160
|
-
<
|
|
161
|
-
|
|
164
|
+
<ul class="slds-list_dotted">
|
|
165
|
+
<c:for items=(cell.title) var="value">
|
|
166
|
+
<li><a href="(cell.uri)">{{value}}</a></li>
|
|
167
|
+
</c:for>
|
|
168
|
+
</ul>
|
|
162
169
|
</c:if>
|
|
163
170
|
<c:if exp={!Array.isArray($cell.title)}>
|
|
164
171
|
<a href="(cell.uri)">{{cell.title}}</a>
|
|
@@ -179,18 +186,21 @@
|
|
|
179
186
|
</div>
|
|
180
187
|
<c:if exp={Array.isArray($rollbackFlags)}>
|
|
181
188
|
<div class="slds-box" style="background-color: white; margin-top: 20px">
|
|
182
|
-
<div class="
|
|
189
|
+
<div class="migration-message">
|
|
190
|
+
<svg fill="#8c4c00" width="20px" height="20px" viewBox="-3.2 -3.2 38.40 38.40"
|
|
191
|
+
xmlns="http://www.w3.org/2000/svg" stroke="#8c4c00" stroke-width="0.0032">
|
|
192
|
+
<path
|
|
193
|
+
d="M31.082 27.5l-13.999-24.249c-0.237-0.352-0.633-0.58-1.083-0.58s-0.846 0.228-1.080 0.575l-0.003 0.005-14 24.249c-0.105 0.179-0.167 0.395-0.167 0.625 0 0.69 0.56 1.25 1.25 1.25h28c0.69 0 1.249-0.56 1.249-1.25 0-0.23-0.062-0.446-0.171-0.631zM4.165 26.875l11.835-20.499 11.834 20.499zM14.75 12v8.994c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25V12c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25zM15.12 23.619c-0.124 0.106-0.22 0.24-0.278 0.394-0.051 0.143-0.08 0.308-0.08 0.48s0.029 0.337 0.083 0.491c0.144 0.3 0.38 0.536 0.671 0.676 0.143 0.051 0.308 0.080 0.48 0.080s0.337-0.029 0.49-0.083c0.156-0.071 0.288-0.166 0.4-0.281 0.224-0.225 0.363-0.536 0.363-0.878 0-0.687-0.557-1.244-1.244-1.244-0.343 0-0.653 0.139-0.878 0.363z" />
|
|
194
|
+
</svg>
|
|
195
|
+
<span>Just a heads-up...</span>
|
|
196
|
+
</div>
|
|
183
197
|
<div style="margin-block: 15px">
|
|
184
|
-
<p>
|
|
198
|
+
<p>These rollback flags are not supported and will be disabled after migration</p>
|
|
185
199
|
<ul class="slds-list_dotted">
|
|
186
200
|
<c:for items=(rollbackFlags) var="flag">
|
|
187
201
|
<li class="slds-item slds-text-color_destructive">{{flag}}</li>
|
|
188
202
|
</c:for>
|
|
189
203
|
</ul>
|
|
190
|
-
<p>
|
|
191
|
-
<strong>Note:</strong>
|
|
192
|
-
Following flag(s) are no longer supported after migration. For assistance, please contact support.
|
|
193
|
-
</p>
|
|
194
204
|
</div>
|
|
195
205
|
</div>
|
|
196
206
|
</c:if>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Connection, Messages } from '@salesforce/core';
|
|
2
|
+
/**
|
|
3
|
+
* Manager class for handling OmniGlobalAutoNumberPref org preference operations.
|
|
4
|
+
*
|
|
5
|
+
* Provides functionality to check and enable the Global Auto Number preference in Salesforce orgs.
|
|
6
|
+
* Uses metadata API to read and update OmniStudioSettings metadata.
|
|
7
|
+
* Controls whether the new Global Auto Number functionality is available in the org.
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare class OmniGlobalAutoNumberPrefManager {
|
|
11
|
+
private connection;
|
|
12
|
+
private messages;
|
|
13
|
+
constructor(connection: Connection, messages: Messages);
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the Global Auto Number preference is enabled in the current org.
|
|
16
|
+
*
|
|
17
|
+
* Queries the OmniStudioSettings metadata to determine the current state of the preference.
|
|
18
|
+
* Reads the enableOmniGlobalAutoNumberPref setting from metadata API.
|
|
19
|
+
* Determines whether the Global Auto Number functionality is already active.
|
|
20
|
+
*
|
|
21
|
+
* @returns {Promise<boolean>} True if the preference is enabled, false otherwise
|
|
22
|
+
*
|
|
23
|
+
* @throws {Error} When metadata read operation fails (logged and returns false)
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
isEnabled(): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Enables the Global Auto Number preference in the current org.
|
|
29
|
+
*
|
|
30
|
+
* Updates the OmniStudioSettings metadata to enable the Global Auto Number functionality.
|
|
31
|
+
* Uses metadata API to set enableOmniGlobalAutoNumberPref to 'true'.
|
|
32
|
+
* Activates the new Global Auto Number functionality after migration is complete.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Promise<any>} Metadata update result containing success status and any errors
|
|
35
|
+
*
|
|
36
|
+
* @throws {Error} When metadata update operation fails
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
enable(): Promise<any>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OmniGlobalAutoNumberPrefManager = void 0;
|
|
4
|
+
const logger_1 = require("./logger");
|
|
5
|
+
/**
|
|
6
|
+
* Manager class for handling OmniGlobalAutoNumberPref org preference operations.
|
|
7
|
+
*
|
|
8
|
+
* Provides functionality to check and enable the Global Auto Number preference in Salesforce orgs.
|
|
9
|
+
* Uses metadata API to read and update OmniStudioSettings metadata.
|
|
10
|
+
* Controls whether the new Global Auto Number functionality is available in the org.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
class OmniGlobalAutoNumberPrefManager {
|
|
14
|
+
constructor(connection, messages) {
|
|
15
|
+
this.connection = connection;
|
|
16
|
+
this.messages = messages;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Checks if the Global Auto Number preference is enabled in the current org.
|
|
20
|
+
*
|
|
21
|
+
* Queries the OmniStudioSettings metadata to determine the current state of the preference.
|
|
22
|
+
* Reads the enableOmniGlobalAutoNumberPref setting from metadata API.
|
|
23
|
+
* Determines whether the Global Auto Number functionality is already active.
|
|
24
|
+
*
|
|
25
|
+
* @returns {Promise<boolean>} True if the preference is enabled, false otherwise
|
|
26
|
+
*
|
|
27
|
+
* @throws {Error} When metadata read operation fails (logged and returns false)
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
30
|
+
async isEnabled() {
|
|
31
|
+
try {
|
|
32
|
+
const result = (await this.connection.metadata.read('OmniStudioSettings', ['OmniStudio']));
|
|
33
|
+
return (result === null || result === void 0 ? void 0 : result.enableOmniGlobalAutoNumberPref) === 'true' || false;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
const errMsg = error instanceof Error ? error.message : String(error);
|
|
37
|
+
logger_1.Logger.error(this.messages.getMessage('errorCheckingGlobalAutoNumber', [errMsg]));
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Enables the Global Auto Number preference in the current org.
|
|
43
|
+
*
|
|
44
|
+
* Updates the OmniStudioSettings metadata to enable the Global Auto Number functionality.
|
|
45
|
+
* Uses metadata API to set enableOmniGlobalAutoNumberPref to 'true'.
|
|
46
|
+
* Activates the new Global Auto Number functionality after migration is complete.
|
|
47
|
+
*
|
|
48
|
+
* @returns {Promise<any>} Metadata update result containing success status and any errors
|
|
49
|
+
*
|
|
50
|
+
* @throws {Error} When metadata update operation fails
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
+
async enable() {
|
|
55
|
+
const result = await this.connection.metadata.update('OmniStudioSettings', [
|
|
56
|
+
{
|
|
57
|
+
fullName: 'OmniStudio',
|
|
58
|
+
enableOmniGlobalAutoNumberPref: 'true',
|
|
59
|
+
},
|
|
60
|
+
]);
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.OmniGlobalAutoNumberPrefManager = OmniGlobalAutoNumberPrefManager;
|
|
65
|
+
//# sourceMappingURL=OmniGlobalAutoNumberPrefManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OmniGlobalAutoNumberPrefManager.js","sourceRoot":"","sources":["../../src/utils/OmniGlobalAutoNumberPrefManager.ts"],"names":[],"mappings":";;;AAEA,qCAAkC;AAElC;;;;;;;GAOG;AACH,MAAa,+BAA+B;IAI1C,YAAmB,UAAsB,EAAE,QAAkB;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS;QACpB,IAAI;YACF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAiB,CAAC;YAC3G,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,8BAA8B,MAAK,MAAM,IAAI,KAAK,CAAC;SACnE;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,eAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,8DAA8D;IACvD,KAAK,CAAC,MAAM;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE;YACzE;gBACE,QAAQ,EAAE,YAAY;gBACtB,8BAA8B,EAAE,MAAM;aACvB;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAtDD,0EAsDC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XMLUtil provides XML parsing and building functionality using the xmldom library.
|
|
3
|
+
*
|
|
4
|
+
* This class handles:
|
|
5
|
+
* - Parsing XML strings into JavaScript objects
|
|
6
|
+
* - Building XML strings from JavaScript objects
|
|
7
|
+
* - Configuring parser options for Salesforce metadata XML structures
|
|
8
|
+
* - Handling arrays for specific FlexiPage elements
|
|
9
|
+
*/
|
|
10
|
+
export declare class XMLUtil {
|
|
11
|
+
/** XML parser instance configured for Salesforce metadata */
|
|
12
|
+
private parser;
|
|
13
|
+
/** XML serializer instance configured for formatted output */
|
|
14
|
+
private serializer;
|
|
15
|
+
private alwaysArray;
|
|
16
|
+
private xmlHeader;
|
|
17
|
+
/**
|
|
18
|
+
* Initializes the XMLUtil with configured parser and serializer instances.
|
|
19
|
+
*
|
|
20
|
+
* The parser is configured to:
|
|
21
|
+
* - Parse XML strings into DOM Document objects
|
|
22
|
+
* - Handle Salesforce metadata XML structures
|
|
23
|
+
*
|
|
24
|
+
* The serializer is configured to:
|
|
25
|
+
* - Format output with proper indentation
|
|
26
|
+
* - Preserve XML structure and attributes
|
|
27
|
+
*/
|
|
28
|
+
constructor(alwaysArray?: string[]);
|
|
29
|
+
parse(xmlString: string): any;
|
|
30
|
+
build(jsonObject: any, rootElement?: string): string;
|
|
31
|
+
private xmlToJson;
|
|
32
|
+
private jsonToXml;
|
|
33
|
+
private prettyPrintXml;
|
|
34
|
+
}
|