A Moodle Diary

Wednesday, July 13, 2005

Moving Moodle: Cloning a Unix System

A while back I got my hands on an old Dell Poweredge 2200 server, that the IT department were getting rid of. It isn't the fastest, or most powerful machine around (and it didn't have a hard drive) but I figured It would probably be a better home for my plodding Moodle demo system that was still running on the old FreeBSD PII desktop machine.

I got a new 18gb, 10,000rpm SCSI HD for the 2200 off eBay and figured I would just clone the HD in the desktop machine onto the new drive. Unfotunately the desktop only had an IDE/ATA drive and an IDE/ATA bus and no SCSI. The 2200 only had SCSI, no ATA. Fortunately the 2200 had a SCSI PCI card that gave an extra internal SCSI bus, as well as an external one. I took this card out the 2200 and stuck it in the desktop, and connected the new HD to it with the ribbon cable out the 2200.

All I had to do now was clone the IDE drive to the SCSI drive, only problem was I didn't have the first idea how to do this :-/ After a lot of googling (these pages were helpful: Cloning a Computer With Free Software, Using DD to clone a HD) and a lot of rummaging around with apropos and man pages on the FreeBSD system, I figured out that using dd was probably the way to go.

dd will carry out a block by block copy of a file to another, and seems to be used a lot for disc level stuff. In Unix systems, all hardware devices appear as files in the file system, eg the SCSI disk driver is the file /dev/da, the 1st SCSI disk is represented by the file /dev/da0, likewise /dev/ad, /dev/ad0 for ATA. This means that doing a dd copy from ad0 to da0 would copy exactly what's on the IDE drive to the SCSI drive, file systems, partition table and all. The command goes:

     dd if=/dev/ad0 of=/dev/ad0


'if' is the input file, 'of' the output file. Unfortunately dd doesn't give any kind of progress indicator, so when I ran the command, I just had to wait for about 90 mins with my fingers crossed :-/

After the dd copy was complete, I tried booting from the SCSI drive and everything seemed OK The system would boot to an sh shell, but not be able to mount partitions listed in fstab, as the entries in this file were hard-coded to point to the ATA drive. Sorting this was simply a case of changing any ad's to da's in the fstab file.

I stuck the SCSI drive into the 2200 and it booted there OK. This system was a good bit faster agian, but the fans in that machine are *really* loud, not an ideal candidate for keeping under your desk ;-)

Staff and Student Adoption

We are currently preparing for the next stage of our Moodle pilot: putting the system into full production for the next intake of 1st year BA Technical and Production Arts students. The BA TPA course is a highly practical course, training students in various technical theatre and theatre design disciplines. In the first term of the first year students undertake classroom, lecture and workshop based sessions in all disciplines, to provide a general grounding before beginning their practical production work. The next stage of our Moodle pilot is to create Moodle Courses for each of these first term subjects to provide online resources to support the students learning in these areas.

Since this pilot is being used with a fresh intake of students, we will not be trying to teach new methods to existing students, which we hope will make the student adoption of the pilot a good deal easier. Although our existing and previous students have generally shown an aptitude for IT and computer work, possibly due to the technical nature of the subjects taught.

Initially, we had more concerns about staff adoption, as some of the disciplines we teach do not have a strong reliance on computer skills, and we were worried that some staff might be daunted by a VLE. However, I recently passed a quick questionnaire around the department staff (around 20 tutors) to gauge their familiarity and comfort with computers and it seems this may not be a great concern at all.

The questionnaire included a series of 10 point Likert scales to measure each tutors level of comfort with using computers in general, and their level of familiarity with specific computer uses: Word Processing; Email and Web Browsing; Spreadsheets; Databases; CAD & Computer Graphics; Web Programming (HTML, PHP, etc); and Application Programming (C/C++, Java, etc).

The average response to the general level of comfort with computers scale was 7.8, with no tutor giving a response below 5 and over a third giving a response of 10. 82% of tutors gave a response of 7 or greater to the familiarity with email and Web Browsing scale (average response was 8.6). 18% of tutors gave a response of 7 or greater to their familiarity with Web Programming (HTML, PHP) scale, the average response was 3.

Given this level of familiarity with computing and IT amongst the department staff, I hope that using a VLE should not cause any great difficulty to anyone. At the beginning of term I would like to give similar questionnaire to the incoming 1st year students before they begin using the VLE, hopefully to gain an idea of the minimum level of IT skill required to make use of such a system.

