OU blog

Personal Blogs

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 3 July 2009, 18:02

I've got most of the ForumNG discussion page working, but there's quite a lot left to do too - the fancy AJAX stuff is half-done, and I haven't done any of the controls that go along the bottom of the discussion yet (lock, move, join, view readers, export). Also, I haven't applied the pretty blue OU theme to it. So a screenshot of that can wait for next week.

Instead, here's the History page for a post that has been edited, which I just coded:


This is available via a link beside the 'Edited by' text on a post. Only moderators (those who can edit other people's posts) have access to it. It shows all previous versions of the post (in this case, there were only two versions).

One possible use for this feature is so that staff can find out if a student posts something offensive, then edits it 20 minutes later, before they get told off but after they've offended someone! Hopefully not a very common occurrence with OU students, who I'm sure are always exemplary in their behaviour... although I was vaguely considering signing up for a course, in which case that will obviously change...

[The feature can also be useful if there are multiple moderators, so that one moderator can check to see what another moderator did, etc. Or for answering 'what on earth happened to this conversation?' questions if somebody edits a post to remove a section which people have already replied to. And so on.]

Old versions of edited posts are optionally deleted after a time limit, by default 30 days. We probably won't be enabling that feature at the OU.

Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Tuesday, 30 June 2009, 16:46

It's not a Friday, but it is way too hot (about 30C in our office) and I need a break, so here's a blog post.

This time it's about accessibility. I had a think (and discussed with one of our in-house experts) what to do about screenreader accessibility for forums. Turns out nobody really knows.

Here's my best shot at it - this is a screenshot of a ForumNG discussion with 'View / Page Style / No Style' in Firefox, which is a convenient way to approximate what screenreader users 'see'. (Yes, there are extensions etc. that do it more accurately - or you could actually use a screen reader, but last time I installed JAWS it did horrid things to my computer, so not going there again. Anyhow.)


Here are the accessibility points in the above screenshot:

  • Each post has a level-2 heading (which is not visible to sighted users). This means that screenreader users can skip through posts by pressing the H key. [If the post has a subject, that'll be a level 3 heading.]
  • The level-2 heading gives each post a number (not visible to sighted users). Numbers are in date order of posting.
  • The heading tells you which post (by number) the current one is a reply to. (That's also a link, should it be necessary to skip back up to the parent post.) This is important because screenreader users likely don't have access to the visual information that indicates it - indents to indicate which post replies to which.
  • Also in the heading is information about the category of the post that is otherwise only available visually - whether it is 'summarised' (showing only the first few words) or not, whether it is 'unread' or not.
  • All the links that are copied for each post (Reply, Edit, Expand, etc) contain the post number so that the links are unique. [Having lots of links with identical titles is an accessibility problem.] Again, the post numbers do not display to sighted users, there it just says 'Reply'.
  • There is some use of appropriate XHTML: in addition to headings (as mentioned), the per-reply commands have been formatted as an unordered list.

I'm sure we can do better but I think this is a good start and it illustrates a few tricks and issues so I thought it might be useful for other people.

If anyone has easy-to-implement suggestions about improving accessibility further over this layout, please add them here. Difficult-to-implement suggestions will probably be ignored. smile

Share post

Forum start discussion

Visible to anyone in the world
Edited by Sam Marshall, Friday, 26 June 2009, 17:35

Here's another forum update, but first, an apology - yes these posts are getting old, but it is what I'm working on, so I'm hoping it's of interest to someone... somewhere... somehow...

I could write an amusing anecdote instead... but then I can't post it here because the wrong people might read it! Bad enough that I said in one meeting this week 'this feature is absolutely insane, I'm not doing it, just no' and only then found out that the person who requested it was sitting opposite... smile

So, forum. Well, here's the 'start new discussion' screen. In a refrain which has become depressingly familiar, it looks exactly like the old one.


This form basically works now, except for all the features I haven't tested. Hey, those might work too! (Not testing code is sort of the equivalent of sticking your fingers in your ears and shouting LA LA LA I'M NOT LISTENING!!!! - it's great.)

I don't think I mentioned the technical architecture yet. While it doesn't affect the screenshot above (as you may have guessed, I created the code for this form by copying and pasting all the code from the old version then changing it about), the architecture is quite a lot different.

  • This is a slightly object-oriented design: the main system is contained in classes forum, forum_discussion, and forum_post. All the back-end behaviour is handled in these classes (oh, and forum_cron).
  • Forum types are now plugins and also object-oriented. Types entirely control the display of the 'view' (discussion list) and 'discussion' [not yet implemented] page, although it's expected that they will do this by using base class methods rather than really changing it too much.

One piece of good news this week, if anyone's considering switching to this forum once it's developed: Jenny (the OpenLearn lead developer) told me she's hoping to implement the conversion code so that you can convert a standard forum with all its messages into a ForumNG. Yay!

That's it for now. I'm hoping to start work on the discussion page next week (after I deal with umpteen critical bugs) and brace yourself - it's actually going to look different!

Share post

More tedious forum progress

Visible to anyone in the world
Edited by Sam Marshall, Friday, 26 June 2009, 17:34

Given the amount of time I had to spend fixing bugs and attending meetings and doing support this week, it's not surprising I didn't get that much done on the new OU forum. Still, here's another 'oh look! It's just like the old version!' screen:


As you can see, it does indeed look just like the old version - though OU users may notice we've put back user pictures, which are already in this screen on standard Moodle.

On this screen, the 'mark unread' buttons are currently non-functional, as are the links to view discussions (I haven't done that screen yet) and the 'Add a new discussion topic' button (ditto). But paging works. Woohoo! Woohoo indeed.

New features that will be on this screen, most of which also don't work yet:

  • Sorting - the default sort is by 'Last post' date (newest first). You'll also be able to click on the other column headings to sort by 'Discussion' (alphabetical), 'Started by' (alphabetical), and possibly by 'Replies' (biggest first) - not sure about this one. This will be a proper database sort, so you can use it even if there are multiple pages. Note: This feature is already in the OU's customisation of old forum.
  • Sticky discussions - this is sort of half-done. These will display at the top of the list regardless of sort (if there are multiple sticky posts, they will show in the selected order). These may look different in some way (eg pin icon) and there will be a dividing line between sticky posts and normal ones.
  • Locked discussions - again half-done. There will be an icon (eg lock icon) indicating when posts are closed for further discussion.
  • Deleted discussions - not sure if that will be at the bottom of this page, or on a linked separate page, but there will be a way for admins to view the list of deleted discussions in the forum. [In ForumNG, nothing is 'really' deleted straight away - only marked as deleted, so admins can still see it. It can be really-deleted after 30 days, or not at all if you're feeling flush with DB space.]

Another exciting progress update next week! Maybe.

Permalink 4 comments (latest comment by Sam Marshall, Tuesday, 30 June 2009, 16:19)
Share post

New blog post

Visible to anyone in the world
Edited by Sam Marshall, Friday, 5 June 2009, 17:06

I'm making some progress on the forum, in between bugfixing and eating licquorice all-sorts (thanks James!). Here's the index.php:


If you squint, you'll see that it is basically the same as the current forum's index screen. (Of course, if you're an OU user, you may realise that we don't actually use the forum index screen here!) There are three notable changes:

  1. The 'unread' count is given as a number of discussions containing unread messages, rather than a number of posts. (This was easier to compute and makes more sense since it's next to the total number of discussions, not posts.)
  2. Feeds are available in both Atom and RSS format (like our blog). These don't actually work yet.
  3. The 'general / learning forums' dichotomy isn't present. This forum doesn't integrate with the latest course news block etc, so there isn't really any such thing as a 'general' forum.

Clicking on the links to the forum takes you to the forum discussion list, which isn't done yet either... smile In fact this is the first 'finished' main UI screen (the global settings page is finished too, but that's not very exciting).

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: 248706