Sincronización de kbases
Esta extensión esta pensada para sincronizar dos kbases distintas que son versiones
de la misma aplicación, si no se usa el GxServer.
Por ejemplo, si para la versión 1.0 de una aplicación se tiene una kbase, y para la
versión 2.0 de la misma aplicación se tiene otra kbase distinta, si se arregla un
error en la versión 1.0 de la aplicación, se va a tener que hacer un export en dicha
kbase, y un import en la kbase de la versión 2.0, teniendo cuidado de no pisar posibles
cambios hechos en la versión 2.0.
Esta extensión revisa, para una lista de objetos en la kbase origen:
-
Qué objetos han sido modificados en la kbase de origen y no han sido modificados
en la kbase de destino, y por tanto son directamente exportables a la kbase de destino.
-
Qué objetos no han sido modificados en la kbase de origen, y por tanto no es
necesario exportarlos.
-
Qué objetos han sido modificados en la kbase de origen y destino, informando,
para cada objeto, de qué cambios hechos en la kbase de origen deberían pasarse
a mano a la kbase de destino.
Cuando se quiere exportar una lista de de objetos, el proceso es el siguiente:
1. Exportar información sobre los objetos
Hacer esto en la kbase origen:
-
En la ventana Work with objects (Ctrl + j), seleccionar los objetos que
se quieren exportar, por ejemplo los modificados desde una fecha.
-
Seleccionar la opción de menú Lsi.Extensions > KB Sync > Export
selected objects versioning info....
Esto generará un archivo XML con información de los objetos seleccionados y su historial
de versiones. También abrirá la ventana de revisión de qué objetos son exportables.
2. Revisar objetos en la kbase de destino
Hacer esto en la kbase de destino:
-
Seleccionar la opción de menú Lsi.Extensions > KB Sync > Review objects
versioning info on destination KB...
-
Seleccionar el archivo generado en el punto anterior.
Esto revisará los objetos seleccionados en la kbase de destino, viendo si son exportables
o no, y actualizará el archivo XML con esta información.
3. Ver resultados, hacer exportación y pasar cambios a mano
En la kbase de origen, en la ventana de revisión:
-
Pulsar el botón "Reload file"
-
Seleccionando View objects = Exportable, se verán los objetos que son directamente
exportables. Para hacer la exportación, seleccionar todos los objetos de la lista,
pulsar el botón derecho del ratón sobre la selección y en el menú contextual seleccionar
"Export".
Hay que tener en cuenta que cuando se haga la exportación, no se deben
incluir objetos referenciados por los exportados. Para indicar esto hay que ir a
Knowledge Manager > Export > Options > propiedad "References type" = "None".
-
Seleccionando View objects = Not exportable, se verán los objetos modificados en
la kbase de origen y destino. Para ver los cambios que hay que pasar a mano de un
objeto, seleccionarlo en la lista y pulsar el botón "Show changes to do".
La ventana de revisión de resultados
La ventana de revisión de resultados se abre automáticamente al ejecutar la opción de
menú Export selected objects versioning info..., pero se puede abrir en cualquier
momento desde el menú Lsi.Extensions > KB Sync > Check exportable objects:
Versioning info file |
El archivo XML con la información de los objetos a exportar que se está
revisando actualmente
|
Botón "..." |
Abre la selección del archivo XML de sincronización a revisar.
|
Botón "Reload file" |
Recarga la información del archivo XML actualmente seleccionado
|
Destination kb |
Indica la kbase de destino donde se han revisado los objetos a exportar.
|
View objects |
Indica que objetos mostrar en la lista:
-
Exportable: Los objetos que han sido modificados en la
kbase de origen y no han sido modifiados en la kbase de estino, y que
por tanto son directamente exportables.
-
Not exportable: Los objetos que han sido modificados en la
kbase de origen y en la de destino, y que no se pueden exportar
directamente. Los cambios de estos objetos deben pasarse manualmente.
-
Unmodified on source KB: Objetos que no han sido modificados en
la kbase de origen, y que no necesitan ser exportados. Hay que tener en
cuenta que si un objeto ha sido modificado en la kbase de destino,
pero no en la de origen, también aparecerá en esta lista.
|
Botón "Show changes to do" |
En caso que un objeto haya sido modificado en la kbase de origen, este botón
abre la ventana de comparación de versiones del objeto, mostrando los cambios
que se han hecho en la kbase de origen respecto a la de destino. Este botón es
útil cuando se revisan los objetos no exportables directamente, ya que estos son
los cambios que hay que hacer a mano en la kbase de destino.
|
Lista de objetos |
Esta lista muestra información de los objetos del tipo seleccionado en el campo
View objects, con dos columnas extra:
-
Revision: Esta columna indica el numero de versión del objeto
a partir de la cual se empezó a modificar el objeto en la kbase de origen.
Un valor cero indica que el objeto no existe en la kbase de destino, o
que no se ha encontrado una version comun del objeto en las dos kbases.
-
Comments: Muestra información del estado de modificación del objeto
|
Limitaciones
-
Si un objeto ha sido borrado en la kbase de destino, aparecerá como directamente
exportable, cuando no deberia exportarse.
-
Cuando se exporta al archivo XML información sobre las versiones de un objeto,
en número máximo de versiones del objeto que se guardan son 70. Si en la kbase de
origen se hubieran hecho más de 70 modificaciones respecto a la ultima modificación
en la kbase de destino, la extensión reportará
incorrectamente el numero de version a partir del cual ha sido modificado el objeto,
indicando un cero.