Skip to content

Commit 6a401d7

Browse files
Merge pull request #426 from sf-aastha-paruthi/u/aparuthi/customLabelsApprovalCX
@ W-19464597 Custom Labels for Standard Data Model
2 parents 0c33967 + 5add09e commit 6a401d7

File tree

4 files changed

+34
-24
lines changed

4 files changed

+34
-24
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OmniStudio Migration Assistant
22

3-
The Omnistudio Migration Assistant is a command-line interface (CLI) plugin that you install via Salesforce CLI. It creates records for your omnistudio components on the Salesforce standard objects.
3+
The Omnistudio Migration Assistant is a Salesforce CLI plugin that automates the migration of Omnistudio components. When run on a custom data model with managed package runtime, it migrates components to the standard data model and switches them to the Omnistudio standard runtime. When run on a standard data model with managed package, it cleans record names, enables the metadata API, and switches to the Omnistudio standard runtime.
44

55
### Before You Begin
66

messages/assess.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"omnistudio:migration:assess -u [email protected] --relatedobjects apex,lwc,flexipage,expsites",
1111
"omnistudio:migration:assess -u [email protected] -r apex,lwc,flexipage,expsites"
1212
],
13-
"commandDescription": "Assess the migration of Omnistudio components from Omnistudio managed package runtime to Omnistudio standard runtime.",
13+
"commandDescription": "If your Omnistudio components are on custom data model, assess the migration of the components from Omnistudio managed package runtime to Omnistudio standard runtime. If your Omnistudio components are on standard data model, assess the updates made to the component names and references.See: https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_naming_conventions.htm&type=5",
1414
"errorNoOrgResults": "No records found in the org '%s' to migrate.",
1515
"onlyFlagDescription": "Migrate a single component: os | ip | fc | dm | autonumber | cl",
1616
"couldNotTruncate": "We couldn't clear all %s records.",
@@ -38,10 +38,10 @@
3838
"processingDataRaptor": "Processing Data Mapper: %s",
3939
"processingOmniScript": "Processing Omniscript: %s",
4040
"foundDataRaptorsToAssess": "Found %s Data Mappers to assess.",
41-
"foundOmniScriptsToAssess": "Found %s Omniscripts to assess",
41+
"foundOmniScriptsToAssess": "Found %s %s to assess",
4242
"foundGlobalAutoNumbersToAssess": "Found %s Omni Global Auto Numbers to assess.",
4343
"startingDataRaptorAssessment": "Starting Data Mapper assessment",
44-
"startingOmniScriptAssessment": "Starting Omniscript assessment",
44+
"startingOmniScriptAssessment": "Starting %s assessment",
4545
"startingGlobalAutoNumberAssessment": "Starting Omni Global Auto Number assessment",
4646
"allVersionsInfo": "All versions: %s",
4747
"assessmentInitialization": "Assessment process started. Using namespace: %s",
@@ -77,7 +77,7 @@
7777
"fileNoOmnistudioCalls": "The %s file doesn't have any Omnistudio calls or remote calls. No changes will be applied.",
7878
"fileAlreadyImplementsCallable": "The %s file already implements the Callable interface. No changes will be applied.",
7979
"inApexDrNameWillBeUpdated": "In the %s Apex file, the Data Mapper name, %s, will be updated to %s.",
80-
"inApexIpNameWillBeUpdated": "In the %s Apex file, the Data Mapper name, %s, will be updated to %s.",
80+
"inApexIpNameWillBeUpdated": "In the %s Apex file, the Integration Procedure name, %s, will be updated to %s.",
8181
"startingLwcAssessment": "Starting LWC assessment in: %s",
8282
"processingLwcsForAssessment": "Processing LWCs for assessment",
8383
"successfullyProcessedLwcsForAssessment": "Successfully processed %s LWCs for assessment.",
@@ -114,7 +114,7 @@
114114
"notSfdxProjectFolderPath": "Provided folder is not a valid Salesforce DX project. Please select a folder containing sfdx-project.json",
115115
"errorRunningAssess": "Assessment process failed reason : %s",
116116
"enableVerboseOutput": "Enable verbose output",
117-
"apexFileChangesIdentifiedNotApplied": "Changes were identified but not applied for the %s Apex class when the assessment mode was running.Changes were identified but not applied for the %s Apex class when the assessment mode was running.",
117+
"apexFileChangesIdentifiedNotApplied": "Changes were identified but not applied for the %s Apex class when the assessment mode was running.",
118118
"apexFileHasMultipleInterfaces": "The %s file has multiple interfaces, including Callable interfaces. Standardizing the file to use only the System.Callable interface.",
119119
"apexFileImplementsVlocityOpenInterface2": "The %s file implements VlocityOpenInterface2. Replacing it with the System.Callable interface.",
120120
"errorParsingHtmlTemplate": "Error while parsing template",
@@ -139,7 +139,7 @@
139139
"experienceSiteConsentNotProvidedWarning": "You’ve not provided consent and your Experience Cloud sites won’t be processed.",
140140
"relatedObjectsToProcessAfterExpSitesRemoval": "Objects to process after removing expsite are %s.",
141141
"experienceBundleMetadataAPIAlreadyEnabled": "The ExperienceBundle metadata API is already enabled.",
142-
"enableExperienceBundleMetadataAPIProgramatically": "We couldn't enable the ExperienceBundle metadata API. Enable it programmatically.",
142+
"enableExperienceBundleMetadataAPIProgramatically": "Enabling ExperienceBundle metadata API programmatically.",
143143
"unableToEnableExperienceBundleMetadataAPI": "We couldn’t enable the ExperienceBundle metadata API. Experience Cloud sites won’t be assessed.",
144144
"relatedObjectsToProcess": "These objects will be processed: %s",
145145
"consentForExperienceSites": "By proceeding further, you hereby consent to enable the ExperienceBundle metadata API and assess Experience Cloud sites. Do you want to proceed? [y/n]",
@@ -152,13 +152,13 @@
152152
"readingFile": "Started reading the files",
153153
"totalFileCount": "The total count of files is %s",
154154
"skipNonJsonFile": "Skipping non-JSON file %s",
155-
"experienceSiteWithOmniWrapperSuccessfullyProcessed": "Successfully processed the Experience Cloud site file with a Vlocity wrapper.",
156-
"fileNotHavingWrapper": "File doesn’t contain Vlocity wrapper.",
155+
"experienceSiteWithOmniWrapperSuccessfullyProcessed": "Successfully processed the Experience Cloud site file with a wrapper having the Omnistudio content.",
156+
"fileNotHavingWrapper": "File doesn’t contain wrapper having Omnistudio content.",
157157
"errorProcessingExperienceSite": "We’ve encountered an error while processing the Experience Cloud site file",
158-
"experienceSiteReportingDetails": "Only files with a Vlocity wrapper will be shown in the assessment report.",
158+
"experienceSiteReportingDetails": "Only files with wrapper with Omnistudio content will be shown in the assessment report.",
159159
"processingFile": "Processing for file",
160160
"currentRegionOfExperienceSite": "The current region being processed is %s.",
161-
"omniWrapperFound": "Omnistudio wrapper component found.",
161+
"omniWrapperFound": "Wrapper with Omnistudio content found.",
162162
"printUpdatedObject": "Printing the updated object %s.",
163163
"printDifference": "Printing the difference %s.",
164164
"updatingFile": "Updating the file content.",
@@ -169,7 +169,7 @@
169169
"manualInterventionForExperienceSite": "We couldn’t process the %s component because no key was found.",
170170
"manualInterventionForExperienceSiteAsFailure": "We couldn’t process the %s component. ",
171171
"manualInterventionForExperienceSiteAsDuplicateKey": "We couldn’t process the %s component because a duplicate key was found. ",
172-
"manualInterventionForExperienceSiteConfiguration": "We couldn’t process the %s Experience site because one of the type/subtype/language is missing in the omnistudio wrapper in experience site configuration.",
172+
"manualInterventionForExperienceSiteConfiguration": "We couldn’t process the %s Experience site because of the error %s in the Experience Cloud site configuration.",
173173
"updatingStorageForOmniscipt": "Preparing storage for Omniscripts",
174174
"keyAlreadyInStorage": "The %s %s name already exists in storage.",
175175
"flexcardStorageProcessingStarted": "Preparing storage for Flexcards.",
@@ -197,8 +197,8 @@
197197
"dmNameUpdateFailed": "DM reference %s can’t be updated",
198198
"invalidTypeAssessErrorMessage": "We couldn't assess your Omnistudio components in the %s namespace. Select the correct namespace and try again",
199199
"assessmentSuccessfulMessage": "Migration assessment for org %s is complete and reports are ready for review in the folder %s",
200-
"needManualInterventionAsSpecialCharsInChildFlexcardName": "Need manual intervention as child flexcards have special characters in their name",
201-
"needManualInterventionAsSpecialCharsInFlexcardName": "Need manual intervention as flexcard has special characters in name",
200+
"needManualInterventionAsSpecialCharsInChildFlexcardName": "Child Flexcards with special characters in their names must be manually migrated.",
201+
"needManualInterventionAsSpecialCharsInFlexcardName": "This Flexcard contains special characters in its name. It must be manually migrated.",
202202
"errorCheckingOmniStudioMetadata": "We couldn't check whether the Omnistudio Metadata is enabled: %s. Try again later.",
203203
"omniStudioSettingsMetadataAlreadyEnabled": "The Omnistudio Metadata setting is already enabled with standard data model. No need for migration."
204204
}

