#992 closed defect (fixed)
Mantenimiento de las opciones de usuario
Reported by: | Víctor de Buen Remiro | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | highest | Milestone: | Mantainance |
Component: | User config | Version: | 2.0.1 |
Severity: | blocker | Keywords: | |
Cc: | Pedro Gea |
Description
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.
Change History (14)
comment:1 Changed 14 years ago by
Status: | new → accepted |
---|
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:3 Changed 14 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Cuando aparece una nueva opción de configuración se hace la mezcla correctamente pero si no se salva volverá aparecer en sucesivas sesiones, por lo que habría que mostrar un mensaje que lo explicara correctamente, al menos mientras no hay interfaz de usuario.
comment:4 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:5 Changed 14 years ago by
Ahora se obtiene un mensaje parecido a éste
Warning: [1] [MergeOptions] New configuration option Real TolConfigManager::Config::Default::Various::View::PrivateMembers=0; You can use this default value or change it running Real TolConfigManager::Config::Default::Various::View::PrivateMembers:= Copy(<new_value>); Then you must run this line to avoid this messages at future Real TolConfigManager::Save(?);
comment:6 Changed 14 years ago by
comment:7 follow-up: 8 Changed 14 years ago by
Cc: | Pedro Gea added |
---|
Cuando se manejan varias versiones de TOL en una misma máquina las versiones viejas pueden sobreescribir el archivo de configuración haciendo que se pierdan las nuevas características y que el mensaje de warning resulte impertinente.
El problema está arreglado en el SVN pero evidentemente no es posible cambiar el comportamiento de las versiones ya instaladas desde el sistema de distribución de TOL.
Para ello, aquellos usuarios a los que pueda resultar molesta esta situación pueden parchear sus versiones antiguas copiando el nuevo archivo
https://www.tol-project.org/export/HEAD/tolp/trunk/tol/stdlib/TolConfigManager/methods.tol
en la carpeta bin/stdlib/TolConfigManager de cada directorio de instalación.
comment:8 Changed 14 years ago by
Aunque no es previsible que hay ningún problema se aconseja guardar una copia del bin/stdlib/TolConfigManager/methods.tol antiguo por seguridad.
comment:9 Changed 14 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Los parámetros de configuración no se aplican cuando arranca TOL.
comment:10 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
(In [2580]) Fixes #992