﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
992	Mantenimiento de las opciones de usuario	Víctor de Buen Remiro	Víctor de Buen Remiro	"El {{{NameBlock TolConfigManager}}} contiene todos los parámetros de configuración de usuario de TOL y TOLBase, los cuales se definen por defecto en un {{{NameBlock TolConfigManager::Default}}} con estrutura jerárquica, mientras que los valores asignados por el usuario se cargan en {{{TolConfigManager::Config}}}, el cual se guarda de una sesión para otra en un archivo .tol en el directorio personal del usuario destinado a TOL:

{{{
  TolAppDataPath + .tolConfig.vX.Y.Z.tol
}}}

El problema es que en ulteriores releases de TOL pueden aparecer nuevos parámetros o incluso secciones para configurar nuevas capacidades de TOL.

Tal y como está montado ahora mismo el sistema no reconocerá los nuevos parámetros, pues estas nuevas capacidades aparecerán en el nuevo {{{NameBlock TolConfigManager::Default}}} pero no en el {{{TolConfigManager::Config}}} que corresponderá a la antigua estructura jerárquica de opciones y que es realmente el panel de opciones que se tiene en cuenta.

Es preciso por lo tanto llevar a cabo un proceso de mezclado que incorpore los nuevos parámetros de configuración {{{NameBlock TolConfigManager::Default}}} y respete los valores preexistentes en {{{TolConfigManager::Config}}}

Como la estructura de la configuración es jerárquica debe recorrerse de forma recursiva entrando en los elementos de tipo {{{NameBlock}}} y tomando los elementos viejos de {{{TolConfigManager::Config}}} y los nuevos de {{{TolConfigManager::Default}}}

Lo que sí habrá que asegurar al modificar la configuración es que sólo se puede añadir nuevos elementos, nunca quitar, renombrar ni reordenar los ya existentes, pues eso ya sería imposible de compatibilizar hacia atrás.
"	defect	closed	highest	Mantainance	User config	2.0.1	blocker	fixed		Pedro Gea
