This document applies to K2BTools version 13.0 and up. It describes the theme update process used when a new version is installed. It is intended to be used by developers that are upgrading to newer K2BTools versions.
If a copy of a theme needs to be updated please see Updating a copy of a K2BTools theme.
K2BTools installs a theme object in all knowledge bases it is applied to. The developer usually changes the theme. When a new K2BTools version is installed a new version of the theme object needs to be installed too. The problem is how to install it without losing all developer changes.
To avoid overwriting (and losing) developer customizations, K2BTools uses a "merge" aproach.
At K2BTools labs we keep track of changes we make to a theme. A file has all changes made to a theme from one version to the next one. The concept is that, instead of overwriting a theme, the upgrade process applies all the changes we made to the theme, one at a time, version after version.
Changes are kept at the theme class property level. In other words, conflicts can only happen if a developer changes the same property of the same class as K2BTools team do.
The major benefit of the approach is that developer customizations are not overwritten unless they conflict with changes made by K2BTools team. A conflict log is generated (output window) that should be used to identify and change back, if required, the changes.