messages/migrate.json

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"omnistudio:migration:migrate -u [email protected] -r apex",
1313
"omnistudio:migration:migrate -u [email protected] -r lwc"
1414
],
15-
"commandDescription": "Migrate Omnistudio components from Omnistudio managed package runtime to Omnistudio standard runtime.",
15+
"commandDescription": "If your Omnistudio components are on custom data model, migrate the components from custom data model to standard data model, and switch the runtime from Omnistudio managed package runtime to Omnistudio standard runtime. If your Omnistudio components are on standard data model, the component names and references will be updated to contain only alphanumeric characters. This update is required to enable the metadata API. See: https://help.salesforce.com/s/articleView?id=xcloud.os_omnistudio_naming_conventions.htm&type=5",
1616
"errorNoOrgResults": "No records found in the org '%s' to migrate.",
1717
"onlyFlagDescription": "Migrate a single component: os | ip | fc | dm | autonumber | cl",
1818
"invalidOnlyFlag": "Invalid parameter entered. Select a valid parameter from these options: os | ip | fc | dm | autonumber | cl",
@@ -134,7 +134,7 @@
134134
"experienceSiteConsentNotProvidedWarning": "You've not provided consent and your Experience Cloud sites won't be migrated.",
135135
"relatedObjectsToProcessAfterExpSitesRemoval": "Prerequisites for Experience Cloud sites complete. The objects to migrate are %s.",
136136
"experienceBundleMetadataAPIAlreadyEnabled": "The ExperienceBundle metadata API is already enabled.",
137-
"enableExperienceBundleMetadataAPIProgramatically": "The ExperienceBundle metadata API needs to be programmatically enabled.",
137+
"enableExperienceBundleMetadataAPIProgramatically": "Enabling ExperienceBundle metadata API programmatically.",
138138
"unableToEnableExperienceBundleMetadataAPI": "We couldn’t enable the ExperienceBundle metadata API. Experience Cloud sites won’t be processed.",
139139
"relatedObjectsToProcess": "These objects will be processed: %s",
140140
"consentForExperienceSites": "By proceeding further, you hereby consent to enable the ExperienceBundle metadata API and migrate Experience Cloud sites. Do you want to proceed?",
@@ -147,13 +147,13 @@
147147
"readingFile": "Started reading the files",
148148
"totalFileCount": "The total count of files is %s",
149149
"skipNonJsonFile": "Skipping non-JSON file %s",
150-
"experienceSiteWithOmniWrapperSuccessfullyProcessed": "Successfully processed the Experience Cloud site file with a Vlocity wrapper.",
151-
"fileNotHavingWrapper": "File doesn’t contain Vlocity wrapper.",
150+
"experienceSiteWithOmniWrapperSuccessfullyProcessed": "Successfully processed the Experience Cloud site file with a wrapper having the Omnistudio content.",
151+
"fileNotHavingWrapper": "File doesn’t contain wrapper having Omnistudio content.",
152152
"errorProcessingExperienceSite": "We’ve encountered an error while processing the Experience Cloud site file",
153-
"experienceSiteReportingDetails": "Only files with a Vlocity wrapper will be shown in the report.",
153+
"experienceSiteReportingDetails": "Only Experience Cloud site files with a wrapper having Omnistudio content will be shown in the report.",
154154
"processingFile": "Processing for file",
155155
"currentRegionOfExperienceSite": "The current region being processed is %s.",
156-
"omniWrapperFound": "Omnistudio wrapper component found.",
156+
"omniWrapperFound": "Wrapper by omnistudio component found.",
157157
"printUpdatedObject": "Printing the updated object %s.",
158158
"printDifference": "Printing the difference %s.",
159159
"updatingFile": "Updating the file content.",
@@ -164,7 +164,7 @@
164164
"emptyTargetData": "The Target Name is empty. Check your Experience Cloud site configuration",
165165
"manualInterventionForExperienceSiteAsFailure": "We couldn’t process the %s component.",
166166
"manualInterventionForExperienceSiteAsDuplicateKey": "We couldn’t process the %s component because a duplicate key was found.",
167-
"manualInterventionForExperienceSiteConfiguration": "We couldn’t process the %s Experience site because one of the type/subtype/language is missing in the omnistudio wrapper in experience site configuration.",
167+
"manualInterventionForExperienceSiteConfiguration": "We couldn’t process the %s Experience site because of the error %s in the Experience Cloud site configuration.",
168168
"updatingStorageForOmniscipt": "Preparing storage for Omniscripts %s",
169169
"keyAlreadyInStorage": "The %s %s name already exists in storage.",
170170
"flexcardStorageProcessingStarted": "Preparing storage for Flexcards.",
@@ -196,7 +196,8 @@
196196
"flexCardWithAngularOmniScriptWarning": "Flexcard has dependencies on Angular Omniscript(s) which are not migrated. Please convert Omniscript(s) to LWC before migrating this Flexcard.",
197197
"angularOmniScriptDependencyWarning": "Element '%s' references Angular Omniscript '%s' which will not be migrated. Consider converting the referenced Omniscript to LWC",
198198
"skipFlexcardAngularOmniScriptDependencyWarning": "Skipping Flexcard %s due to Angular Omniscript dependencies",
199-
"flexCardMigrationProcessingMessage": "Processing %s Flexcards for migration (%s skipped due to Angular dependencies)",
199+
"flexCardMigrationProcessingMessage": "Processing %s Flexcards for migration",
200+
"skippingAsAngularDependencies": "(%s skipped due to Angular dependencies)",
200201
"noMetadataToDeploy": "No metadata to deploy",
201202
"missingMandatoryField": "Missing mandatory field: %s for %s",
202203
"dataMapperMigrationFailed": "DataMapper migration failed for: %s",
@@ -262,5 +263,5 @@
262263
"errorEnablingOmniStudioSettingsMetadata": "We couldn't enable the Omnistudio Metadata setting: %s. Enable it manually.",
263264
"manuallyEnableOmniStudioSettingsMetadata": "Manually enable the Omnistudio Metadata setting in your org’s Omnistudio Settings page.",
264265
"omniStudioMetadataEnableConsentNotGiven": "You’ve not consented to proceed with enabling the Omnistudio Metadata setting. We’ll not be able to proceed with the migration.",
265-
"enablingOmniStudioSettingsMetadataStatus": "Enabling OmniStudio Settings Metadata..."
266+
"enablingOmniStudioSettingsMetadataStatus": "Enabling Omnistudio Metadata setting…"
266267
}

src/migration/flexcard.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,16 @@ export class CardMigrationTool extends BaseMigrationTool implements MigrationToo
119119
}
120120
}
121121

122-
Logger.log(`${this.messages.getMessage('flexCardMigrationProcessingMessage', [cards.length, skippedCards.size])}`);
122+
if (this.IS_STANDARD_DATA_MODEL) {
123+
Logger.log(`${this.messages.getMessage('flexCardMigrationProcessingMessage', [cards.length])}`);
124+
} else {
125+
Logger.log(
126+
`${this.messages.getMessage('flexCardMigrationProcessingMessage', [cards.length])} ${this.messages.getMessage(
127+
'skippingAsAngularDependencies',
128+
[skippedCards.size]
129+
)}`
130+
);
131+
}
123132

124133
const progressBar = createProgressBar('Migrating', 'Flexcards');
125134
// Save the Vlocity Cards in OmniUiCard

0 commit comments

Comments
 (0)