Long-term Moodle management

Long-term Moodle management

Ondřej Mrázek -
回帖数:3

Hello, I couldn't find a relevant thread on this issue (only a few notes in various places), so I'll try it here. At our university, we have been operating Moodle for more than 15 years and are still looking for the ideal solution for long-term Moodle management. On average, we offer around 800 courses in one academic year, have thousands of course creators, and tens of thousands of students. Some courses are taught repeatedly every year, but it is also necessary to preserve student data from previous periods, so there may be variations for one subject from different years. Other courses are created on an ad-hoc basis.

In the initial phases of using Moodle, a single production installation was used. Its size and database size gradually increased. The Moodle content became confusing for users themselves (due to similar courses with different data and the excessive freedom of our users). After a few years, we reached a point where the database (not the data) was so large that it caused system crashes, and the system response time in many places was too slow. This problem was addressed several times by creating a completely new installation, and relevant content was somehow transferred to it, resulting in some cleanup. I'm not sure about the exact procedure, as it happened before my time. However, some irrelevant content also made its way into the new installation, so a complete cleanup was never achieved. This process was repeated every few years, approximately five times.

Since this solution did not suit us at that time, we tried to find another approach. After some time, we reached a state where we have one production installation per academic year. After the academic year ends, this installation becomes archival and is accessible only in read-only mode. (We have 4 archival installations.) A new installation is prepared for the new year, configured to the desired state. Before the start of the academic period, the installation is made accessible to users. We have a module that connects the production installation with all the archival ones (it's some existing module, but modified for our needs). Thus, a user (teacher) in the new installation can find their old courses from archival versions and transfer them automatically to the new installation. Initially, this solution was quite elegant. We always had a relatively small installation with current courses. The installation was clear. However, it was never possible to transfer all courses (success rate about 85%), and the rest were transferred manually. The time required for preparing this solution each year, the time needed to fix course transfers, and the time spent on module optimization (due to changes on the Moodle side) were continually increasing. The above procedure is simplified for presentation. It's essential to note that we now feel things could be done better, and we are considering a change.

There is a possibility that we stay in the current state but optimize some processes. Then there is a variant where we have some hybrid solution consisting of one production installation and one archival. Here, a semi-automated transfer would take place using a special module (this would be a proprietary solution tailored to us). And then there is an option to return to a single installation but create strict rules and arrange for old courses to be backed up to a server after some time (perhaps every five years) and then deleted from the system.

When we communicated with some other universities, it seemed that there is no entirely ideal solution anywhere. We encountered institutions that used one large installation and were slowly approaching a state of collapse (similar to what we experienced). We came across solutions that seemed to be still current and at the same time preserved old data, but in practice, it was unusable.

If you have experience with similar issues, would you like to share your know-how? I believe the university environment is very specific, both due to the vastness of Moodle (numbers of courses and users) and the various conditions for preserving older data (study results, sustainability of some courses within projects, etc.).

Thank you very much for your time and any responses.

平均分:Useful (3)
回复Ondřej Mrázek

Re: Long-term Moodle management

Gregor McNish -
I manage a college installation of Moodle; not as big as a uni one probably -- each year there's about 6000 moodle courses, used by 14000 students/staff.
We take a snapshot of our moodle install on Jan of each year, which becomes our audit site -- only accessible to staff. This is a copy of moodle codebase/database and filedir, which then has some configs changed (never delete logs is the main one; our production site keeps logs for 1 year only). These instances all run on another server, only accessible to the internal network. We have them going back to 2016.

In the last few months of each year, we run through an "End of Year process". Responsible staff indicate for each shell whether they want it archived, reset, or if it's spanning (ie no action required, students continuing between calendar years). This is a simple custom block we wrote.
Then after Jan 1, we have a script which runs through the EOY actions for each shell -- deleting any that were set to be archived, resetting those that wanted to be reset. This takes some days to run, so before deleting/resetting another backup file is created (in case of changes after Jan 1); these are put in a file repository available to support staff.

Each year we remove about half the moodle courses. There's a minor flurry of activity at the beginning of the year, when people realise they chose the wrong option and we need to restore courses, but it's not too bad.

We then clear up empty categories and try to help areas stay organised.

The process can accommodate those who want to retain previous years deliveries for continuing students, but the areas need to manage this themselves by making the right choices during the EOY process, and renaming folders to keep things clear.

Some areas are moving to a master/instance model where they have the clean copies of their courses, and they get bulk copied for each new delivery, then completed delivery instances get archived at the end of the year. This tends to be better for those courses with multiple intakes, to be able to manage continuous improvement. Many single intake courses are effectively rolling masters.