Buying in Moodle – Jenny Hughes and Dirk Stieglitz
As a primary school governor, one of the issues I have been wrestling with recently is the installation of Moodle in the school. I have a particular responsibility for IT – so I want to make sure it works and does what we want it to and as a member of the Finance Committee, I want to know how we get best value for money. I suspect this is a position that lots of others are in right now.
We have decided that we are not going to host it ourselves – we simply don’t have the time or expertise to do it so in our case this means we have joined a consortium of schools with the local university acting as a full-service host.
However, when I asked to see the service level agreement, it was a little ‘thin’ to say the least. This is not to say that what being offered was unsatisfactory – just that a lot of issues were not addressed in the SLA. In case others find themselves in this position, I have jotted down a series of questions you really need to be asking your host provider and why you need to ask them. How – and if – you then want to include these in your service level agreement is really up to you.
(I have to say, it might not make you a desperately popular client…)
You also need to remember there is no ‘definitive’ list. If you are a small primary school, you will probably want your Moodle host to do everything and not have to worry about lots of the detailed questions whereas a large secondary school with an IT support department wanting to do more advanced things, will need to ask more technical questions.
So, in no particular order ….
Do they provide the Moodle admin AND the server admin – i.e do they support Moodle as a software package as well as providing and maintaining the server it runs on?
There are different people involved in a Moodle installation. There are users – these are your teachers who just want to use Moodle to create and teach courses. Then there are people who take care of the Moodle “back end”, the Moodle ‘admin’, which could be someone in your school or it could be someone provided by the host organization or the Moodle admin could be shared between them.
Someone must also be responsible for ‘server admin’ that is, managing and maintaining the server and stacking the software that Moodle will run on. This person will work for the host providing the server. Ideally, there should be a group that brings all these together so that the Moodle admin and server admin understand the classroom teacher perspective.
You need the following things to make Moodle run.
- a web server (often, but not necessarily Apache),
- PHP,
- a database engine (often but not necessarily mySQL),
The Moodle code itself will run on top of these.
There is an enormous variation in what web hosts actually provide for your money and the costing model they use. (Think mobile phone companies and te different contracts they provide!!)
So they may be offering:
A total package, which means providing and maintaining the server, supporting other server side packages as well as providing full technical support for the Moodle software and direct support for end users such as providing training or advice on content building or a help desk.
These are usually called full-service hosts and probably what you need if you are a small school with no in-house IT backup. However, you will almost certainly have an SLA in place for IT support either with a private organization or your local authority – it is worth checking out what support they can offer so that you don’t end up paying for the same thing twice
A limited Moodle admin without the server admin which just manages Moodle but not other software packages on the server, such as database management and php, cron, email (for more about why and if you need this, there is a geeky bit at the bottom of this post) This may be enough for you but it means you will have to do a lot yourself and you will need to talk to your IT support people to see if they have the capacity to do this.
A minimal package which may be just provision and maintenance of the server which Moodle will run on without much in the way of supporting the Moodle software package itself.
Are they a registered Moodle partner?
This is a financial and legal issue – as well as a moral one! Moodle is Open Source software and can be downloaded free off the web. Similarly, any web hosting service can host Moodle for their clients. However, in order to contribute to the development costs of keeping Moodle up and running and constantly improving, organizations who advertise themselves as providing a full service hosting facility for Moodle and who want to use the Moodle name and logo in their marketing, are expected to become Moodle Partners. This means they pay a (small) percentage of their income, like a royalty, to the Moodle organization in Australia and become part of a world wide network of Moodle partners. Personally, I think this is very important – not only does it give them access to the expertise of a huge community of practice but it gives them a lot of technical support from the Moodle organization itself. Anyway, I just think it’s fair and ethical – they are only going to pass the cost on to you anyway – and as this is likely to be the most popular choice, especially in a small school, it is an issue to consider.
What other packages, extension and add-ons are possible to extend the features and functionalities of Moodle?
In addition to the basics, Moodle offers many modules that allow the integration of external (third party) applications and access to web services. So you need to ask, if you want additional modules, which ones they provide in the package. Do they provide them automatically? Do you ask them to provide them? Do they install these extra packages or will you have to install them yourselves? Is there a cost implication?
Most importantly, will they ALLOW extra packages? Do they have fixed policies on this or are they negotiable?
For example, teachers my find Mahara useful – this is an Open Source e-portfolio / social networking module which will be integrated into Moodle2 but under the current version of Moodle is an add-on. At least 2 web hosts I have dealt with will not provide this.
Check which of these they do or can provide
For example….
- aspell – is a useful (and free) spell checker.
- dragmath – is a free “drag and drop” equation editor. It is a Java applet that can simply run within a web browser on most computers.
- asciimathml – ‘translates’ figures into maths symbols / notation – your maths teachers will love this one!
Or you may want to integrate access to flickr or youtube. If so you will need to make sure that your Moodle installation enables communication through API to these services.
In many cases, the host provider has already decided what packages they are prepared to install and you are stuck with that – whether you want them or not. Others have a menu from which you can select but the modules appearing on the menu may be pre-determined. In my experience, the modules the tech. people might select might not be the same as the teachers may have chosen : (
What training does your host provide, if any?
Who will do it? Some techies are excellent trainers, some are not. Find out!
How long does it take? Are they day time sessions, evening sessions, fixed dates or on demand?
How much does it cost? What comes free as part of the package? Can they provide additional training if you need more than that? How much will it be?
What will it cover? Entry level training may just cover how to set up users, courses, upload materials and not much else. Useful and necessary but there are some very good on-line tutorials that can cover the basics.
Are there people who will help to create content? Does the training cover this? This is really important and really useful if teachers have no experience of creating web based content. It is not just about uploading stuff they do face-to-face in the classroom!
Also, you will probably want to customize the appearance of your front end – will they help you with layout, graphics, images and overall design?
In the longer term, what about support for development? Sometime in the future you may want to increase the functionality of your Moodle installation – do they have developers to work with you on this?
Updates – how often are they going to update the software and ensure compatibility?
Software is not static, it changes all the time. Moodle software sometimes changes daily! Software may be altered to fix security issues or to make improvements.
Also Moodle is not the only application that will be updated. As we said, Moodle is not “just” Moodle – it relies on a set of software applications and any time you are trying to keep multiple applications current you are bound to run into compatibility issues. Sometimes a fix in one respect causes a bug in another.
Also a BIG issue – as of writing this, Moodle is currently available as Moodle version 1.9.9 i.e the original version with updates. However, Moodle v2 is likely to be available in the near future. When I asked what impact this was likely to have, I was told that they were not planning to upgrade to v2 at all. Hello? Does that mean that ten years down the line when Moodle v3, 4 or 5 is available we are still tied to an SLA that is using an out of date platform?
Access – what are you allowed to do?
You might like to ask what access (if any) you have to the back-end of the Moodle installation, including the database. (Typical access would go through FTP and phpMyAdmin.) Access means, for example, that you can customize the appearance of your own site, you can access all any files uploaded on your installation and can back up your own data. Your host may or may not allow you to do this.
Backups – a BIG question!
How often will it be backed up? Who is responsible for backing up what? Who is liable if data is lost? What is the back up regime? – these are just the basics!
You will also need to know when they are backed up and how long they keep the data.
A backup regime, including course backups, software backups and database backups is important so find out exactly what sort of back ups will be provided.
- Some web hosts provide “snap shots”,
- Some provide site wide backups.
- Some offer shell access and tell you to do it yourself
Moodle can do some of it’s own backups but they are only a small bit of a full backup programme that has to take into account all the different types of data that is held by a Moodle site. Each data type needs a different sort of backup regime.
Here are some further issues about back ups that you might want to address.
Front end back up facilities
Built in to the Moodle front-end is a function that allows your site administrator (i.e the person at school level who is responsible for the site) to back up your courses. There are several possible settings that can be turned on and off which control how often and what is stored, and, most importantly, where this data is to be stored
Some host providers over ride and turn off this facility. Or they may limit where the data can be stored.
Remote back up
If you have the necessary access and are planning to do your own backup, You will also need to find out how your host is going to handle the back ups. They can either script the system to address backups for all the different types of data or another possibility is that they replicate the data, either to a simple store or to a fallover unit. If you are going to do some of your own back ups, mysql replication requires access to mysql commands that some web hosts do not provide.
Back up of additional modules
Assuming they have allowed you to add extra modules (or they have done this for you) who is going to back these up? Do you have to do it yourself or will it automatically be done for you?
If they do back up the additional modules, does this also include backing up the user generated data associated with the modules or is it just the modules?
Similarly, any complementary software that you have integrated should be backed up. Who does this?
GUI (graphical user interface)
Will any themes or customizations be backed up? Your GUI is often neglected when addressing backups. The data that makes your site look like it does, that you may have selected from a range of options, will be stored in your Moodle code installation with any pictures or images in Moodledata. (see note below)
Code – will it be backed up?
This sounds a bit obvious and some providers may wonder what on earth this is to do with you – and almost certainly resent the question!
However, a lot of them figure there is no point in backing up the Moodle code when, if there are major disasters, they can just download it from Moodle and reinstall it.
This causes problems. One is that it will probably lose your customisation (see GUI ) and any added-on modules. The other is that the version of Moodle they download today is going to be different from the same version of Moodle they download tomorrow. A new install often causes problems on a restore in addition to the original problem. This means they will have to work out why what was working yesterday isn’t working today and that slows the whole process and increase the down time for users. You don’t want them to have to recreate your Moodle application – just restore it! See also ‘Downtime’ below
Moodledata folder
Will contents of the Moodledata directory be backed up? The data may be excluded in your Moodle backups but may hold some of your most important material such as media that was sited in Site Files.
Databases
How often is the db dumped and stored? Can you do this manually /remotely ?
Whatever database you are using, it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpMyAdmin or mysql admin or via command line if the user has access and the requisite skills. It can also be automated via commercial or open scripting (as in HandyBackup or automysqlbackup). ]
Maximum file upload size and storage capacity
What is the maximum file upload size? Some hosts are putting heavy restrictions on this. The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP. To adjust these you may need to be able to edit .htaccess and/or php.ini. but the chances are your host will not allow this.
How much storage capacity do you get? What is the limit on Email volume, storage space for users and courses? How many accounts are you allowed? If either proves inadequate, can you buy more? How much is this going to cost?
Also, issues of scale can be very important. A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.
If you have back end access and are planning to do your own back up and costing model includes paying your web host for bandwidth, then you need to remember this sort of remote backup can become expensive.
Downtime – when and how much?
All servers need to be maintained. This means it will not be available for users. You need to ask when the routine maintenance will take place and how long the server will be out of action.
You may get an answer expressed in terms of ‘9’s’. This is just geek talk for 9%, 99%, 99.9%, 99.99% and so on.
Now 99.9% means the system is down .1% of the time. It doesn’t sound much (about an hour and forty minutes a week) but when does this take place? If this routine maintenance takes place once a week between 3 and 5 am on a Sunday morning, that is unlikely to cause problems whereas the same time could mean that it was down for a whole day once a month. Check it out.
Security – who has access to what?
Moodle holds different sorts of data:
- There is the data Moodle places in the mysql database.
- There is the data that Moodle places in the Moodledata file structure,
- there is the Moodle code itself.
All of these should be protected from unauthorized reading, writing and execution.
Who has what permissions? Who controls this? How are users authenticated?
Is there a firewall? What level of security will it provide? Don’t think that the higher the level of security the better the service! On the one hand you need to stop porno spam reaching your pupils but there is nothing more frustrating than having to telephone the host every time you want to access a website that isn’t ‘approved’ by them or receive an email from someone the firewall chooses to block. Anyone with a .mac account seems to be particularly prone to blacklisting.
Are particular ports blocked? For example, some web services and applications (e.g Skype) rely on free access to these ports. Can these ports be made available?
The following are some extra questions for the geeks
What operating system will the server run on? What database will it use?
This is really a question the IT section might want to know. The host server may use Linux, Windows or a Mac platform. This will make no difference to the end user as the Moodle software will stand between the server operating system and the users operating system. However, it might cause some problems for ‘advanced’ users in terms of some additional software they want to integrate. This same group, for similar reasons, may also want to know what the database option is (e.g MySQL, Postgres, MSSQL). Also ask what policy they have on updating PHP.