Plugin Version Management for Zero-Downtime Website Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deploying new versions of custom software plugins on websites accessed by many users poses challenges, including the need to lock users out during upgrades, administrative authorization issues, and difficulties in reverting to previous versions without taking the website down, especially due to environmental differences between testing and production environments.
Innovation Solution
Implementing a method that allows multiple versions of the same software plugin to be active simultaneously on a website, with designated administrative users controlling which versions are deployed to different user groups, enabling seamless upgrades and rollbacks while keeping the website accessible.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If new version of software plugin is deployed to production environment, then plugin functionality is updated, but website must be taken down for upgrade
Solution Approach 1:
The patent segments the plugin version management by introducing separate storage locations for different plugin versions (first version and second version stored separately) and separate activation mechanisms (first activation flag and second activation flag). This allows the system to switch between versions without taking the website down, as each version can be independently activated or deactivated without affecting the other.
Solution Approach 2:
The patent implements dynamic version switching through the activation flags stored in the database. The system can dynamically change which version is active (first version or second version) based on the activation status, allowing seamless transitions between versions while the website remains operational. This dynamic mechanism enables updates without service interruption.
2Ease of manufacture
If website is taken down for plugin upgrade, then new version can be installed, but users cannot access website during upgrade
Solution Approach 1:
The patent implements preliminary action by storing the new plugin version and its activation flag in the database before actually activating it. The system prepares the second version and its activation status in advance, then only switches activation flags when ready. This allows the upgrade process to be prepared beforehand without requiring website downtime for the actual installation or switching.
Solution Approach 2:
The patent uses copying by creating separate storage entries for different plugin versions (first version and second version as separate copies) and separate activation flags. This copying mechanism allows the new version to be prepared and stored independently, then activated without overwriting or taking down the website, enabling seamless version transitions.
3Speed
If plugin version is switched immediately, then update is fast, but environmental differences may cause bugs
Solution Approach 1:
The patent segments the deployment process into distinct phases: storing the new version separately, activating it through a flag, and switching between versions. This segmentation allows for controlled deployment where the new version can be prepared and tested independently before activation, providing a mechanism to manage compatibility issues while maintaining fast deployment capability through the flag-based switching mechanism.
Solution Approach 2:
The patent implements feedback mechanisms through the activation flag system that can be monitored and controlled. The system allows for tracking which version is active and can provide feedback loops for monitoring plugin performance and compatibility. This feedback capability enables rapid detection of issues and controlled rollbacks if environmental differences cause problems.
4Ease of repair
If multiple versions are stored simultaneously, then rollback is possible, but storage space is consumed
Solution Approach 1:
The patent segments the storage approach by maintaining separate, structured entries for each version (first version and second version as distinct segments) with corresponding activation flags. This segmentation allows for efficient storage organization and enables rollback capability by simply changing the activation flag, without requiring complex storage management or excessive space consumption.
Solution Approach 2:
The patent uses parameter changes by storing version information with activation status parameters (first activation flag and second activation flag). Instead of storing all possible version data permanently, the system changes the activation parameter to switch between versions. This parameter-based approach enables rollback functionality while optimizing storage space by only actively maintaining necessary version information.
Data Source
AI summary
The method manages customization upgrades to a production website while keeping it accessible. The website currently utilizes a first version of a software plugin. A user requests copying a second version of the plugin from another website to production, which is then authorized. Copying the plugin makes both versions simultaneously operational for distinct groups of users. Users request a webpage that utilizes the plugin, and receive the webpage customized by the first or second version of the plugin depending on whether they are preview-mode users. A request to designate the second version of the plugin as the live version is submitted, and authorization to implement the request is received. After designating the second version of the plugin as the live version, all subsequent requests for the webpage result in receiving the webpage customized by the second version of the plugin regardless of whether the users are designated as preview-mode users.


