Staging: decide between staging in place and a staging tenant with stable ids
- 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
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