Hot Fix Management
From KnowledgeTree Document Management Made Simple
Contents |
Introduction
Currently, the deployment of upgrades is reliant on a manual download of code. In order to deploy hot fixes more easily to clients, a hot fix utility can be implemented as part of the KnowledgeTree installation.
Status
This is still a Draft Specification.
Architecture
This solution will require a component on the KnowledgeTree.com system where hot fixes will be made available for download.
A plugin will be required to be part of the KnowledgeTree source distribution / stack install.
Components
KnowledgeTree.com Infrastructure
The KnowledgeTree.com system will manage a database of upgrades and the versions of KnowledgeTree they apply to.
The system will provide a web service with the following functions:
- get_available_hotfixes($version, $options)
This will return a list of hot fixes available based on the version of KnowledgeTree.
- get_available_upgrades($version, $options)
This will return a list of upgrades that are available based on the version of KnowledgeTree. This would include the latest of Open Source UNSTABLE, STABLE and Commercial that are applicable to the current installation.
- get_latest_certificate($version)
This will return the latest certificate used to validate the source of the hot fixes.
KnowledgeTree HotFix Plugin
The HotFix plugin will be comprised of a dashlet to display notifications. Notifications will only be available to the system administrator. The system will download the hot fixes automatically.
Security
In order to ensure that hot fixes originate from a trusted source and have not been tampered with, the system must implement the use of certifcates and digital signatures.
Certificates
KnowledgeTree.com will host the KnowledgeTree.com Certificate Authority (CA). KnowledgeTree.com will host a Hotfix private key and certificate. The Hotfix certificate will be distributed with the HotFix plugin and will be used to vertify hot fix downloads prior to installation.
Database
KnowledgeTree.com Hotfix Database
This database will maintain a list of upgrades that are available.
- versions(id int, version varchar(100))
- hotfix(id int, description varchar(100), filename varchar(100), signature varchar)
- hotfix_versions(hotfix_id int, version_id int)
KnowledgeTree Distribution Database
The KnowledgeTree distribution needs to maintain a list of hotfixes that have been downloaded and applied:
- hotfix(id int, description varchar(100), filename varchar(100), signature varchar, statusid tinyint, version varchar(20))
statusid would be one of (1 = downloaded, 2 = pending, 3 = signature mismatch, 0 = applied)
del.icio.us
reddit

