Preparando para Implementar Customizações para Aplicativos Existentes
Antes de poder implementar customizações feitas em aplicativos existentes (como o devtoolkit_docker/orderhub-code/buc-app-order), é necessário indicar quais customizações implementar. Por exemplo, é possível trabalhar em duas novas rotas, mas talvez você queira implementar apenas uma.
Para implementar um novo aplicativo, consulte Preparando para implementar novos aplicativos.
Procedimento
- Recupere o Customization folder, Customization client
ID, Customization auth key para cada um dos locatários nos quais deseja implementar as customizações.
Pode ser necessário entrar em contato com um administrador para obter o Customization auth key se os locatários já estiverem configurados para customização.. Para obter mais informações, consulte Ativando o menu de customização para um locatário
- Abra o features.json no diretório raiz do módulo.Por exemplo, devtoolkit_docker/orderhub-code/buc-app-order/features.json.. Se o arquivo não existir, crie o arquivo. O conteúdo que você precisa incluir no features.json depende do tipo de customização que deseja implementar.
- Se você estiver implementando uma customização para um módulo existente sem nenhuma nova rota, inclua uma matriz vazia no arquivo features.json
[] - Se você estiver implementando uma nova rota, recupere o valor JSON do Recurso do Order Hub.
- Efetue login no Order Hub.
- Alterne para o locatário de customização no qual você testou suas customizações..
- Acesse Configurações > Customização..
- Selecione o item personalizado que ativa sua rota.
- Se você desejar implementar customizações no locatário de customização no qual testou suas customizações, assegure-se de selecionar Hospedado pela IBM e limpar Ambiente de desenvolvimento local. Caso contrário, o locatário continuará a se conectar ao seu servidor local
- No campo URL relativa URL , inclua o caminho relativo para a sua rota / < module-name> / < route-name> Inicie com uma barra (/) Não é necessário incluir uma barra à direita
Por exemplo,
/buc-app-order/create-order.. - Salve todas as alterações.
- Copie o JSON do campo Json do recurso na IU Cole ou mescle o JSON como um elemento de matriz no arquivo features.json que está no diretório raiz do módulo. O JSON da IU é semelhante à amostra a seguir.
Dependendo do conteúdo no features.json, pode ser necessário colocar o código entre colchetes [] para incluir como um elemento de matriz.{ "featureId": "custom-[Id]", // must be unique "state": "ACTIVE", "sequence": 0, "title": "[Title to display for the custom application]", "iconName": "website-20", "link": "/[module-name]/[path to new route]", "path": "/[module-name]/[path to new route]", "hidden": true, "allowedRoles": [ //the roles that can access this customization "Fulfillment Manager", "Tenant Administrator" ], "description": [ { "locale": "en_US", "language": "en", "title": "Title to display for the custom feature" } ], "type": "IFRAME" }
- Se você estiver implementando uma customização para um módulo existente sem nenhuma nova rota, inclua uma matriz vazia no arquivo features.json
- Atualize o arquivo package-customization.json .
- Para cada módulo customizado, abra o arquivo devtoolkit_docker/orderhub-code/<module-name>/package-customization.json para edição.
- No objeto routes , inclua cada rota no módulo customizado. Mantenha o objeto customizationContextRoot vazio.Cada chave no objeto de rotas identifica o pacote de rotas customizado. O valor é um objeto com uma única chave chamada type Certifique-se de que a propriedade type esteja sempre configurada como
"code"Por exemplo,
{ "repositoryName": "buc-app-order", "customizationContextRoot": "", "routes": { "create-order": { "type": "code" } } }
- Para cada ambiente no qual você deseja implementar customizações, inclua um destino de compilação no arquivo <module-name>/package.json e, em seguida, no arquivo <module-name>/packages/<route-name>/package.json para cada rota que foi customizada.
- Abrir <module-name>/package.json arquivo.Por exemplo, buc-app-order/package.json..
- Faça uma cópia da linha build-merged para cada ambiente de destino.Por exemplo, suponha que você deseja implementar em quatro ambientes; dev1, qa3, preprode prod Cole a linha quatro vezes.
- Substituir build-merged por build-merged-<environment> em cada linha copiada.Por exemplo,
"build-merged": "lerna run build-merged --stream", "build-merged-dev1": "lerna run build-merged-dev1 --stream", "build-merged-qa3": "lerna run build-merged-qa3 --stream", "build-merged-preprod": "lerna run build-merged-preprod --stream", "build-merged-prod": "lerna run build-merged-prod --stream" - Para cada rota que é customizada, abra o arquivo <module-name>/packages/<route-name>/package.jsonPor exemplo, buc-app-order/packages/create-order/package.json..
- Faça uma cópia da linha build-merged para cada ambiente de destino.
- Substituir build-merged por build-merged-<environment> em cada linha copiada e incluir --deploy-url=<customization folder>/<module-name>/<route-name>/.O valor para <customization folder> é o valor recuperado da etapa 1. Cada ambiente de destino possui um valor da pasta de customização diferente.Por exemplo,
- Para a rota create-order (em buc-app-order/packages/create-order/package.json):
"build-merged": "ng build create-order --configuration=merged-prod", "build-merged-dev1": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/create-order/", "build-merged-qa3": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/dbU2K1u4seqrRKwBZTyMp1lUJwqQkJ5A/buc-app-order/create-order/", "build-merged-preprod": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/zdD4uxaf8GRTbzMSg8zU2K/buc-app-order/create-order/", "build-merged-prod": "ng build create-order --configuration=merged-prod --deploy-url=/buc-app-customization/balohTK3ang5GmXsRwOSeSidbQOKEw6N/buc-app-order/create-order/", - Para a rota order-details : (em buc-app-order/packages/order-details/package.json):
"build-merged": "ng build order-details --configuration=merged-prod", "build-merged-dev1": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/order-details/", "build-merged-qa3": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/dbU2K1u4seqrRKwBZTyMp1lUJwqQkJ5A/buc-app-order/order-details/", "build-merged-preprod": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/zdD4uxaf8GRTbzMSg8zU2K/buc-app-order/order-details/", "build-merged-prod": "ng build order-details --configuration=merged-prod --deploy-url=/buc-app-customization/balohTK3ang5GmXsRwOSeSidbQOKEw6N/buc-app-order/order-details/",
- Para a rota create-order (em buc-app-order/packages/create-order/package.json):
- Abrir <module-name>/package.json arquivo.
- Se você usar um pipeline CI/CD para implementar customizações, verifique todas as mudanças de customização em seu repositório.
O que fazer depois
- Se você estiver implementando customizações manualmente a partir da estação de trabalho local, consulte Implementando customizações para aplicativos existentes.
- Se desejar configurar um pipeline CI/CD para implementar customizações, consulte Implementando customizações com um pipeline CI/CD