Descripción de carpetas y archivos importantes

Obtenga información sobre la estructura de carpetas de código fuente para encontrar los componentes que necesita personalizar, dónde guardar las personalizaciones y la finalidad de algunos archivos. Estas carpetas y archivos son importantes si está personalizando aplicaciones existentes.

Directorio de código de Order Hub

El código fuente de Order Hub está disponible en la siguiente ubicación:
  • La ubicación predeterminada es devtoolkit_docker/orderhub-code.

Después de haber identificado la ubicación del código fuente de Order Hub en el entorno, esta ubicación se indica mediante < directorio_código_hub_order>.

Descripción de los distintos módulos

Las carpetas < directorio_código_hub_orden>/< nombre-módulo> incluyen código para distintos elementos de menú y las páginas del menú.
configuraciones-app-buc
Incluye código para el menú Configuraciones . El menú Configuración está disponible si está suscrito a Sterling™ Intelligent Promising.
excepción-buc-app
Incluye código para el menú Excepciones .
buc-app-cumplimiento
Incluye código para el menú Cumplimiento .
inventario-de-aplicaciones-buc
Incluye código para el menú Inventario .
nodo-app-buc
Incluye código para el menú Nodos y capacidad .
buc-app-pedido
Incluye código para los menús Pedidos y Envíos .
buc-app-configuración
Incluye código para algunos elementos en el menú Configuración (Valores de visualización, Roles de usuario, Grupos de distribución, Personalizaciones).
espacio-trabajo-app-buc
Incluye código para los menús Inicio, Espacios de trabajo, Alertasy Reglas de alerta .

Descripción de la carpeta 'packages'

El directorio < directorio_código_hub_order>/< nombre-módulo> /packages contiene todo el código que representa las páginas y acciones para un módulo determinado.

El directorio packages contiene las siguientes carpetas hijo importantes:
< nombre-dirección>
Las rutas que se incluyen en el módulo. Por ejemplo, la ruta < directorio_código_hub_order> /buc-app-order/packages/create-order se correlaciona con la página Crear pedido en la interfaz de usuario.
< nombre-dirección> /node_modules
Incluye dependencias externas para la ruta. No modifique esta carpeta.
< nombre-dirección> /src
Incluye el código original de IBM. No modifique esta carpeta. Esta carpeta se sobrescribe con nuevas instalaciones o actualizaciones de IBM.
< nombre-dirección> /src-custom
Añada el código personalizado en esta carpeta. Copie la estructura de carpetas y los archivos que necesita modificar de la carpeta src en esta carpeta src-custom .
< nombre-dirección> /src-fusionado
Incluye código compilado que se ejecuta en la aplicación. No modifique esta carpeta. El proceso de compilación fusiona las carpetas src y src-custom en src-fusionada.
<nombre_corto_del_módulo>-compartido/activos
Incluye activos que se comparten entre todas las rutas del módulo, como por ejemplo:
  • Archivos de traducción (por ejemplo, en.json para series en inglés y fr.json para series en francés)
  • Archivos de estilo (por ejemplo, main.scss)
  • Imágenes
  • Archivos JSON para la personalización por configuración (por ejemplo, buc-field-details.json, buc-table-config.json)
Si desea añadir series personalizadas o actualizar componentes existentes utilizando la técnica de personalización por configuración, debe copiar esta carpeta de activos compartidos en la carpeta src-custom . Para obtener más información, consulte Comprensión y llenado de la carpeta 'src-custom'.

Descripción de la carpeta 'src'

