pageboard / server

Web site building system - server packages
MIT License
4 stars 0 forks source link

Rethink dev - staging - production modes #106

Open kapouer opened 3 years ago

kapouer commented 3 years ago

A site can be:

The workflow for a site is:

dev -> staging or dev -> production should be done by first making a copy of the current site in dev mode. This should be a "smart" copy that doesn't copy "uploads" folder of the dev site, since uplods are immutable they can be shared between all modes.

Then staging -> production is done using the same "site". This way one can continue to develop the site while having a production site running.

Optimizing regroups:

Production versions are not necessarily erased - this way one can assign the domain to a previous production version.

git hooks should only apply to debug/dev mode. In particular, git tags no longer do something specific (like update only production). Only debug/dev mode shall allow reinstalling a site from git repository.

kapouer commented 3 years ago

As a consequence of this, the granularity of the client modules can be improved:

This makes it clearer that a new element is needed: the "domain" - which is not exactly a "site".

Also "copy of site" is not that simple: the blocks generated by "users" (i.e. not webmaster) in production site must not be erased/modified when copying (from dev to production) the blocks generated by webmaster.