The staff questionnaire also took measure of the amount of time that tutors currently spend on computer work, which I would like to repeat at the end of this next stage of the Moodle pilot, to try to gauge the impact that working with a VLE will have on tutor's workloads. Currently tutors estimate an average of 38% of the working week over the summer period is spent of computer work.

Friday, July 08, 2005

Identifying types of VLE content

I now had a usable Moodle installation to play with, so I created my first course. Our first planned use for a Virtual Learning System was as a resource to accompany the first block of classroom and workshop teaching received by the next incoming first year students, so my first Moodle course page was one to accompany the course I teach the first year during this time.

I identified 3 types of content for this type of Moodle course page that I felt were worthwhile resources for the students: Materials and resources used in the classroom; revision aids; and guidance of further learning.

The first type of content is reasonably self explanatory. If I used images and diagrams presented with powerpoint in a lecture, I felt it would be worthwhile including them in the course page so students could have a second look, spend more time studying them and print them off and annotate them.

The second type of content, revision aids, I felt would be useful as a further resource for practical workshops. By adding photographs, diagrams or descriptions of the equipment and processes taught in the classes to the course page, students can refresh their memory of the equipment/processes and have the resources to make the kind on revision notes that they would take in a lecture, but do not have time to take in a workshop session. I found that the Moodle quizzes provided a good platform for presenting this kind of content.

Finally I found that the Moodle course page was an ideal platform to give students guidance on how to further their study of a subject taught in class. Even at this first year, first term stage in the degree, there are always students who already have a keen interest and good level of experience in a subject, and show a clear interest in specializing in it. By providing more advanced materials on class topics, providing links to websites that contain materials on these topics and identifying other means to further investigate a topic, these students can expand on their classroom learning, and perhaps gain a headstart in their specialism.

Tuesday, July 05, 2005

Creating a Moodle test site on Unix

To try and squeeze a bit of performance out the old PC that was hosting the Moodle test I decided to scrub Windows and try to install a small Unix OS instead, on the assumption that it wouldn't be as much of a drain on system resources. I picked FreeBSD for the OS as it has a pretty good reputation and also I'm a Mac user and Darwin, the Unix core of Mac OS X, is based on FreeBSD.

I'll not go into detail on the FreeBSD installation process since it's covered pretty clearly in the FreeBSD Handbook. Basically, I downloaded the 3 installer images from the FreeBSD website and burned them onto discs (though it turned out I only needed disc 1). Booting from the 1st CD started the installation process, which took care of re-formatting the hard drive. Following the instructions on the handbook saw me through the process OK, but there were a couple of things worth noting:

  • Be sure to install the FreeBSD Ports Collection, which will let you install the webserver & database software, etc.

  • I didn't bother installing much more than the basic OS, to keep the drain on system resources down. I didn't bother with the X windows system, etc

  • I wanted to use SSH to log into the computer remotely, so I could ditch the monitor and stick the case under a desk. The installer asks if you want to use xinetd, a program that manages network services like SSH & FTP. I said yes to this, and activated SSH on it. A stage or two later in the installation process it asks if you want to use SSH, which I also said yes to. It turns out this is activating another SSH service and I ended up with both running on the computer, which was sticking a bunch of error messages onto the console. Once I realized and turned off one of them, every thing was fine.


Once I had FreeBSD installed and running, I used the Ports Collection to install Apache webserver, PHP, MySQL and Webmin, a program that allows system administration through a web interface. Installation of programs from the Ports Collection is also covered pretty clearly in the handbook. In summary, installing a program from the collection involves navigating to it's directory from the command line and typing 'make install'. The appropriate files are downloaded from the internet and compiled.

Since the Moodle demo I'd been running on Windows hadn't been up for long, I just did a fresh install on the FreeBSD system. Again a MySQL database had to be created beforehand for Moodle, which I created using Webmin. The Moodle software itself just had to be unzipped into the Apache documents directory, and then accessed via a web browser to run the initial configuration scripts.

The Unix Moodle system did run a bit quicker than the Windows one, and I scrounged another 64mb module for the last slot on the machine which gave another little boost. It was a lot more usable and could cope with 3 or 4 users at a time, which was fine for demoing. Once the system was up and running there was little need to use the unix command line. The only times I had to use it were to turn Webmin on and off and to install extra Moodle modules and themes.