El directorio < directorio_código_hub_order>/< nombre-módulo> /packages/ < nombre-ruta> /src contiene todo el código original de IBM. No modifique esta carpeta. Esta carpeta se sobrescribe con nuevas instalaciones o actualizaciones. En su lugar, copie la estructura de carpetas y los archivos que necesita modificar. A continuación, péguelo en la carpeta src-custom . El directorio src contiene los siguientes archivos y carpetas hijo importantes que es posible que tenga que copiar.
apl
Incluye componentes de página (.html, .ts), módulos y definiciones de servicio.
entornos
Incluye configuraciones de entorno que determinan qué activos se deben utilizar en un entorno específico. No modifique esta carpeta. En su lugar, copie esta carpeta en src-custom y, a continuación, modifíquela según sea necesario.
app/features/*. module.ts
La definición de módulo de direccionamiento de aplicación de página para todas las rutas de esta aplicación. De forma predeterminada, IBM define una ruta para permitir la personalización granular sin tomar la propiedad de todas las demás rutas dentro del módulo padre. Sin embargo, puede introducir rutas personalizadas según sea necesario en el archivo src-custom/app/features/ext-NNNmodule.ts .
En los archivos module.ts personalizados, añada puntos de inyección para definir servicios personalizados en el objeto de proveedores. Order Hub proporciona dos señales de inyección, 'CUSTOM_ACTIONS' y 'CUSTOM_FEATURE_ACTIONS' para alterar temporalmente las acciones existentes o para proporcionar acciones personalizadas.

El valor de la señal de inyección es una matriz donde cada elemento es un objeto que contiene dos propiedades:

  • name-El nombre de la acción.
  • action-El servicio que maneja o implementa la acción.

Debe definir el punto de inyección en el archivo ext-NNN.module.ts para asegurarse de que el servicio que se inyecta en la acción tiene todos los paquetes cargados por el módulo de característica.

Descripción y llenado de la carpeta 'src-custom'

La carpeta < directorio_código_hub_order>/< nombre-módulo> /packages/ < nombre-ruta> /src-custom está inicialmente vacía. Debe rellenar la carpeta con código personalizado. Para personalizar el código existente, copie las carpetas y archivos necesarios en src-customy, a continuación, edite según sea necesario. En la mayoría de los casos, debe copiar los archivos y carpetas siguientes en la carpeta src-custom :
  • Las características de Order Hub se organizan en el directorio src/app/features . Copie la carpeta features que desea personalizar y pegue en la carpeta src-custom . Edite según sea necesario. Por ejemplo, si desea personalizar la característica search de la ruta inventory-search-results, debe copiar la carpeta search correspondiente de src a src-custom. Asegúrese de que sigue la misma jerarquía de carpetas que en src.
    Captura de pantalla de la estructura de carpetas después de copiar características de src a src-custom
  • Los activos predefinidos que se comparten entre rutas se organizan en el directorio < nombre_abreviado_módulo> -shared/assets . Copie la carpeta < module_short_name> -shared/assets/ < module-name> en la carpeta src-custom/assets para que las personalizaciones puedan acceder a los activos predefinidos (como el texto de etiqueta). Por ejemplo, si está personalizando el módulo buc-app-inventory , copie la carpeta inventory-shared/assets/buc-app-inventory en src-custom/assets.
    Captura de pantalla de la estructura de carpetas después de copiar activos en src-custom
  • Si necesita editar o añadir activos, cree una carpeta src-custom/assets/custom . Puede editar o añadir los archivos de traducción personalizados necesarios, los archivos scss y los archivos de configuración JSON según sea necesario.
    Captura de pantalla de la estructura de carpetas después de copiar activos en src-custom/assets/custom
  • Al desplegar personalizaciones, el código de personalización funciona en paralelo con el código de Order Hub . Sin embargo, también desea asegurarse de que las futuras actualizaciones de IBM no entren en conflicto y alteren temporalmente las personalizaciones. Por lo tanto, copie la carpeta src/environments en la carpeta src-custom . En cada archivo src-custom/environments/* .ts , añada el código siguiente para indicar a Order Hub que ha personalizado esta ruta. Cuando se establece en true, no obtiene automáticamente actualizaciones para esta ruta, lo que garantiza que las personalizaciones no se sobrescriban. Para obtener nuevas actualizaciones, debe volver a sincronizar los cambios de personalización con el release de código más reciente.
    environment.customization = true;
    Nota: Si utiliza únicamente la técnica de personalización por configuración donde solo está actualizando los archivos de configuración JSON (buc-table-config.json, buc-field-details.json, search_fields.json, no es necesario que cambie los archivos de entorno.

Descripción de la carpeta 'src-fusionada'

La carpeta < order_hub_code_directory>/< module-name> /packages/ < route-name> /src-fusionada se genera fusionando el código de las carpetas src y src-custom durante la compilación de código. Se produce una compilación cada vez que guarda cambios de código en la máquina. No modifique el código en la carpeta src-fusionada . En su lugar, actualice la carpeta src-custom según sea necesario.

Comprensión y modificación del archivo angular.json

Existe un archivo angular.json en la raíz de cada módulo. Cada ruta del archivo incluye una matriz fusionada > activos que define qué activos utilizar al ejecutar la aplicación. Si tiene activos personalizados en src-custom/assets/custom, para cada ruta que está personalizando, actualice la ruta para utilizar los activos fusionados personalizados en lugar de los activos compartidos:
  • En el archivo angular.json , busque los proyectos > [nombre-ruta] > arquitecto > compilación > configuraciones > fusionados > activos matriz.
  • Sustituya el contenido predeterminado por el código siguiente para que apunte a los activos fusionados. Sustituya < route-name> y < module-name> según sea necesario.
                "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"
                  }
                ],
  • Sustituya también el contenido de los proyectos > [nombre-ruta] > arquitecto > build > configuraciones > prod-fusionado > activos matriz.