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

  1. 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

  2. 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.
      1. Efetue login no Order Hub.
      2. Alterne para o locatário de customização no qual você testou suas customizações..
      3. Acesse Configurações > Customização..
      4. Selecione o item personalizado que ativa sua rota.
      5. 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
      6. 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..

      7. Salve todas as alterações.
      8. 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.
        {
            "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"
          }
        Dependendo do conteúdo no features.json, pode ser necessário colocar o código entre colchetes [] para incluir como um elemento de matriz.
  3. Atualize o arquivo package-customization.json .
    1. Para cada módulo customizado, abra o arquivo devtoolkit_docker/orderhub-code/<module-name>/package-customization.json para edição.
    2. 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"
              }
          }
      }
  4. 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.
    1. Abrir <module-name>/package.json arquivo.
      Por exemplo, buc-app-order/package.json..
    2. 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.
    3. 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"
    4. Para cada rota que é customizada, abra o arquivo <module-name>/packages/<route-name>/package.json
      Por exemplo, buc-app-order/packages/create-order/package.json..
    5. Faça uma cópia da linha build-merged para cada ambiente de destino.
    6. 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/",
  5. 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

Implementar customizações.