Hi all,
I currently maintain the Voice Online Communities system which is built on dotCommunity - a fork of OpenACS 5.2 - though since then it's undergone a lot of changes. And of course OpenACS has undergone even more changes. Certainly the code is sufficiently different that updating to 5.10 is probably impossible, no matter how much I might like to! 😊
The application is hosted using an old version of Linux (Ubuntu 10.04) and PostgreSQL (8.4), and uses AOLServer. It has a newer version of Linux as a front end server for https, and also has a Varnish cache in front of it.
I'm looking to overhaul the hosting environment to use up to date Linux and PostgreSQL, and maybe also NaviServer, depending on the amount of work required to upgrade the codebase. The key things I want to gain are: A fully supported platform with all the latest security patches, latest OpenSSH, latest packages such as ImageMagick and AWStats that dotCommunity makes use of, better performance, improved development environment, access to latest build tools, etc.
I thought I would start out with the newest Ubuntu LTS version (22.04) and get a stock version of OpenACS running on there using these instructions, then try moving our code onto it and seeing what breaks. That is, unless there's an obvious better route! Is there a currently accepted Best Practice for OpenACS installation and hosting?
So I'm on the lookout for any advice anyone has if they've tried doing similar. The things I'm most worried about are:
- Switching from AOLServer to NaviServer and having everything completely break. Maybe I should stick with AOLServer??
- Switching from PostgreSQL 8.4 to the latest version and having everything completely break. I certainly don't want to stick with this ancient PostgreSQL if I don't need to. At the very least I'd like to get some of the performance gains from the recursive permissions lookups etc. I realise there'll be a lot of SQL rewriting required, but using OpenACS 5.10 as a template I can hopefully update our code appropriately.
It might be that in order to work with new PostgreSQL and NaviServer I should take the core packages from OpenACS 5.10 and cherry pick the key changes in our dotCommunity codebase into that, rather than start with our code and pick the OpenACS changes into it. I think either way it's going to be a pretty big and messy job.
As an aside, if anyone is interested in what Voice Online Communities does, you're welcome to apply for a website on there and have a play!
Thanks
Joe