It’s been a long time since I looked at the old site, so to refresh my memory, I went to archive.org. Here’s a screenshot of part of the module page for Empire of the Sun:
Here’s the whole page from sometime in 2008.
We got endless complaints about the inflexibility of the old module library. Details, files, and players listings were all on different tabs, which made it hard to browse rapidly and hard for anyone new to it to locate what they wanted.
The current module library we adopted as an emergency measure, because there had been a security flaw in the CMS plugin that ran the old module library and we needed to replace it immediately. Since no one understood the code for the CMS plugin, we had only FTP access to the machine where it ran so we couldn’t troubleshoot effectively, and the CMS was universally hated anyway, we took the opportunity to replace it wholesale—but because it was also an emergency, we didn’t have the luxury of time to design a bespoke system. That’s how we settled on using Mediawiki to host the module library, providing page templates and using it as a poor man’s CMS.
I had not appreciated at the time how much effort it would take to maintain the wiki. You, Tim, have borne the task of keeping the module page content from becoming a disaster in the decade since we switched, for which I’ve been grateful; I’ve fought with maintaining the backend and site livery through numerous periodic upgrades. I think neither have been very pleasant tasks, which is why I’ve aimed with the new module library to eliminate or at least ease the work they involve.
The old module library existed at a time when there were far fewer modules, module developers, and editions of games than there are now, so it was rare for there to be competing modules for the same game maintained by different people or games significantly changed in later editions put out by publishers different from the original one. When this kind of thing did happen, it was so rare when we were using the old module library that we treated it as a one-off, not something for the system to be set up to handle—and the system didn’t handle it well. It was quite hard to differentiate one module from another if they were listed together on the same page, and we got complaints about this, but it as the code for the old module library was basically write-only there wasn’t much appetite for addressing the problem.
When we moved to the current module library, that made all the information for each module visible at once, rather than on four separate tabs. While this was a major improvement for browsability, letting the whole page be editable by anyone made the ownership problem more acute. We forced maintainers of competing modules to share a space and we made it possible for randos to edit things which are not theirs. This set us up for quite a bit of curation.
A lack of clarity about ownership underlies some problems we had with the old module library and the current one. This is visible in both the current matter—where to put a module for a new edition of a game having a different publisher, by a different module developer than the module for the original game—and in the one referenced here, where someone has removed players from the player list. In the former case, it’s ambiguous who owns the module page, where modules not developed by whoever got there first should go, etc.; in the latter case, the players who have added themselves to the players list should own their inclusion in the list, but don’t, so we have the problem Tim saw.
I’m aiming to correct both problems with the new module library. For the players list, if you’re logged in you can add or remove yourself, and you’re the only one who can do that. For module pages, I’m thinking of them as project pages now. Projects have owners; the owners of the project can edit the page and add new releases. This way, it’s clear what to do: If you’re working independently from someone else on a module for a game, make your own project page for it. If you’re working on a module for a game which differs substantially from a previously published edition, make your own project page for it. This removes the potential for conflict and situates ownership with the parties who should intuitively have it. I’m taking as a model how things like Github and crates.io handle projects. It works reasonably well for them, from what I can see. I think it will work for us.