OU blog

Personal Blogs

OU release dates and what that means for our plugins

Visible to anyone in the world
Edited by Sam Marshall, Wednesday, 22 May 2013, 15:15

People frequently ask the question 'when will [an OU-developed Moodle plugin] be available for [a new or upcoming Moodle version]?' So I'm writing a blog post to cover it. Not very amusing I'm afraid...

In general, OU releases are about six months behind the community Moodle version (possibly seven months now the community schedule has been shifted). This is necessary to ensure reliability but also to give us time to update our plugins, while maintaining new feature development.

If you want to use a released, tested version of our plugins, you'll need to follow our release schedule. Or if you want to live life on the edge, you should probably find that the untested 'master' branch of our plugins will have been updated to work on the next Moodle version by about two months before our live release, i.e. about four months behind moodle.org.

This was probably hard to understand, so let me do headings and bullet points.

If you want a Moodle 2.4 version of our plugins...

  • (Moodle 2.4 came out on 3 December 2012.)
  • An untested version has been available in the 'master' branch of each plugin in GitHub since approximately the start of April 2013.
  • The tested version will be available in the MOODLE_24_STABLE branch of each plugin in GitHub at some point early in June 2013. (You can pester me online if I have forgotten to update it!)

If you want a Moodle 2.5 version of our plugins...

  • (Moodle 2.5 came out on 14 May 2013.)
  • An untested version will be available in the 'master' branch of each plugin in GitHub by approximately the start of October 2013.
  • The tested version will be available in the MOODLE_25_STABLE branch of each plugin in GitHub at some point early in December 2013.


  • The above dates for our future releases are not definite and are subject to change!
  • You can extrapolate from this to Moodle 2.6 (June 2014 live date), Moodle 2.7 (December 2014), etc - although we might change our release pattern by then, who knows.
  • As soon as we release a new stable version, we stop supporting the previous stable version. For example, once we have a MOODLE_24_STABLE branch, there will be no more changes to our MOODLE_23_STABLE branch. If anybody wants to support these old branches, we suggest forking our GitHub repositories.

Occasionally asked questions

  • I want to use your plugin in a new Moodle version before these dates, does it work? No idea! Please try it. (Sometimes plugins intended for a particular Moodle version will actually work unmodified in the next version. Unfortunately there are lots of cases where this does not hold true.) If it doesn't work, you can feel free to file a GitHub issue, but we probably won't fix it sooner than those dates.
  • It doesn't work but I still want to use it before these dates, what can I do? Please fix it yourself and send us the patch. smile
  • I have a patch that fixes your plugin for the next Moodle version, do you want it? Yes we do! And thank you for fixing it. But because of how our release process works, the 'master' branch of our plugins has to refer to the release currently in development at the OU. For example, if you submit a patch now for Moodle 2.5, we won't be able to put it on the master version of the plugin until about the start of September 2013 (about a month earlier than the dates I gave above). Of course, if you've put your patch on a GitHub issue, then other users can still benefit from the patch sooner by applying it manually themselves.


Permalink Add your comment
Share post

OU plugins updated

Visible to anyone in the world

Boring post but for info, the OU plugins on GitHub (ForumNG, OU wiki, OU blog, subpage, etc.) have been updated today:

  • The MOODLE_23_STABLE branch is now based on our latest live code from our March release last week, which includes patches/bugfixes.
  • The master branch includes our latest fixes from our 2.4 development release.

So anyone waiting for a 2.4 version, you might like to try it again. We think most of them basically work now but there may still be some problems (especially subpage might only work under certain conditions). If something's still broken in 2.4, feel free to file issues in the relevant GitHub project.

Permalink Add your comment
Share post

OU Moodle plugins and 2.4

Visible to anyone in the world

Oh dear, it's my first blog post of the year. smile

There is probably something more interesting I could talk about, but we're getting a bunch of questions about 2.4 versions of OU plugins lately.

To recap the OU schedule:

  • We typically go live with a Moodle release about six months after it comes out, unless something goes wrong.
  • Development for our release takes a three-month period that ends about a month before our release.

