CMS Application Framework Isolating APPs via Sandboxed Runtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecustomization functionalityVSAvoidsystem reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesystem integrationVSAvoidease of updating
Core Design Contradiction:
Ease of operationVSEase of repair

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvesystem structureVSAvoidsecurity threats
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #39Inert atmosphere (Inert environment)

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

Engineering Contradiction:
Improveplug-in developmentVSAvoidversion compatibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11934898B2Content management system using an application framework for integrating APPs for editing content
Publication Date: 2024.03.19 CONTENTFUL GMBH
  • US11934898B2 patent drawing
  • US11934898B2 patent drawing
  • US11934898B2 patent drawing

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.