Extension Points for Web Application Plugin Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise customizations to remote network management platform interfaces and components are often overwritten or refactored during platform upgrades, leading to difficulties in maintaining custom operations and security, especially when upgrades address security issues.
Innovation Solution
Implementing a flexible mechanism with extension points in the platform code to support user-defined plugins, allowing enterprises to define and store plugins separately, ensuring they are not overwritten during upgrades, and enabling invocation of these plugins during operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If enterprises modify or build upon platform-provided interfaces and components to suit their needs, then customization capability is improved, but platform upgrade compatibility deteriorates
Solution Approach 1:
The system segments the platform into core platform components and customizable extension components. Extensions are separated from the core platform code, allowing them to be independently managed, stored in a database, and invoked through extension points without being overwritten during platform upgrades.
Solution Approach 2:
Extension points act as intermediaries between the core platform and custom extensions. The platform code contains placeholders (extension points) that invoke external extension scripts, allowing custom functionality to be integrated without modifying or overwriting the core platform code during upgrades.
2Reliability
If enterprises undertake effort to make customizations work properly on upgraded platforms, then customization functionality is maintained, but maintenance complexity increases
Solution Approach 1:
The system enables self-upgrading of customizations through the extension mechanism. Since extensions are stored separately in a database and invoked through extension points rather than being hard-coded, they automatically remain compatible with platform upgrades without requiring manual refactoring or maintenance effort.
3Stability of the object's composition
If enterprises refrain from installing platform upgrades to preserve customizations, then customization stability is maintained, but security improvements are lost
Solution Approach 1:
By segmenting customizations into separate extension components stored in a database, the system allows the core platform to be upgraded to receive security fixes while extensions remain intact and continue to function with the upgraded platform through the extension point interface.
Data Source
AI summary
A web-based application is executable on one or more computing devices, where execution of the web-based application involves invocation of at least one extension point. The one or more computing devices are configured to: (i) receive, by the web-based application and from a client device, a request for web-based content; (ii) receive, by an extension point service, a call to a particular extension point, where the particular extension point is related to the web-based content, (iii) request and receive, by the extension point service and in communication with a database, one or more implementations corresponding to the particular extension point, and (iv) transmit, by the extension point service and in response to the call to the particular extension point, one or more user-defined plugin scripts included in the one or more implementations, output from which is incorporated in the web-based content as displayed by the client device.


