I have a question about parameter porting between dotCMS environments (dev → staging → prod).
I want to propagate parameter cleanly to another one, what is the recommended approach?
I’ve identified thoses tools :
starter.zip, for new instances
backup & restore, but time consuming and overkill
push publish, but doesn’t cover Role and Workflow
dotCLI, limited to site, language, asset and content-type
API and scripting, time consuming and not very maintainable. I didn’t manage to export my Role and associated permission/layout with the api playground.
My questions are:
Which approach is considered best practice for environment configuration?
For now, I didn’t find any acceptable way to propagate Role and Workflow. I there any tools I am missing ?
Do you recommend going through the whole staging → prod … or directly modifying the prod parameters ?
Normally I wouldn’t think you’d be moving everything over; most of the content is relatively static, especially if you build with this intent.
I think Push Publishing would manage it fine most of the time and is reliable. I think this is the overwhelming best practice.
You didn’t mention Site Copy, which actually works pretty well, but as you note, doesn’t do the Permissions.
I also tried to use the API to do Roles, but it is quite limited.
I do dev and prod on the same site but with a Velocity content type. ( Each widget code has velocity, js and css in one content type) and a different structure tells the template which version to use. I test it on one test site and then roll it out to all the sites I want to…but all my sites use one location for velocity code (I have one Shared site that has all the shared items - multiple versions of the various widgets).