Proceso de Migración de Ontimize Web 15.x.x a la versión 15.6.0

Este proceso cubre exclusivamente los cambios incompatibles (breaking changes) introducidos en la versión 15.6.0 de Ontimize Web. Úsalo para asegurar una migración completa y segura.

Importante: Al migrar a ontimize-web-ngx@15.6.0, los siguientes addons oficiales también deben actualizarse para mantener la compatibilidad:

  • ontimize-web-ngx-chart@15.1.0
  • ontimize-web-ngx-report@15.2.0
  • ontimize-web-ngx-filemanager@15.1.0

1. Cambio de tipo en servicesConfiguration en app.config.ts

  • Cambiar la declaración de:
  servicesConfiguration?: Object;

a:

  servicesConfiguration?: OntimizeServiceConfig | JSONAPIServiceConfig;
  • Importar OntimizeServiceConfig o JSONAPIServiceConfig desde ontimize-web-ngx.
  • Incluir el tipo de servicio explícitamente si es necesario:

2. Reemplazo de OntimizeBaseService

  • Buscar todas las clases que extienden OntimizeBaseService y reemplazarlas por uno de los siguientes servicios, según el caso:
    • OntimizeService (uso estándar)
    • OntimizeEEService (para Enterprise Edition)
    • JSONApiService (para backends JSON:API)
  • Verificar que el constructor use super(injector).

3. Cambio en el método getQueryArguments

  • Actualizar la firma en llamadas al método:

    • ovrrArgs ahora es de tipo OQueryDataArgs.
    • El método ahora devuelve un OQueryParams, no un any[].
  • Antes:

getQueryArguments(filter: object, ovrrArgs?: any): any[]
  • Después:
getQueryArguments(filter: object, ovrrArgs?: OQueryDataArgs): OQueryParams

4. Cambio de nombre OntimizeQueryArgumentsAdapter

  • Renombrar OntimizeQueryArgumentsAdapter por OntimizeRequestArgumentsAdapter

5. Cambio de interfaz en adaptadores de respuesta

  • Buscar clases que implementan ServiceResponseAdapter<T>.
    • Reemplazar por IServiceResponseAdapter<T>.
    • Verificar que implementen el método adaptResponse() correctamente.
  • Antes:
export class MyAdapter implements ServiceResponseAdapter<BaseServiceResponse> {
  adaptResponse(resp: any): BaseServiceResponse { ... }
}
  • Después:
export class MyAdapter implements IServiceResponseAdapter<BaseServiceResponse> {
  adaptResponse(resp: any): BaseServiceResponse { ... }
}