BaryoDev / BaryoDev/barakoCMS

Staging: decide between staging in place and a staging tenant with stable ids

Open
#899 0 comments 0 reactions 0 assignees View on GitHub
core design
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 21m
Merged PRs (30d)
307

Description

There is no stated way to stage a change and promote it. Portability gives every imported entry a new id (`BarakoCMS.Portability/ImportEndpoint.cs:80`, `:137`) and carries no files, redirects or page tree (`BarakoCMS.Portability/PortabilityModels.cs:6-12`). #345 promotes configuration only. Holding mode and share links (#841) and scheduled publish already let a change be reviewed in place.

### Why it matters

A school redesigning its site before term, or a clinic adding a booking flow, will ask for a staging copy. If the answer is a second tenant, references, links and media break on every promote because ids change. If the answer is in place, that has to be written down so nobody builds a copy-and-promote tool on top of Portability.

### The general concept

Decide one model. In place: drafts, holding mode, share links and scheduled publish, with configuration changes promoted by the config file (#345). Or a staging tenant with stable ids, which needs id-preserving import and a file and redirect carry-over. The sweep recommends in place.

### Where it lives

Core: a decision recorded in DECISIONS.md, then docs and whichever of Portability or #345 it affects.

### Compatibility

No code changes until decided. Choosing in place changes nothing released. Choosing a staging tenant would change import to preserve ids, which is a behaviour change to Portability import and needs its own issue.

### Done when

- The model is recorded as a numbered decision.
- docs/delivering-a-client-project.md says how a client reviews a change before it goes live under that model.

Found in the architecture sweep of 15 September 2026.

Contributor guide

Open the contributing guide

Research direction

Start with DECISIONS.md, docs/delivering-a-client-project.md, and the cited import code in BarakoCMS.Portability/ImportEndpoint.cs and PortabilityModels.cs. Review #345, #841, and scheduled publish to compare the proposed staging models, then record the numbered decision and document the review-before-live workflow; make no code changes unless the decision requires a follow-up issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.