Best practice question: development to production

We are running a local installation of Omeka classic on a RHEL 7 LAMP stack. Like we do with most open source projects, we have chosen to create a development server for Omeka, where all plugins and themes exist for content creators, but that is never exposed to the public. When the site/content has been played with, tested, and finally created, we then move the site to a production server but only with the plugins and themes that the site needs. So in the end, the production server has only what is needed for the sites it’s serving, not the whole package of Omeka’s themes and plugins.

We are wondering if the readership of this forum believes our strategy is overkill or commonplace with Omeka installations - or somewhere in between. We are not interested in creating a lot of administrative/security overhead when it’s not needed. But I’d be interested in knowing if anyone else has taken this approach, how it’s worked, and honestly, if you think we’re just way off base and taking an overkill approach. Thanks in advance for any feedback.

I’d say from what I’ve seen not enough places use a separation between development and production. Development server lets to update plugins and themes and test if there are any regressions or quirks with your content before it appears online. It’s not a surprise, though, because of the resources needed to maintain two servers.

The only possible overkill is if you ever need to stand up two or more different Omeka sites for different projects. Then, there would be a lot of duplication, since you’d need two different installations on develop, and two on production. There would be a lot of overhead in maintaining that (which is why we’re building Omeka S!). But, if it’s all for just one site, that seems like a reasonable approach.

Thank you for your reply. We have thought about the case of having more than one site, and if it ever occurs, we could use the same development server and run it on a different port, and then stand up a second production server. By that point however we’re probably also looking at S so having a separate environment to move toward is probably going to be a necessity anyway. Again, I appreciate the feedback and if anyone else has an opinion I’d be happy to hear it.

Makes sense. I’m also very interested for others to add in feedback and their practices. It would be a big help to the community.

One thing I forgot to mention. If you are doing any customization to themes or plugins (or building your own), you can make the development server noisier about problems – showing errors, setting the server and .htaccess to show lower level problems like PHP Notices, etc. That’s a huge help in identifying potential problems before going to production.