CMS Application Framework Isolating APPs via Sandboxed Runtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing content management systems face challenges in customization and upgrading due to direct integration of plugins with the source code, leading to compatibility issues, security threats, and lack of isolation between components, making it difficult to update the system without updating the plugin, and posing risks to the entire system.
Innovation Solution
An application framework that treats APPs as agents running in a well-defined environment, allowing for independent updates and providing a secure, isolated execution process through a sandboxed runtime environment, ensuring that API calls are checked and permissions are managed using a software development kit (SDK), thereby preventing disruptions to the core platform.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If plugins are directly integrated into the CMS source code, then customization functionality is achieved, but system reliability deteriorates due to compatibility issues and security threats
Solution Approach 1:
The system divides the CMS into distinct segments: the core platform and separate APPs (applications). Each APP runs in its own isolated runtime environment, preventing direct integration into the core source code. This segmentation allows customization through multiple independent APPs while maintaining core system stability and security.
Solution Approach 2:
An application framework acts as an intermediary between the CMS core and custom APPs. The framework provides a standardized interface and runtime environment that mediates interactions, allowing APPs to extend functionality without directly modifying or compromising the core system. This intermediary layer ensures reliable communication while maintaining isolation.
2Ease of operation
If plugins are merged with the CMS code base, then integration is achieved, but ease of repair worsens due to difficulty in updating the system
Solution Approach 1:
The system separates the CMS core from custom functionality into distinct, independently deployable APPs. Each APP can be updated, modified, or removed without affecting the core system or other APPs. This segmentation enables easy updates to both the core platform and individual APPs independently.
Solution Approach 2:
The system adopts a dynamic architecture where APPs can be added, removed, or updated at runtime without requiring system downtime or core code modification. The application framework supports hot-swapping and independent versioning, making the system adaptable and easy to maintain.
3Device complexity
If no isolation is provided between components, then device complexity is reduced, but object-generated harmful factors increase due to malicious code interactions
Solution Approach 1:
Each APP runs in its own isolated runtime environment with defined boundaries, creating separate execution contexts. This segmentation prevents malicious or erroneous code in one APP from affecting other APPs or the core system, while the application framework maintains a relatively simple overall structure through standardized interfaces.
Solution Approach 2:
The application framework creates a controlled, secure runtime environment for each APP that acts as a protective atmosphere. This isolated environment restricts what APPs can access and do, preventing harmful interactions while maintaining operational simplicity through the framework's standardized security model.
4Ease of manufacture
If plug-ins are hardwired to specific configurations, then ease of manufacture is improved, but adaptability worsens due to incompatibility with new versions
Solution Approach 1:
The application framework provides a universal interface and standardized runtime environment that works across different CMS versions. APPs are developed against this stable framework rather than version-specific implementations, making them adaptable to multiple versions while maintaining consistent development processes.
Solution Approach 2:
The application framework serves as a stable intermediary layer between APPs and the CMS core. Even when the core CMS evolves to new versions, the framework maintains compatibility through version management and abstraction, allowing APPs to remain compatible without being hardwired to specific configurations.
Data Source
AI summary
A system for managing a content management system (CMS), including, a plurality of servers for hosting the CMS, the CMS is accessed via a web editor that is executed on a client browser and provides access to functionality of the CMS for defining a content project, the web editor further provides access to an APP marketplace, the APP marketplace providing access to a plurality of APPS which can be added to the content project for use via the web editor; a server-side web editor configured to receive data indicating selection to add an APP to the content project, wherein responsive to launching editing of the content project in the web editor, then the APP is launched in accordance with an application framework that causes assignment of an identity to the APP for making content management API calls to the CMS for creating and editing structured content of the content project.


