Entendendo pastas e arquivos importantes

Aprenda sobre a estrutura de pasta de código-fonte para localizar os componentes que você precisa customizar, onde salvar suas customizações, e o propósito de alguns arquivos. Essas pastas e arquivos serão importantes se você estiver customizando os aplicativos existentes

Diretório de código do Order Hub

O código-fonte do Order Hub está disponível no seguinte local:
  • O local padrão é devtoolkit_docker/orderhub-code..

Depois de ter identificado o local do código-fonte do Order Hub em seu ambiente, esse local é denotado por < order_hub_code_directory>.

Entendendo os diferentes módulos

As pastas < order_hub_code_directory> / < module-name> incluem código para diferentes itens de menu e as páginas no menu.
buc-app-configurações
Inclui o código para o menu Configurações O menu Configuration estará disponível se você estiver inscrito no Sterling™ Intelligent Promising.
exceção do aplicativo bucal
Inclui o código para o menu Exceções
buc-app-atendimento
Inclui código para o menu Cumprimento .
buc-app-inventário
Inclui o código para o menu Inventário
nó de aplicação bucal
Inclui o código para o menu Nós e capacidade
buc-app-ordem
Inclui código para os menus Pedidos e Remessas ..
buc-app-configurações
Inclui código para alguns itens no menu Configurações (Configurações de exibição, Funções de usuário, Grupos de distribuição, Customizações).
espaço de trabalho buc-app
Inclui código para Início, Áreas de Trabalho, Alertase menus Regras de Alerta .

Entendendo a pasta 'packages'

O diretório < order_hub_code_directory> / < module-name> /packages retém todo o código que renderiza as páginas e ações para um módulo específico

O diretório packages contém as seguintes pastas filhas importantes:
< route-name>
As rotas incluídas no módulo. Por exemplo, a rota < order_hub_code_directory> /buc-app-order/packages/create-order está correlacionada à página Criar pedido na interface com o usuário.
< route-name> /node_modules
Inclui dependências externas para a rota.. Não modifique esta Pasta.
< route-name> /src
Inclui o código original da IBM Não modifique esta Pasta. Essa pasta é sobrescrita com novas instalações ou atualizações da IBM
< route-name> /src-customizado
Inclua seu código customizado nesta pasta.. Copie a estrutura de pasta e os arquivos que você precisa modificar da pasta src para esta pasta src-custom .
< route-name> /src-mesclado
Inclui código compilado que está em execução no aplicativo. Não modifique esta Pasta. O processo de compilação mescla as pastas src e src-custom em src-merge
<nome_abreviado_do_módulo>-compartilhado/ativos
Inclui ativos que são compartilhados em todas as rotas no módulo, como:
  • Arquivos de conversão (por exemplo, en.json para sequências em inglês e fr.json para sequências em francês)
  • Arquivos de estilo (por exemplo, main.scss)
  • Imagens
  • Arquivos JSON para customização por configuração (por exemplo, buc-field-details.json, buc-table-config.json)
Se você desejar incluir sequências customizadas ou atualizar componentes existentes usando a customização por técnica de configuração, será necessário copiar essa pasta compartilhada / ativos na pasta src-custom . Para obter mais informações, consulte Entendendo e preenchendo a pasta 'src-custom'.

Entendendo a pasta 'src'

