dotCMS / dotCMS/core

[FEATURE] Style Properties Storage and API System

Open
#33,513 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stale
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Problem

Problem
dotCMS has no mechanism to store or manage style configuration data per contentlet instance in a page. The system needs both database foundation and write operations to enable the Style Editor, but the complex multi_tree composite primary key makes this significantly more challenging than typical content operations.

Goal

Goal
Implement complete backend infrastructure, including database schema, write API endpoints, validation, and read operations that handle the complex multi_tree primary key structure and provide reliable style property management.

Personas
Content teams: Need reliable saving and loading of style changes made in Style Editor
Developer teams: Need robust API that integrates with existing page editing workflows
System administrators: Need smooth upgrade path and production-ready performance

Target Personas
  • Developer teams
  • Content teams
  • DevOps teams
  • System administrators (dotCMS)
Demo Expectations

Demo Expectations
User REST API to successfully save configuration changes to database
API handles complex multi_tree identifiers (page, container, relation, personalization, variant)
Validation prevents invalid style values based on registered schemas
Database migration successfully adds style_properties JSONB column with no performance impact
Error handling provides clear feedback for failed operations

Acceptance Criteria

No response

User Stories

No response

Links

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the existing contentlet and multi_tree handling, then map where database migrations, write and read APIs, and validation belong; done means the listed demo expectations and acceptance behavior are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend, database
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.