I administrate a commercial website built with a customized LAMP stack. Our code is in Git and we use virtual machines installed on the developers’ workstations as development servers.
The problem i am noticing is that the finely tuned code for running the website is jumbled up with custom landing pages, promotions, sales, and other web marketing materials.
Is there a strategy or mechanism for keeping marketing stuff out of the website codebase and yet still provide development access?
The problems are:
- Maintaining development machines for people that are only tangently “developers” is eating up my time.
- Marketing stuff ends up in the same production queue as regular code updates, so it needs to be checked in, QC’d, merged, and published like “real” code. These often conflict or block each other.
- People working on marketing stuff still need development access because these pages use information from the database about products in the catalog, affiliate accounts, shopping carts, promotional codes, etc. They will use the framework’s functionality for database queries, object classes, session management, and templating. These things don’t work outside of the website’s native environment.
What i need is a solution where semi-technical persons designing marketing material can:
- spend more time designing
- not interfere with application code
- not require development machine access at all, if possible
- not be burdened with a technical setup that should only be the domain of app developers and devops people.
I know i could make a different, tandem code repository just for marketing stuff, but this still requires they have access to everything else to make it work.
How are other teams handling this issue?