forge-recovery e0bb637277
QRun-IO/ci-policy: ci / fork-guard (push) Skipped
QRun-IO/ci-policy: ci / head-profile (push) Skipped
QRun-IO/ci-policy: ci / application-template-0 (push) Skipped
QRun-IO/ci-policy: ci / gradle-1 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3 (push) Skipped
QRun-IO/ci-policy: ci / java-docker-4 (push) Skipped
QRun-IO/ci-policy: ci / java-frontend-browser-5 (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7 (push) Skipped
QRun-IO/ci-policy: ci / node-8 (push) Skipped
QRun-IO/ci-policy: ci / node-9 (push) Skipped
QRun-IO/ci-policy: ci / node-10 (push) Skipped
QRun-IO/ci-policy: ci / node-playwright-11 (push) Skipped
QRun-IO/ci-policy: ci / repository-policy-12 (push) Skipped
QRun-IO/ci-policy: ci / source-config-13 (push) Skipped
QRun-IO/ci-policy: ci / source-config-14 (push) Skipped
QRun-IO/ci-policy: ci / android-0 (push) Skipped
QRun-IO/ci-policy: ci / original-mcp (push) Skipped
QRun-IO/ci-policy: ci / not-enrolled (push) Skipped
QRun-IO/ci-policy: native / fork-deny (push) Skipped
QRun-IO/ci-policy: native / dotnet-0 (push) Skipped
Shared Java Maven CI / secrets (push) Successful in 33s
QRun-IO/ci-policy: Shared Java Maven CI / secrets (push) Successful in 36s
QRun-IO/ci-policy: ci / repository-policy (push) Skipped
QRun-IO/ci-policy: ci / java-core-2-head (push) Skipped
QRun-IO/ci-policy: ci / java-docker-3-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-6-head (push) Skipped
QRun-IO/ci-policy: ci / java-maven-7-head (push) Skipped
QRun-IO/ci-policy: native / native-result (push) Successful in 11s
QRun-IO/ci-policy: Shared Java Maven CI / verify (push) Successful in 1m1s
Shared Java Maven CI / verify (push) Successful in 1m36s
QRun-IO/ci-policy: Shared Java Maven CI / gate (push) Successful in 20s
QRun-IO/ci-policy: ci / java-maven-6 (push) Successful in 8m7s
Shared Java Maven CI / gate (push) Successful in 22s
qrun-release / release (push) Successful in 9m28s
QRun-IO/ci-policy: ci / ci-result (push) Successful in 9s
Shared QRun source version / version (push) Failing after 10m53s
qrun-release / postpublish (push) Failing after 10m53s
ci: enroll shared Gitea lifecycle
2026-11-02 21:30:55 +00:00

QBit CMS

License Java

QQQ QBit: a headless CMS (sites, pages, menus, blog, media, projects, photos and publishing) as standard QQQ tables.

Status: design approved: QRun-IO/qqq#1083 (see docs/DESIGN.md); implementation in progress. Nothing is published yet.

Requirements

  • Java 21.
  • QQQ 4.1 (built against 4.1.0-RC.4) with an RDBMS backend (PostgreSQL in production, H2 for tests).
  • QQQ Next UI 1.0 (1.0.0-RC.14 or later). Material is not supported.

Install

Not yet published. Once released, add com.kingsrook.qbits:qbit-cms and produce the qbit into your QInstance:

new CmsQBitProducer()
   .withQBitConfig(new CmsQBitConfig().withBackendName("rdbms"))
   .produce(qInstance);

Naming

Tables are cms_<name> (lowercase snake_case, backend name equal to the table name). Permissions are cms.<table>.<action> and cms.<action>.

Adopting in another app

Follow the QQQ adoption checklist once the first release is published.

Build

./mvnw verify

Always use the Maven wrapper (Maven 3.9.11); Maven 3.10 cannot read the parent POM.

License

Apache License 2.0. See LICENSE and NOTICE.

S
Description
QQQ QBit: a headless CMS (sites, pages, menus, blog, media, projects, photos and publishing) as standard QQQ tables
Readme
1.3 MiB
0 Stars 3 Watchers 0 Forks
Languages
Java 100%