In this particular case for 2.4:

  • We should have stable versions of our plugins for 2.4 (MOODLE_24_STABLE) in June.
  • We should have development versions (on the master branch) that work in 2.4 at some point between February (yes, I know it's February now) and the end of April.

Of course, some of our plugins from previous releases may continue to work unchanged - it depends whether any of the APIs in Moodle core were modified in a way that breaks our plugins in that release.

Where our plugins don't work in 2.4, feel free to file an issue on our GitHub site, but be aware that we won't fix it until our development period starts. If it's a simple problem and you want to fix it for us by submitting a patch, please do - we'll try to apply these patches early in the development period, i.e. more like February than April. (We can't apply them before the development period starts though, sorry.)

Permalink Add your comment
Share post

New blog post

Visible to anyone in the world

Just an update for any other sites using the Open University's Moodle 2 modules that I am responsible for, such as ForumNG, OU blog, OU wiki, and subpage.

Currently these modules are available and maintained for Moodle 2.2, with stable versions updated monthly (and occasionally at other times) when there are changes. In order to get the updates, you have to grab them from our GitHub site as I do not have time to do the manual update process for the Moodle plugin site.

Moodle 2.3 is about to be released but the OU will not be using it immediately. There are  changes in Moodle 2.3 which break some of our modules, especially ForumNG. If you rely on our modules and don't want to do without them, it would be advisable not to upgrade to 2.3 until we do.

I don't promise dates and these might change but I would expect that we will have 2.3-compatible but untested versions of these modules in our code repositories at some point during September. It looks likely that our first 2.3 stable branch will be in early December.

Before then, if people wish to submit patches (using our GitHub site) to fix problems so that the modules do actually work in 2.3 earlier, you could do and if it seems safe I will include it. But please test the patch fully against 2.2 before submitting. smile

Permalink 9 comments (latest comment by Sam Marshall, Tuesday, 5 Mar 2013, 10:50)
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 2 Mar 2012, 15:03

This is a brief blog post to let ForumNG users know that I've now, finally, set up a stable branch.

MOODLE_21_STABLE branch at GitHub

This branch will shortly (from Tuesday) match the version on our live servers and should continue to do so until we stop using Moodle 2.1 (which is currently scheduled for April 6th). After that it becomes unsupported and we'll hopefully have a MOODLE_22_STABLE branch.

You can still use the 'master' version of the code, if you want our current untested development version. As of just now, there is a change to the master version which fixes a critical Moodle 2.2 bug (email sending was broken), but unfortunately also means that the master version won't work on Moodle 2.1 any more.

So to summarise:

  • We now provide a MOODLE_21_STABLE branch which is the same as our live servers so should be stable and reliable and will receive critical security fixes. It does not work on MySQL.
  • As of today, the master branch requires Moodle 2.2 or above. It does work on MySQL - thanks to Brian King for providing the answer to the problem from my last post. smile

If you really really want a version that works on both 2.1 and MySQL, I guess you can grab the relevant commit from GitHub (i.e. the one just before the commit where I say it requires 2.2).

Permalink Add your comment
Share post

New blog post

Visible to anyone in the world

By special request, here's a super-boring post on the ForumNG 'features' plugin infrastructure! (Not a developer? Look away now.)

It's very simple: you stick standard Moodle subplugins in the 'feature' folder. Each one must have a class which extends either mod_forumng_discussion_feature or mod_forumng_discussion_list_feature (which themselves extend mod_forumng_feature).

The difference is that 'discussion features' will be placed at the bottom of the discussion page, and 'discussion list features' just below the list of discussions on the main forum view.php. Discussion features are passed a $discussion parameter for a bunch of things, and discussion list features are passed a $forum parameter.

The classes for this basically have three methods that probably need implementing: get_order (returns an integer indicating the order relative to other features), should_display (default returns true if you have moderator permission) and display, which returns some HTML.

This doesn't really add up to much; it just means you can put a button (or pair of buttons, or dropdown, or whatever) in the area below the list of discussions or at bottom of a discussion.

Then you can put the code for handling actions in PHP scripts inside your feature.

That's about it except there are some helper functions/classes to make certain things easier (making the button form; plus for example if you want to use the 'post selector' feature which integrates with a lot of built-in JavaScript as well as non-JS alternative code, so that you can let users do some action [export or forward by email] on whatever posts they want).

There's a catch here, which is - well, let's take the 'delete discussion' feature as an example. So there's a 'delete' discussion feature and it provides the button you use to delete (or undelete) a discussion, and the script that runs when you click on it with the 'are you sure' prompt, and it checks permissions and stuff - but it doesn't really do the actual work for deleting a discussion because that clearly ought to be, and is, part of the forum back-end in the mod_forumng_discussion class. (Note: If you want to look at the code for a forum feature, the delete one might be a pretty good place to start.)

That's also true for a lot of the built-in features: the 'feature' architecture actually only includes the UI, and the real back-end work is done inside the core class, because it sort of has to be that way.

But it does still allow some degree of separation.

One of the reasons I wanted it is that ForumNG at the OU includes this totally useless 'show who read this discussion' function. Supposedly this shows you who has read a discussion and when, but in fact it's impossible to tell. So the list, though sort of correct, is basically a lie. I had to do it because they made me. smile But I didn't want to include that in the public version; no reason to spread our bad practice around the world. The 'features' system meant I could just exclude that one folder from the distribution without changing anything else.

Note: An obvious extension would be to add mod_forumng_post_feature class but we did not find a need for this yet - possibly because the 'post selector' approach (where you click a button at discussion level, but then can select one or more posts with checkboxes) is more flexible.


Permalink Add your comment
Share post

New blog post

Visible to anyone in the world

I haven't done a public blog post for a while, so here's one! It is mainly of interest to anyone using our add-on modules (ForumNG, OU blog, OU wiki); apologies for general boringness.

The OU is now live with our VLE2, based on Moodle 2.1.x, on a couple of courses. So it's a slowish launch but trust me, there have still been plenty of panics along the way. smile

On an entirely unrelated matter, if you are using the beta versions of OU modules for Moodle 2, especially ForumNG, it would be a good idea to upgrade to the latest version from our github site - after testing it on your system first of course. Just saying.

Seriously - I do have a system in place to transfer single commits from our system into our GitHub public repositories now, so you can actually see what hideous bugs got fixed. The commits do reference numbers in our own bug tracking system, which is internal so you can't see it, but you can read the summary and see the code changes. This might be enough to achieve most of the comedy value, or alternatively to make an informed decision about including the same code patch in your own servers.

It would be a good idea to get a GitHub account if you don't already have one and 'watch' the repository if you use one of our plugins (or use the Atom feeds or whatever else they provide) so that you can see each change as it comes in, just in case it might be important to you

At present, the version on our repositories is what we're still calling a beta - it is typically ahead of the live server, but as we are currently in a rather wild-west deployment phase, not by much! There will be a point where we switch to basing the repositories on our stable branches so that only critical bugfixes appear there. I'll no doubt blog about that at the time. smile Until then you should be extra careful about testing before you upgrade.



Permalink Add your comment
Share post

ForumNG, OU blog and OU wiki update

Visible to anyone in the world
Edited by Sam Marshall, Friday, 9 Sept 2011, 12:48

Today I've done the first proper release of three Open University contributed modules for Moodle 2.2. You can get all these from our public GitHub repository site:


Click into the appropriate repository:

  • moodle-mod_forumng (ForumNG)
  • moodle-mod_ouwiki (OU wiki)
  • moodle-mod_oublog (OU blog)
  • moodle-local_ousearch (OU search back-end, supports all three)

Within each repository you will find a readme (scroll down to see it) with information about the plugin. To install a module, use the 'Download' button; unpack the zip file; rename the folder inside the zipfile (e.g. rename 'moodle-mod_oublog' folder to 'oublog') and put it in the right place in your Moodle install.

I have also gone through the somewhat tedious process of adding these to the new Moodle plugins repository as well, so you can probably also get them from the official site instead (this may save you the rename step mentioned). At time of writing, they haven't been approved there yet, but I'm sure that will happen soon.

Important cautions:

  • These are now considered beta versions (as opposed to the alpha versions I put out before). They have had some testing, but still not (quite) live use with students.
  • Nobody's lately checked them on a standard Moodle install or when using MySQL as a 'database'. (OU moodle is now actually pretty much a standard Moodle 2.1.x, just with a huge stack of plugins added, so hopefully it should be fine, but.)
  • We can't offer individual support. Please don't contact me if you have problems with them - try to get peer support from suitable moodle.org forums (it's possible I might reply there, if I have time). However, if you find a bug, please do feel free to report it in the appropriate area of the Moodle tracker.

I hope we will release release-quality versions at some point after our next mid-October release so that from that point, these publicly released versions can be the same as our live ones.

Permalink 9 comments (latest comment by Sam Marshall, Tuesday, 31 Jan 2012, 14:58)
Share post

OU contrib modules for Moodle 2

Visible to anyone in the world
Edited by Sam Marshall, Monday, 12 Mar 2012, 10:48

Edit: This post is now out of date and there are new versions available on our GitHub site - see newer posts. I have deleted the files from Google Docs to avoid confusion.

I've been ridiculously busy over the past weeks but having hit (or, at least, passed) one deadline I now have time at least to write a blog post...

As promised, except slightly late, I'm now releasing the main OU contrib modules - oublog, ouwiki, and forumng - in their Moodle 2 versions.

These are not very tested alpha versions and are bound to be broken in various ways. (I probably don't want bug reports at the moment, because basically I know lots of things are wrong.) We are not using these in live production systems and I would recommend that other people don't either.

Link to Google Docs folder containing the three zip files

If you're familiar with these modules you will note that these are basically exactly the same as the 1.9 version except with support for the Moodle 2 attachments system. (So that, if we were actually running Moodle 2 here, I could actually attach files to a blog post instead of having to stick them on a random google docs site.) OU blog and wiki (but not yet ForumNG) also support the Moodle 2 portfolio API as well. All three support activity completion.

There is one notable case of reduced functionality in the wiki - we have been phasing out the 'comments' facility because it is confusing (timid students add comments when they should be editing the page - having two communication mechanisms is confusing) and it is now not present. The 'annotations' facility that lets teachers 'mark' work and add comments to it is still there. (but, no gradebook integration yet.)

OU wiki and OU blog were converted by Catalyst developers. ForumNG was converted by us (actually, me). All are released under GPL.

The required Moodle version is 2.0.2, except for annotation in ouwiki requires 2.0.2+ or 2.0.3 to work properly. These versions are probably not correctly defined in the 'requires' variable in version.php...

Anyway, this is definitely an 'at your own risk' thing (but then it always is). If you want to use them, good luck ;)

We hope to release 'more tested' versions of these modules after the OU deploys them in live systems this autumn.

Permalink 1 comment (latest comment by Gillies Kleboe, Wednesday, 27 Apr 2011, 10:42)
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 4 Feb 2011, 18:40

A few things to update on with regard to the Moodle 2-related work I'm doing at the OU.

These are quite geeky but might be partially comprehensible by non-programmers this time? Maybe? I'm not sure. Oh well, not forcing anyone to read it.

1. No OU public repository. It's been discussed here and we have agreed that our Moodle 2-based source code repository won't be public after all, which is a bit disappointing. There were concerns about what happens if a developer commits code that contains a system password or something like that (this should be found in code review, but by that point, it's already in the repository).

However I still want to ensure that we release more things more reliably than last time (where we used manual processes). This should be easier because we are trying to keep core modifications as near to zero as possible, and to make our key customisations into standard, independent plugins wherever we can - so they're more practical for other people to use. The current plan is to put out all this stuff... in some as-yet-undetermined but automated way... from about September which is roughly when real live students start using the system, so it's the first time that really fully-tested code would be available.

So anyway, all our code that is suitable for use elsewhere will be public; that also means much more code will be public than under our Moodle 1.9 system; but you probably won't be able to point and laugh at all the core-Moodle customisations we might still be forced to make. Or to steal our passwords.

Before September I will probably do manual releases of a few key modules if anyone else is relying on them.

2. First outsourced project is complete

We've finished the testing process on a small admin report that was developed by Netspot. It works! Hopefully the whole outsourcing thing will actually be a success this time around.

I think the detailed test scripts I've been doing are pretty important to ensuring we actually get what we need (along with sensible selection of companies to do the work). Hopefully, anyhow, because it took ages to make them.

3. ForumNG nearly working in Moodle 2

ForumNG (our forum system) is more or less working in Moodle 2.

This has been a bit of an effort: according to git, ForumNG is about 28,700 lines of code. During the process I have added about 800 lines of code, deleted about 2800 lines of code, and modified about 25,700 lines of code. (If I modified the same line four times in separate commits, it counts for 4 in these stats, so I haven't really touched every line... yet.) Obviously some of these were search-and-replace modifications but I've done an awful lot of manual changes too.

It isn't finished yet. The big thing that doesn't work is the JavaScript, which needs converting to YUI3 (easy but tedious) and to support the new HTML editor and file manager (difficult and may possibly turn out to be a significant rewrite of certain areas). Apart from that I have decided that in order to check things I definitely need to write a comprehensive manual test script that covers all features. This is going to take quite a long time.

4. I got a fairly major change into Moodle 2...

As mentioned last blog post, I did a fairly big chunk of work for core Moodle 2 that will allow plugins (such as, for instance, ForumNG) to do more interesting things on the main course page (such as, for instance, add an 'Unread' indicator - not previously possible without hacks to core). It also improves a bunch of related areas of code, documentation, etc.

Anyhow, this work is now actually included in standard core Moodle 2. Yay - and many thanks to Petr (who came up with much of the overall concept, reviewed the design, reviewed the code, and fixed bugs) and Eloy and others at Moodle HQ.

5 ...but it kind of broke this week's release.

Sorry if you got this week's Moodle 2 release and hit one of the bits that were broken as a result of the change smile And, um, if you didn't get this week's release yet, here's a tip - wait for next week. We did actually test the change - I mean I tested it lots while I was developing it, then Moodle HQ tested it - but there have been just a couple of odd side effects in apparently unrelated areas.

Of course nobody runs random Moodle weekly releases on their live server straight away without any testing of their own, so this is okay, right? .... Right .....? smile

6. I proposed a presentation for the UK Moodle Moot.

We're going to the UK moot again, and I've proposed a short presentation about working together with Moodle HQ. Not counting chickens though: I think last time I proposed a presentation too, and it was going to be totally awesome*, but they rejected it.

* Safe to make that claim about a presentation that never existed, I think. smile


Permalink Add your comment
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 21 Jan 2011, 18:11

Here's a blog entry to let you (=anyone who cares) know what I've been doing so far this year. Apart from thinking 'wtf how is it another year already'.

This is another very technical post, because I don't really have anything non-technical to say this time, so apologies to anyone who isn't a programmer, it may be time to make a swift exit...

I've made several small changes to core Moodle 2. The new process for external developers to get changes included in the core system is a bit cumbersome but it really seems to be working quite well, at least when the tracker hasn't fallen over.

Also thanks to Petr (Moodle HQ developer) for helping with a proposal for letting modules do more things to the front page, which basically means third party developers can create modules that behave like label (displaying content on the front page instead of just a link) or like forum (showing dynamic, in this case unread-messages, information on the front page). It also tidies up and documents the infrastructure around this area. I've done all the work now but this hasn't been accepted into Moodle code yet; I'm typing with crossed fingers right now. smile (By the way, if it is accepted, I don't know whether it will be accepted into Moodle 2.0.x or 2.1.)

One last thing while talking about core stuff - I made a teensy little plugin for Moodle 2 strictly for developers that lets you one-button toggle between your normal (presumably 'debug') settings, and some faster 'production'-style settings, for when you want to realistically profile performance using Eloy's nice xhprof integration. No point profiling something that's running slowly because of extra debugging calculations, after all. If anybody wants this, please grab it from my GoogleDocs area.

Back with OU custom developments, I've done some of the work to convert ForumNG to Moodle 2, including converting all the database code to the new API. That took quite a while as the search for affected lines that needed to be changed initially found over 600 results.

As for the three other members of my team, Ray has been working on Structured Content [the system that turns XML into textbook-style content on our Moodle websites]. This is working quite well on Moodle 2 now. Alan is also converting a necessary subsystem for that, and Al is working on the 'log in as example student' administrative feature that we use instead of the core switch role feature.

This is the type of thing we're supposed to be doing. Unfortunately I have also had to fix some fairly serious bugs in ForumNG this week, and Ray's had to do some in Structured Content, both in our current 1.9 system. Obviously bugs are especially annoying because we have to fix them in both versions now. (Public notice to all staff and students: stop finding bugs in our current system! I'm trying to work on the new one!)

In addition to the actual bugs, there are also other support issues I have to investigate which aren't likely to be bugs with our system, probably just some weird configuration problem between us and other university systems - like at the moment, somebody doesn't seem to be able to get into the system when they totally should be allowed access. (Public notice to all staff and students: stop not being able to log in to our current system! I'm- wait, that doesn't really work, does it.)


Anyway, that's how things are going so far this year. Maybe I can think of something more interesting to put in the next blog entry, but I wouldn't bet on it!

Permalink 2 comments (latest comment by Mark Pearson, Monday, 21 Feb 2011, 15:21)
Share post

Moodle 2 conversion

Visible to anyone in the world
Edited by Sam Marshall, Monday, 22 Nov 2010, 10:56

Just a quick update here about our Moodle 2 conversion plans (two people have asked already so I thought I'd post here and save effort later). If anyone's using any of the main OU custom modules and wants to know, it's good news! We will be converting these to Moodle 2. Specifically:

  • ForumNG we'll be converting in-house soon. I'm hoping it will be finished around January. Same applies for the OU search block that provides live full-text search facilities to all these tools.
  • OU blog and OU wiki we are currently trying to outsource - I wrote some specifications with really detailed test cases... We are hoping to get the code probably a bit later than ForumNG, maybe end January.

In both cases we are hoping to put these in with other code for final integration testing etc for an internal release at the start of March. First real usage (along with some other features) will be with our second-phase release in June, and it's likely students won't use it until July.

So basically, we should have the basic converted modules ready quite soon, but the more reliable 'same code we are using for live students' versions will be later.

I know Moodle 2 is theoretically about to be released very soon, so there might be some people out there thinking 'argh! but i'm about to upgrade and you're telling me I will lose my reliable ForumNG version for another seven months!' - but the version that's coming out now is the first one and in my opinion you'd be very unwise to use it on a live system. I'd recommend you wait at least another three, four months to upgrade live systems, even if you don't use any OU custom modules...


So anyway that was the good news - now for the... wait, it's more good news! Of a sort. We're planning to do a similar public release (with similar timescales) of our OU content module, which provides online content within Moodle based on XML document files, which are basically equivalent to textbooks but can include audio, video, Flash, Java applets, and some interactive thingies, etc. (By the way, this is also the same XML format we use to produce most of our actual printed textbooks, although the 'print' part is done in a separate system and won't be included in this release.) Example of current 1.9 version on OpenLearn

However, there might not be sufficient documentation etc. for anyone to actually use it as we have quite enough trouble supporting this system in-house without supporting other people too. It will definitely be an 'if you're stuck, better start looking at the code' type system. Still if you're interested, that's something to look forward to; I will post in this blog when it's available.


Also, I'm not quite sure this blog post can withstand yet more lashings of good news, but we're trying to make our entire Moodle 2 code repository public, which will mean that even if we don't officially 'release' and support something that is used in-house, anyone can come and get almost anything we do. Alternatively it will be a great resource for those who just want to point and laugh at our code quality, or count the number of customisations in core code, etc...

However, it's not me doing the public repository, and I don't know how it is going, so this part is a bit less sure than the other parts. smile Just thought I'd mention it since it seemed to fit in with the topic.

Permalink Add your comment
Share post

ForumNG stable version

Visible to anyone in the world
Edited by Sam Marshall, Friday, 13 Aug 2010, 14:28

There's now a 'stable version' of ForumNG. This is intended for anyone else who wants to use it on a production Moodle 1.9 site. From September, this should be exactly the same as the live, fully-tested version used with students on the OU system.

Since I made a long forum post about it, I'll just suggest you should please read that for full information if you're interested! Or for the lazy, the download link can be found on the standard information/download page for ForumNG.

Also: I apologise to anyone whose comments I didn't reply to, or replied crazy late. I do now have a feed reader set up to monitor the Atom feed of blog comments, so I should be able to respond quickly to any comments you leave on this bug in future (assuming I have anything to add, that is). That is, if it (said feed reader) works. I am not at all sure it does...

Permalink 2 comments (latest comment by Sam Marshall, Wednesday, 11 Aug 2010, 17:18)
Share post

New blog post

Visible to anyone in the world

Today's fun Internet Explorer feature (7 and 8 both): there's an accessibility option which lets you override website colours, so that for example, everything becomes green on black. Great, right? Except, it doesn't work properly in our forums. All the forum posts have a white background.

Turns out that in Internet Explorer, if you specify a background image for something while leaving the background colour transparent, it always draws it with a white background when in this accessibility mode.

To put that another way, the fix I made to get rid of this unwanted white background? I set the background colour to be white. Yes, really.

Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 21 May 2010, 22:58

Here's an update on what we've been coding recently in the area of the OU where I work! I've done a few things, some of which may be of interest to other Moodle users, others not so much.

  • I fixed final glitches etc. in the courses dashboard for tutors (mentioned before; it uses a webservice to access information from our Moodle system, and other systems, about which forums a tutor can access across all courses and whether they contain unread messages, then displays all these links in one place for convenient access).
  • I wrote a block for the glossary in Moodle 2. Teachers can add this block to a glossary then use it to search all the other glossaries they can access. The idea is, if they want a glossary entry about something for a course they're writing, they can search all other courses to see if somebody already wrote one. I'd love if people try it out (and I'd love even more if you can manage to convince the Moodle HQ folk that it should be included in core Moodle).
    There will be a version of this feature in OU Moodle 1.9, but I haven't written that version yet. This development was part of our current project to learn more about coding for Moodle 2.0, which several developers here are involved in as we work out how to plan for a possible upgrade of our systems. Coding in Moodle 2 is definitely nicer than in 1.9, so I hope we can go ahead with it...
  • I updated the Java audio recording applet I have, which is designed for students to record themselves. It's basically just to save them having to download a standalone application; everything it does is local. Anyway, it now looks nicer (we didn't have graphic design resource, but I tidied it up based on the upcoming new OU styles that were already designed) and a few usability glitches have been ironed out. The applet's open source; you can get the code here, or try it out on this temporary prototype site. Assuming we don't find any horrible problems with it, this will be used to replace the current Audio Recording Tool for Languages courses.
  • I added support for .mp4 in more places in OU Moodle (it was already supported in some places). We're transitioning from .flv. Now we're going to be fully ready for the .mp4 video format just in time for it to become obsolete. Awesome!
  • Thanks to the current round of testing from our Technical Testing team, I fixed lots and lots of bugs in OU Moodle (for our June releases) including some in our publicly-available modules (ForumNG, OU wiki) and just a couple in core Moodle 1.9 and 2.0 as well.

I've done some other things in the last couple of weeks too, but I think I'll stop there; this is supposed to just give you an idea, not to be an exhaustive list... sorry about that! However, I should also mention the others on my team:

  • Ray has nearly finished auto-archiving for ForumNG. The idea is you can set forums to automatically delete discussions when they're inactive for a number of months. If you prefer, you can also make it move the discussions to another forum (presumably a hidden 'archive forum' or something). This means that very busy, very long-running forums won't eat up too much database space and won't reduce in performance as the number of discussions climbs into many thousands.
  • Mahmoud has nearly finished advanced search for ForumNG. In addition to the existing free-text search (powered by the ousearch block), you can search by date or by user (full name, partial name, or username).

I hope we'll do the public 'stable version' ForumNG release in a couple of weeks (shortly after the OU's update on June 1st). The idea is that this will be maintained in line with the fully-tested OU updates, rather than getting every new (and possibly broken) feature as soon as we finish it. So it won't have the two features mentioned above, but it should be useful if you want to run ForumNG on a major site.

Finally, a side note: I just bought a tune called Theme From HTML (Steve Hill & Technikal; Dark by Design mix; on Masif). Playing it now. It's very ugly indeed. If you imagine the 4:4 kick/snare is your head and the bassline is a brick wall, it sounds just like coding HTML for Internet Explorer! Awesome.

Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Tuesday, 4 May 2010, 11:33

Hi! Since I'm late with another blog entry, here's a very short one: I thought you might like to see the initial design document for the forum advanced search feature.

This is still sort of subject to consultation, but not very, because we're about to start development (by which I mean, Mahmoud is). Still, if you see anything horrible in there you want to comment about, please feel free.

Design document (Word format)


Permalink 3 comments (latest comment by Sam Marshall, Sunday, 23 May 2010, 01:07)
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Thursday, 25 Feb 2010, 22:19

Yes, I fail at updating blog. Sorry. However! Here's an update.


We fixed several critical bugs in the contrib version thanks to bug reports from the community. Thanks! There have also been bugfixes from our internal testing.

Ray's finished the subscribe-to-discussion feature (but I don't think it is committed to the contrib version yet).

OU blog

Mahmoud's working on the individual-blog feature (aka 'learning journal' - every student has their own individual private blog within a course, which their tutor can monitor).

I put in a feature request to see if we can allow public comments (moderated) so that people who don't have an Open University account can leave comments in my blog. (Wait, did I say my blog?! I mean, the vast array of blogs hosted on our system! Er, don't pass this bit on to the people who prioritise feature requests.) Even if this gets the go-ahead it will be quite some time before it is developed though.

OU wiki

Bryan's annotation feature (which basically lets tutors 'mark' work in the wiki by locking a page and adding comments at any point within the text) is finished and mostly bugfixed, and I think it's great! We've been showing it off to people as part of our upcoming release (see below). I'm afraid this also is not in our community release yet - we need to do an update of ouwiki at some point.

My work

I've been continuing to spend a depressing amount of time on support and bugfixing and troubleshooting and writing specifications and even just on reassigning tasks. I don't actually mind doing any of this, but it's put me way behind on the dashboard system I'm supposed to be developing.

That said this week I did get back into work on that system and it is great (not the system, the work). It's in Java which means everything in the IDE works perfectly (I can refactor, woohoo) and I'm writing unit tests immediately after I finish each new method, with code coverage for tests at about 80% (the 20% is mostly odd/impossible failure cases and stupid setup code and the like). This should be really reliable! I hope.

General comedy

I did a briefing about our upcoming release for Helpdesk yesterday and for Media (an internal division that... eh don't worry about it) today, both done together with Sharon who is in charge of dealing with the transition from the old proprietary conferencing system to forums (and other things) within our Moodle-based VLE.

These already had a certain comedy aura because the 'upcoming release' has just been postponed (somebody's off sick in the team that works on servers and the person who would've stepped in for them is on leave) so we're doing briefings for an update that isn't even going to happen yet. But it's even better because:

  • In yesterday's briefing, somebody turned off the Forums block just before we did the demos. I was showing off the mobile view. 'So er... what there are no forums! ... well if the forums were showing, they'd be there, and it would only show the unread ones...' etc.
  • In today's briefing, the computer in the presentation room has an irritating wireless mouse, and it wasn't working! For added amusement, they replaced the keyboard with one which has all the keys in the wrong place (Return and Backspace tiny and surrounded by other keys) so I kept mistyping.
    After I did some of the demo on keyboard only, Sharon saved the day by going to get the key to the locked cupboard with the computer in, and plugging her own mouse to it. Best moment: when she'd just achieved this, still in my part of the demo, and we were on opposite sides of the room, me with the keyboard and her with the mouse. 'Click on the Resources link!' Good times.

Yes, I have pretty low standards for what consitutes 'comedy' but, well, I work in computing. smile

(And talking of low standards, I also made an an image macro based on the Xzibit 'Yo dawg' meme with reference to a proposed new Open University website design... but I think that one had better stay in-house.)

Permalink 1 comment (latest comment by Sharon Monie, Tuesday, 7 Sept 2010, 15:37)
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Monday, 1 Feb 2010, 17:06

Sorry, I've been neglecting this blog the last few weeks. Just a couple of interesting things to report (well... not very interesting really... but interesting by the standards of this blog).

First, I am presenting a session at iMoot, the international online Moodle conference this week. (You can still register if you like, it's not very expensive. Tim's got a session too, and of course there are plenty that aren't being given by Open University folk as well!)

This runs on a 24-hour schedule meaning that I have to do the presentation at (I think) 01:30 Thursday morning my time... then it gets repeated at a couple other times where I still have to turn up at the end for questions.

The session I'm doing is basically the complete guide to ForumNG - starting from installation and then covering all the fancy features and improvements. I'm hoping to encourage other people who run Moodle installations to try it, or people who teach to pester their administrators to try it, etc. So it'll be a bit like all the screencasts from this blog, except all jammed together at once, in a more coherent order, and (by the time that session ends) with a less coherent presenter. If that sounds like fun, well, hope to see you there. smile

If you don't fancy that, but you're up for a more traditional conferencey thing, I may possibly have a briefer presentation in the normal UK Moodle moot (this proposal has not been accepted yet so we'll have to wait and see).

Second, I know a lot of people outside the OU wanted the 'subscribe to individual discussion' forum feature. Good news, it turns out that people inside the OU want it too! We're scheduled to do it. I finished a (slightly sketchy) spec today and Ray's just beginning the development work.

Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 15 Jan 2010, 17:35

Here's my weekly update. It's just one week into 2010 (workwise) and I'm already feeling a bit tired...

I took the first week of the year off. This week I've been trying to deal with bugs (a few in live system, mainly in the March release that we finished developing before Christmas). One of these was a special bonus IE7 bug in one of our systems. IE7 crashed when you tried to print a page. It turns out that the crash occurred when headings had a margin of 2em. Setting it to 1em or 1.5em solved the problem. WHAT. That browser is crazy.

Apart from that I've been helping developers on my team get started with work for the June release. 'Helping them get started' is a euphemism for 'telling them to do something'. Unfortunately, it usually involves me having to write specifications and answer lots of questions and things like that, which makes it a lot less fun than the average dictator gig.

The goal of doing some actual development has seemed rather far away - I did clear all the assigned bugs now, but there will be more, it's like washing-up or something. Anyhow when I get started on that  I will be working on a new courses dashboard, initially for tutors.

This is going to show you all the forums on all the courses you're tutoring on - links and the 'unread' indicator so you know if you need to check that forum. The idea is that it saves tutors visiting every single course website when they just need to know if the forum changed. (It's not just forums, which by the way it will support both old and new NG ones - we will also show OU blogs and wikis, although they don't have unread information so we will just use the last-changed date.)

Probably the most interesting thing from my point of view is that this development isn't being done inside Moodle! I get to write it in Java. smile It will support some links from other university systems, and maybe eventually include other external systems too - that's why it's not being built as a part of the Moodle system here. (And by the way, you might notice it's actually a little bit like the existing My Moodle feature. But not the same.)

Back to Moodle development, we are doing some more stuff to our contributed modules in this development period. There will be more improvements to ForumNG (and another public release - in fact we're moving development to occur primarily in the contrib cvs, hopefully very soon). And we're finally adding the 'learning journal' feature to OU blog (so that you can have a course blog where students don't see other students' entries).

Finally, I'd like to highlight this article about developing an Android app just because Anthony wrote it. Might be helpful if anyone finds themself needing to do the same...

Now, I think I'll head home... um... just remembered, I do actually need to do some real life washing-up as well... smile

Share post

Converting from old forum to ForumNG

Visible to anyone in the world
Edited by Sam Marshall, Wednesday, 16 Dec 2009, 20:39

Ray's gone on holiday to China (he completed all his scheduled work) so I'm now left on my own finishing off the forum developments for our March release. Which would be fine if people didn't keep finding bugs in the rest of the system. Argh!

Anyhow, I've made another screencast about quite an important new feature that I implemented in between bugfixing over the last few days. We can now convert from an old standard Moodle forum into a new ForumNG, which should obviously be really important for anyone planning to transition to ForumNG.

Screencast about forum conversionVideo player: forumng-conversion.swf (9.3 MB)

Some notes:

  • If you're not from the OU, you might think the 'old forum' shown here looks a little different; mostly, this is just because of our theme, but there are also some custom features that were added to the old forum locally, such as the ability to add more than one attachment. The conversion process will work with standard forums as well as our customised ones.
  • In the screencast I forgot to show the course home page after conversion. Ooops. The converted forum is placed directly below the old forum it's been converted from. Since the old forum is made invisible, the new forum will appear in exactly the same place.

This feature is particularly important to me because occasionally I have to use internal forums that are still using the old forum and it's a bit painful now I'm used to ForumNG! However that was not the primary reason for implementing it. smile

I didn't show them in the screencast but there are some other features Ray and I added since last time, so I'll just mention these here:

  • Export to Word document (it's actually just HTML which happens to load in Word, but don't tell anyone) - you can now use the 'selected messages or whole discussion' system that was developed for the forward-by-email feature I demoed before.
  • Print - you can print a discussion or selected messages, too. This takes you to a simple view of the messages that's more suitable for printing, and opens the Print dialog ready for you to print the page.
  • Save to MyStuff - this is an OU-only feature. Users here can save a discussion, or selected messages, to their MyStuff portfolio. Hopefully at some later date we will convert this forum to Moodle 2.x; at that point, we'll change this feature to use the standard Moodle 2 portfolio API which means everyone will get it.

As mentioned before, all this stuff should be available in the OU's March release, and in an update to the community version hopefully around the end of the month (or early January if I run out of time).

By the way, if anyone's interested in getting a more comprehensive overview of ForumNG rather than these periodic 'what we did this week' updates, especially from the perspective of standard Moodle usage outside the Open University, you might be interested in the iMoot virtual conference in February. I'll be presenting a one-hour (!) session about ForumNG, showing how to use it with standard Moodle 1.9. This will happen in different time zones and the live presentation is at like 2am or something my time. (It'll be recorded and rerun, with a live question session afterwards, at two more salubrious times.) So you'll get to see how well I can do a presentation at that hour of the morning. Well worth the entrance fee... or possibly not. smile

Share post

ForumNG: unread navigation and flags

Visible to anyone in the world

Over the last few weeks I've mainly been having to concentrate on fixing bugs in our upcoming release and indeed our current live system (argh, quiz), but I managed to squeeze in work on a couple of new forum features. I've made another very short screencast to demonstrate them.

Watch the screencast nowVideo player: forumng-unreadflag.swf (6MB, ~3 mins)

Some notes:

  • This screencast uses the standard Moodle theme, which is a lot less pretty than the Open University one! (Thanks to our excellent graphic designers.) I thought it would be nice to show how it looks on standard Moodle one time.
  • These two features were added based (respectively) on student and tutor responses to our existing pilots, and on earlier feature requests from tutors.
  • This is in our March release but if you're a student or tutor at the OU and you're wondering when you get to use this forum, the answer is probably not 'March'! Sorry.
  • If on the other hand you work at another institution that uses Moodle - we haven't yet updated the community release of ForumNG to include these features, so don't download it tomorrow and get disappointed. We'll be updating the community release around end of year, hopefully after that it will keep pace directly with our development.

Hope this was at least a little bit interesting! As usual, there will be more screencasts whenever we have more features to show. Given all the bugfixing that's going on recently, I'm not quite sure when that will be...

Share post

New blog post

Visible to anyone in the world

I asked Ray if he would make a screencast about his new ForumNG features, and (after a little bit of convincing) he agreed! Finally, some variety in this blog.

Play screencastVideo player: forum_ray.swf (note: will not work in IE7 - please use Firefox or IE8).

The screencast covers three minor features in about four minutes. The features will be included in the OU's March update.

  • Permalink (posts are always shown within discussions, but this gives you a link to the discussion with #p1231312 or whatever so that it jumps straight to the post and expands it automatically)
  • Important posts (moderators etc. can mark a post as important, this makes it a different colour and adds an ! icon)
  • Alert (if somebody posts an offensive message, students can report it; this directly sends email to a nominated person so they can check)

Ray was a bit negative about it but I think the screencast is really great! However it did take him a long time (mostly outside work time) to make, which isn't really fair, so I probably won't ask him to do another one... at least not for quite a while.

Two notes for those considering using our forum at other institutions:

1) The screencast shows our version, but outside the Open University, default text on the 'Alert' form obviously won't mention the OU or our code of conduct. Instead there is generic text that should be suitable everywhere. You can replace the text with something specific to the institution using a local language file, which is what we've done here.

2) We haven't updated the community version with these features yet - going to do a batch update  around the end of the year or start of next.

Share post

ForumNG public 'launch' (pilot)

Visible to anyone in the world

Thought I'd add a post about this now instead of waiting for my regular Friday blog post.

ForumNG is now available as an optional add-on for standard Moodle 1.9.

If you run a Moodle 1.9.x installation, please feel free to try it out. However, do bear in mind that this is a pilot version and is sort of halfway between testing (i.e. earlier versions have been tested but we changed a bunch of things since). Please install on a test server first, and do not use for any real work unless you've verified for yourself that it is good enough for your purposes.

If you do find bugs please report them via the Moodle bug tracker. There's a link to that in the modules & plug-ins entry above.

Share post

New blog post

Visible to anyone in the world

Ooops. Didn't do a blog post on Friday, so here it is late...

Nothing very exiting to report in ForumNG-world last week:

  • I made the post throttling (limit posts user can make to forum in one day) option actually work - it wasn't implemented before.
  • I made initial subscription work (it works a bit differently to current forum though - based on the 'force subscription' logic then with negative subscriptions).
  • Ray added permalinks (# link with direct link back to post that you can copy/paste into emails etc) to each post.
  • Ray added highlight post feature for moderators; they can tick a box to make a post a different colour, which should be more obvious.

I'm now trying to get ForumNG to work with the old 'htmlarea' editor that is still used in standard moodle 1.9 (argh) in preparation for contrib release. I may be gone some time...

Share post

March ForumNG features

Visible to anyone in the world
Edited by Sam Marshall, Friday, 30 Oct 2009, 20:32

This week we've started work on development for our March release. They haven't even started testing the December release yet, but these things have to overlap or we'd never get anything done...

There's a lot of development on ForumNG scheduled because the March release is a big push here - we want lots of courses to start moving onto the new forum, for new course presentations that start from that point on. I'm spending the vast majority of my time on it, and Ray Guo is also doing some of the new features. Hopefully I'll get Ray to make a screencast of his stuff so it's not just me all the time.

By the way, the version for Moodle 1.9 contrib (optional install) should be getting made really soon. (Famous last words.)

Anyhow, some people like the screencasts, so I decided to make another one each time I have a new vaguely interesting feature to show. This week I had to spend a lot of time scheduling tasks and suchlike (and getting Tim to do things he doesn't really want to do because he wants to work on quiz... but he's already implemented a really cool admin report). But I did manage to implement a new feature as well.

The feature is 'forward by email'. You can send a whole discussion, or selected posts from a discussion, in an email to any email address.

Here's the screencastVideo player: forumng-forward.swf (about 6MB). As usual, the link requires Firefox or another browser that is happy to play .swf files when clicked.

By the way, I didn't mention it in the screencast, but the whole thing does work for non-JavaScript users (including our 'friends' using IE6; we turned off ForumNG's JavaScript in IE6 because trying to make it work was a nightmare). The interface is basically the same but with less of the fancy visuals and more of the 'click a button, wait for a new page to load'.

Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 248615