My lab has a Django database and MoinMoin wiki on a severely aging Mac (Leopard, 10.5) server. Please, people who keep up with this sort of software, tell me: what's my best course of action for modernizing it? More info and options inside.
This server is, by far, the oldest computer in our lab. It's running Server 10.5.8, too old to just be migrated to a new machine. And even so, a simple migration probably wouldn't get our customized software: (1) a MoinMoin wiki that serves both as our public-facing website and knowledge repository for the lab, and (2) a Django/MySQL (I think) database that collects experimental participant and session data over the web from staff experimenters. (Not the experimental data itself, fortunately; just linked tables of participants, sessions, payments, experiments, post-processing tasks, etc. There are automatic things like money being added to participant's balance when a session is added, etc.) It also has Open Directory, used basically only for wiki access.
A year ago, we had a former lab member visiting for several months. He looked into moving everything intact to a new Mac server. He hit enough roadblocks that he eventually gave up; Apple removing MySQL was part of it, but I think there were other issues. Now I can't easily follow up with him to see what the issues are (he's extremely busy as a medical resident, and will be so for another six weeks).
I know that it looks like Apple's support for server customers is waning (or at least, that's what I hear). With that in mind, and above-mentioned issues, I see three options:
- Ignore past failings and keep trying to move current systems to a new Mac server. Other than the apparent difficulty, a big issue is that Apple could break everything with the next Server OS update the way they did between 10.5.8 and now, making it necessary for us to go through this again. I would like the new system to be more resilient. The other big issue is that no one in the lab has the expertise to do it. I know some Python, but probably not enough to do this on my own. So we'd probably have to hire someone (hopefully a CS student, since we're at a major research university).
- Get a new Mac server and ditch Django and MoinMoin. Set up a new database from scratch with more user-friendly software (Filemaker?) and import the old tables. Set up a new wiki (oh how I hate MoinMoin) and import existing pages as best we can. This is clearly the biggest time investment, but I feel like I could do it myself. The downsides are (a) new learning curve and possible bugs with database changeover, (b) time to set everything up from scratch, and (c) cost, especially if we need one of the more expensive versions of FileMaker.
- Set up a Linux server and install Django and MoinMoin, hopefully intact. I know my way around a Unix system reasonably well, but my unfamiliarity with Django and MoinMoin means that I'd probably need outside (hired) help, especially since I'd need to set it up as a public-facing server. I don't know anything about, for example, creating new users, whereas on the Mac, I can just use Workgroup Manager. An advantage, though, is that we have existing unused Linux boxes more-or-less ready to set up as new servers.
Oh yeah, and did I mention that the current Django application is buggy, so some pages take ages to load? That's a point in my mind for nuke-and-rewrite, since fixing it would probably take someone already familiar with Django.
So my questions are:
- Are any of these options obviously better or worse than the others?
- If I were to set up a new relational database (option 2), are you familiar with any software that would fit the bill?
- If FileMaker is best, which version do I need to be able to do the following: create a relational database application with automatic record-creation rules (I'm not DB-familiar), create users (fewer than 50), who can work with database records with a web interface (though I guess installing FileMaker clients is possible too), and import our existing records?
Whew. This is what keeps me up at night. (Ok, not really.) If you'd like to see our current website or get more info about the database (can't show it to you because of privacy concerns), please let me know.