Incluindo novas rotas para aplicativos existentes
É possível customizar aplicativos incluindo novas rotas nos aplicativos. Use o comando schematics para criar os pacotes para cada rota e atualizar os arquivos no aplicativo.
Procedimento
- Abra um terminal e acesse o diretório de códigos Order Hub .
- Para clientes de nuvem, o local padrão é devtoolkit_docker/orderhub-code..
- Acesse o módulo que você deseja customizar Por exemplo, se desejar atualizar o módulo de pedido, acesse a pasta buc-app-order . Por exemplo:
cd devtoolkit_docker/orderhub-code/buc-app-order - Abra o app-config.json que está no módulo que você deseja customizar e inclua as novas rotas que deseja incluir no aplicativo.
- Execute o seguinte comando schematics. Esse comando cria os pacotes para cada nova rota e atualiza os arquivos necessários no aplicativo.
O esquema suporta as opções a seguir.ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name short-name-for-the-module --prefix selector-prefix- --app--config-json
- Essa opção é necessária Use o arquivo app-config.json existente no módulo que você deseja customizar
- --module-short-name
- O nome abreviado para o módulo Se o nome do módulo tiver traços, o nome abreviado será o texto após o último traço. Por exemplo, se o nome do módulo for buc-app-settings, o nome abreviado do módulo será settings..
- --prefix
- O seletor HTML para usar para os componentes gerados. O padrão é buc..
- --is-custom-app
- Indica se o repositório atual é ou não um aplicativo customizado. Use true para indicar que o repositório atual é um aplicativo customizado ou use false para um aplicativo Order Hub existente. O padrão é false.
Por exemplo,ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name order --prefix buc - Teste as rotas customizadas localmente abrindo o arquivo overrides.json no módulo e modificando o objeto para que a nova rota seja
"use Prod":false.Por exemplo,"custom-route": { "useProd": false } - Se necessário, crie um novo menu.. Para obter mais informações, consulte Testando novos aplicativos ou rotas no Order Hub.
- Para ver as mudanças no servidor local execute yarn start-app.
- Crie o arquivo features.json .
- 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 customizado que ativa sua rota.
- Se você desejar implementar customizações para o locatário de customização no qual testou suas customizações, assegure-se de selecionar Hospedado pela IBM e de limpar Ambiente de desenvolvimento local Caso contrário, o locatário continuará a se conectar ao servidor local.
- No campo URL relativo, adicione o caminho relativo à sua rota /<module-name>/<route-name>. Comece com uma barra (/). Não é necessário incluir uma barra no final. 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" } - Para implementação, mude o link para ter o caminho absoluto como no exemplo a seguir.
"link": https://static.omsbusinessusercontrols.ibm.com/buc-app-order/custom-route/order/home
- Abra o arquivo <order_hub_code_directory>/<module-name>/package-customization.json .. No objeto de rotas, inclua cada rota no módulo customizado.Por exemplo,
{ "repositoryName": "buc-app-order", "customizationContextRoot": "/order-management-customization", "routes": { "custom-route": { "type": "code", "custom": true } } } - Abra o arquivo ../<module-name>/packages/<route-name>/package.json para cada nova rota customizada. Inclua um script "build-merge" "build-merged-<environment>": "yarn build
--deploy-url=<customizationfolder>/<module-name>/<route-name>/". Por exemplo,
"build-merged-dev": "yarn build --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/custom-route/"
O que fazer depois
Para obter mais informações, consulte Implementando novos aplicativos