O diretório < order_hub_code_directory> / < module-name> /packages/ < route-name> /src retém todo o código original da IBM Não modifique esta Pasta. Esta pasta é sobrescrita com novas instalações ou atualizações Em vez disso, copie a estrutura de pastas , e os arquivos que você precisa modificar. Em seguida, cole na pasta src-custom O diretório src contém as seguintes pastas e arquivos filhos importantes que você pode precisar copiar.
Aplicativo
Inclui os componentes de página (.html, .ts), módulos e definições de serviços.
ambientes
Inclui configurações de ambiente que determinam quais ativos usar em um ambiente específico Não modifique esta Pasta. Em vez disso, copie essa pasta para src-custom e, em seguida, modifique conforme necessário..
app/features/*. module.ts
A definição do módulo de roteamento do aplicativo de página para todas as rotas neste aplicativo Por padrão, a IBM define uma rota para permitir a customização granular sem assumir a propriedade de todas as outras rotas dentro do módulo pai No entanto, é possível introduzir rotas customizadas conforme necessário em seu arquivo src-custom/app/features/ext-NNNmodule.ts .
Em seus arquivos module.ts customizados, inclua pontos de injeção para definir serviços customizados dentro do objeto de provedores. Hub de Pedido fornece dois Tokens de Injeção 'CUSTOM_ACTIONS' e 'CUSTOM_FEATURE_ACTIONS' para substituir ações existentes ou para fornecer ações customizadas.

O valor para o token de injeção é uma matriz em que cada elemento é um objeto contendo duas propriedades:

  • name-o nome da ação..
  • action-O serviço que manipula ou implementa a ação

É necessário definir o ponto de Injeção no arquivo ext-NNN.module.ts para assegurar que o serviço injetado na ação tenha todos os pacotes configuráveis carregados pelo módulo de recurso.

Entendendo e preenchendo a pasta 'src-custom'

A pasta < order_hub_code_directory> / < module-name> /packages/ < route-name> /src-custom está inicialmente vazia É necessário preencher a pasta com o código customizado Para customizar o código existente, copie as pastas e os arquivos necessários para src-custome, em seguida, edite conforme necessário Na maioria dos casos, é necessário copiar os seguintes arquivos e pastas para a pasta src-custom :
  • Os recursos no Order Hub são organizados no diretório src/app/features . Copie a pasta features que deseja customizar e cole na pasta src-custom . Edite conforme necessário.. Por exemplo, se desejar customizar o recurso search a partir da rota inventory-search-results, será necessário copiar a pasta search correspondente de src para src-custom. Assegure-se de seguir a mesma hierarquia de pastas no src.
    Captura de tela da estrutura de pasta após copiar recursos de src para src-custom
  • Os ativos predefinidos que são compartilhados entre rotas são organizados no diretório < module_short_name> -shared/assets . Copie a pasta < module_short_name> -shared/assets/ < module-name> para a pasta src-custom/assets para que suas customizações possam acessar os ativos predefinidos (como texto de rótulo). Por exemplo, se você estiver customizando o módulo buc-app-inventory , copie a pasta inventory-shared/assets/buc-app-inventory para src-custom/assets
    Captura de tela da estrutura de pastas após copiar ativos em src-custom
  • Se você precisar editar ou incluir ativos, crie uma pasta src-custom/assets/custom É possível editar ou incluir os arquivos de tradução customizados necessários, arquivos scss e arquivos de configuração JSON, conforme necessário.
    Captura de tela da estrutura de pastas após copiar ativos em src-custom/assets/custom
  • Ao implementar customizações, seu código de customização funciona em paralelo com o código Order Hub . Mas você também deseja assegurar que as atualizações futuras da IBM não entrem em conflito e substituam suas customizações. Portanto, copie a pasta src/Environments na pasta src-custom . Em cada arquivo src-custom/environments/* .ts , inclua o código a seguir para indicar ao Order Hub que você customizou essa rota. Ao configurar como true, você não obtém automaticamente atualizações para esta rota, o que assegura que suas customizações não sejam sobrescritas.. Para obter novas atualizações, é necessário ressincronizar suas mudanças de customização para a liberação de código mais recente
    environment.customization = true;
    Nota: se você estiver usando exclusivamente a técnica de customização por configuração em que está apenas atualizando os arquivos de configuração JSON (buc-table-config.json, buc-field-details.json, search_fields.json, então não será necessário mudar os arquivos de ambiente..

Entendendo a pasta 'src-merge'

A pasta < order_hub_code_directory> / < module-name> /packages/ < route-name> /src-merge é gerada mesclando o código das pastas src e src-custom durante a compilação de códigos. Uma compilação ocorre sempre que você salva mudanças de código em sua máquina. Não modifique o código na pasta src-merge . Em vez disso, atualize a pasta src-custom , conforme necessário

Entendendo e modificando o arquivo angular.json

Existe um arquivo angular.json na raiz de cada módulo Cada rota no arquivo inclui uma matriz mesclada> ativos que define quais ativos usar ao executar o aplicativo. Se você tiver ativos customizados em src-custom/assets/custom, então, para cada rota que estiver customizando, atualize a rota para usar seus ativos mesclados customizados em vez dos ativos compartilhados:
  • No arquivo angular.json , localize o projects > [route-name] > architect > build > configurações > mesclado > assets matriz.
  • Substitua o conteúdo padrão pelo seguinte código para apontar para os ativos mesclados. Substitua < route-name> e < module-name>, conforme necessário
                "assets": [
                  {
                    "glob": "**",
                    "input": "packages/<route-name>/src-merged/assets",
                    "output": "assets"
                  },
                  {
                    "glob": "*.json",
                    "input": "packages/<route-name>/src-merged/assets/<module-name>",
                    "output": "assets/<route-name>"
                  },
                  {
                    "glob": "**",
                    "input": "node_modules/@buc/svc-angular/assets",
                    "output": "assets"
                  },
                  {
                    "glob": "**",
                    "input": "node_modules/@buc/common-components/assets",
                    "output": "assets"
                  }
                ],
  • Além disso, substitua o conteúdo na matriz projects > [route-name] > architect > build > configurações > merge-prod > assets .