Adición de nuevas rutas a aplicaciones existentes

Puede personalizar las aplicaciones añadiendo nuevas rutas a las aplicaciones. Utilice el mandato schematics para crear los paquetes para cada ruta y actualizar los archivos dentro de la aplicación.

Procedimiento

  1. Abra un terminal y vaya al directorio de código Order Hub .
    • Para los clientes de nube, la ubicación predeterminada es devtoolkit_docker/orderhub-code.
  2. Vaya al módulo que desea personalizar. Por ejemplo, si desea actualizar el módulo de pedido, vaya a la carpeta buc-app-order . Por ejemplo:
    cd devtoolkit_docker/orderhub-code/buc-app-order
  3. Abra el app-config.json que está en el módulo que desea personalizar y añada las nuevas rutas que desea incluir en la aplicación.
  4. Ejecute el siguiente mandato de schematics. Este mandato crea los paquetes para cada ruta nueva y actualiza los archivos necesarios dentro de la aplicación.
    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
    El esquema da soporte a las opciones siguientes.
    --app--config-json
    Esta opción es obligatoria. Utilice el archivo app-config.json existente en el módulo que desea personalizar.
    --module-short-name
    El nombre abreviado del módulo. Si el nombre del módulo tiene guiones, el nombre abreviado es el texto después del último guión. Por ejemplo, si el nombre del módulo es buc-app-settings, el nombre abreviado del módulo es settings.
    --prefix
    El selector HTML que se utilizará para los componentes generados. El valor predeterminado es buc.
    --is-custom-app
    Indica si el repositorio actual es o no una aplicación personalizada. Utilice true para indicar que el repositorio actual es una aplicación personalizada o utilice false para una aplicación Order Hub existente. El valor predeterminado es false.
    Por ejemplo:
    ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name order --prefix buc
  5. Pruebe las rutas personalizadas localmente abriendo el archivo overrides.json en el módulo y modificando el objeto para que la nueva ruta sea "use Prod":false.
    Por ejemplo:
        "custom-route": {
          "useProd": false
        }
  6. Si es necesario, cree un menú nuevo. Para obtener más información, consulte Prueba de nuevas aplicaciones o rutas en Order Hub.
  7. Para ver los cambios en el servidor local, ejecute yarn start-app.
  8. Cree el archivo features.json .
    1. Inicie sesión en Order Hub.
    2. Cambie al arrendatario de personalización donde ha probado las personalizaciones.
    3. Vaya a Valores > Personalización.
    4. Seleccione el elemento personalizado que inicia la ruta.
    5. Si desea desplegar personalizaciones en el arrendatario de personalización donde ha probado las personalizaciones, asegúrese de seleccionar Alojado por IBM y borrar Entorno de desarrollo local. De lo contrario, el arrendatario continuará conectándose al servidor local.
    6. En el campo URL relativa, añada la ruta relativa a su ruta /<nombre-módulo>/<nombre-ruta>. Empiece con una barra oblicua (/). No es necesario que incluya una barra al final. Por ejemplo, /buc-app-order/create-order.
    7. Guarde todos los cambios.
    8. Copie el JSON del campo Feature json en la interfaz de usuario. Pegue o fusione el JSON como un elemento de matriz en el archivo features.json que está en el directorio raíz del módulo. El JSON de la interfaz de usuario se parece al ejemplo siguiente.
      {
          "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"
        }
      En función del contenido de features.json, es posible que tenga que rodear el código con corchetes [] para añadirlo como elemento de matriz.
    9. Para el despliegue, cambie el enlace para que tenga la vía de acceso absoluta como en el ejemplo siguiente.
      "link": https://static.omsbusinessusercontrols.ibm.com/buc-app-order/custom-route/order/home
  9. Abra el archivo <order_hub_code_directory>/<module-name>/package-customization.json . En el objeto de rutas, añada cada ruta en el módulo que está personalizado.
    Por ejemplo:
    {
      "repositoryName": "buc-app-order",
      "customizationContextRoot": "/order-management-customization",
      "routes": {
        "custom-route": {
          "type": "code",
          "custom": true
        }
      }
    }
    
  10. Abra el archivo ../<module-name>/packages/<route-name>/package.json para cada nueva ruta personalizada. Añada un script "build-merge" "build-merged-<environment>": "yarn build --deploy-url=<customizationfolder>/<module-name>/<route-name>/". Por ejemplo:
    "build-merged-dev": "yarn build --deploy-url=/buc-app-customization/T3R4fagafd45aadfaffasf/buc-app-order/custom-route/"

Qué hacer a continuación

Continúe desplegando las rutas personalizadas.

Para obtener más información, consulte Despliegue de nuevas aplicaciones.