OU blog

Personal Blogs

Christopher Douce

Working with the tutor website

Visible to anyone in the world

Every module has a student facing website which is likely to slightly change for every module presentation, and an accompanying tutor facing website. The ‘tutor website’, as I’ll call it, is a really important resource for any tutor who is tutoring a module.

This short blog post highlights some of the most important elements of a tutor website. Every version of a tutor website is slightly different, but is likely to contain a few common elements: one or more forum spaces, a space to access resources (which may, or may not, be also the forum areas), and a space to have online meetings (although the module team and you line managers might choose to use different rooms in some circumstances).

Tutor websites are ‘go to’ places if you have any questions about any element of the module that you’re tutoring. If you have been asked a question by a student, and you’re not sure how to answer it, you should feel free to ask for help on the tutor forum. Also, if you’re unsure how to interpret, or to mark an element of an assignment, you should also ask on the forum. Tutor websites are monitored by curriculum managers, which means they are able to quickly highlight issues to module team members, or even the module team chair.

You usually gain access to the tutor’s website through a link on the student’s version of the module website. Alternatively, your curriculum manager might send you a link, which you should then keep in a safe place. Two recommendations about how to do this are: save the email in a folder that relates your module, and save the link to the ‘your links’ section on TutorHome or to your dashboard.


Different modules will have different forums. One module might have one main forum, where all tutors exchange perspectives and experiences. Another module might have dedicated forum spaces for each of the TMAs. A recommendation is to have a look at each of these forum areas, and subscribe to each of them.

Subscribing to a forum means that you are sent an email message whenever anyone makes a post. The advantage of subscribing, and receiving an email notification is that your email account can give you an overview of what is happening and what questions are being asked. If you have a high level of email traffic, a practical suggestion is to set up an email filter, so forum messages are all sent to dedicated folders. Do refer to one of the other blogs here about effectively managing your IT. On the subject of forums, do also refer to another article that is about student facing tutor group forums.

Some modules will apply a single component assessment strategy, where module performance is assessed purely through TMA scores. If your module adopts this approach, you might have to carry out what is known as a coordination exercise, which may take place either within a dedicated forum, or on a dedicated forum thread. The aim of the coordination exercise is to ensure that all tutors are marking to the same standards. If you are unsure whether this applies to your module, do speak with your line manager.


Find an equivalent of a tutor’s café forum. A café forum can be thought of as an informal space where views, opinions and experiences can be shared. If you can’t find a café forum, go to the main module forum area. Look for a thread where tutors introduce themselves. If you can’t find one, start one by posting anew message. When you have made the post, make sure you subscribe to the forum area to you can see everyone’s reply.

On some tutor websites, there might be a forum that is used by tutors to share tutorial resources, such as PowerPoint files, and accompanying resources, such as handouts, which might be in the form of Word documents. Sometimes, tutorial resources might be shared within the resources section, or through another tool, which is known as a Wiki.


Find out whether your tutor website has a forum where tutorial resources area shared. Identify a couple of discussion threads where sharing takes place, downloading some PowerPoint resources. Open these resources, and consider how a tutor might use this PowerPoint resource within a tutorial.


As well as being a space to get help and support, the tutor’s website is also a space for the module team to share some essential resources for tutors. For every TMA there will be a set of accompanying tutor notes. These notes, which typically take the form of a Word document, offers exacting guidance about how each student’s TMA should be marked. As well as offering a summary of the marks that should be allocated, they also offer guidance about what answers are acceptable, and what kind of feedback should be offered. The tutor notes represents the offical ‘line’ from the module team about what is acceptable and what isn’t. The role of the tutor is to interpret the student’s submission, the module team’s tutor notes, and to provide constructive comments to help to facilitate learning.


Find the tutor notes for the next TMA. Download a copy of it, and then get a printout of them if you feel this is an approach that might works for you. Read through the notes, highlighting sections that you feel you need to pay close attention to. You might want to consider highlighting important parts of the marking scheme. 

When I start marking, I always begin with a new printout of the tutor notes. I usually print them double sided, with two pages on a side, just to save a bit of paper, and staple them all together. I also get a printed copy of the TMA questions, so I have them side-by-side. I highlight key sections, but sometimes add my own handwritten notes. By the time I have finished marking, my own set of tutor notes look to be a bit torn and ragged.

Some module teams use the Resources section of the tutor websites share additional resources, such as a link to a set of frequently asked questions, or FAQs, or a set of links to any other documents that may offer further background materials that might help with the marking and the provision of feedback.


Look for a discussion about one of the TMA questions a forum area. What issues are being discussed? Has the issue been resolved? Have there been any contributions by the module chair or the curriculum manager?

Tutor rooms

Since tutor websites are editable VLE websites, sometimes the module team will add an online room, which can be used to hold module wide meetings. When a module is presented for the first time, the module chair, curriculum manager and other members of the module team will run what is known as a module briefing. This is where the module team highlights some of the key elements of a module design, summarising its structure and assessment strategy.  Module wide meetings may also be sometimes. used to prepare for exam and EMA marking.


Find out if your tutor website has a module meeting room. If one is available, click on a link that allows you to view a summary of previous recordings. What recordings can you see? Do you notice a recording of any module briefing?

A note about Netiquette

The tutor websites forums are incredibly helpful. If you have a question, no matter how difficult, invariably there will be some tutors who will be able to offer some practical advice to help you out. The tutor forums only work when everyone is willing to share experiences with each other. If you post a question to the tutor forums, do be prepared to answer other questions that are posted. The effectiveness of these spaces relies on everyone being willing to contribute.

Also, if you download a tutorial resource that has been shared by a fellow tutor and wish to modify it, and make use of it in your own tutorial, do acknowledge whoever it was who created the original version. If you do make improvements or enhancements to a resource, do also consider sharing your updated version with your fellow tutors.


The tutor website is one of my ‘go to’ places.

I access it before the start of a new presentation and find myself accessing it regularly throughout the academic year, mostly to access, review and respond to posts that are made on the tutor’s forum. I might, of course, access the site to download updates to the tutor notes. 

A tutor website is used as a repository for resources. If you need inspiration for an upcoming tutorial, the Tutor website is likely to contain presentations that have been prepared by the module team and fellow tutors.

It is a place to visit to ask questions and to highlight issues. If you notice an issue with some module materials, or marking guide, to make a post to one of the forums. Similarly, if you have a student asking questions about the module materials, or the module, that you don’t entirely know how to respond to: ask a question. There will always be a response, often within hours of sharing your point or posting your question.

Permalink Add your comment
Share post
Christopher Douce

Exploring Moodle forums

Visible to anyone in the world
Edited by Christopher Douce, Wednesday, 21 July 2010, 18:08

A set of spanners loosely referring to moodle tools and debugging utilities

Following on from the previous post, this post describes my adventures into the Moodle forums source code.

Forums, I understand, can be activities (a Moodle term) that can be presented within individual weeks or topics. I also know that forums can be presented through blocks (which can be presented on the left or right hand side of course areas).

To begin, and remembering the success that I had when trying to understand how blocks work, I start by looking at what the database can tell me and quickly discover quite a substantial number of tables.  These are named: forum (obviously), forum_discussions, forum_posts, forum_queue, forum_ratings (ratings is not something that I have used within the version of Moodle that I am familiar with), forum_read, forum_descriptions, forum_subscriptions and forum_track_prefs.

First steps

Knowing that some of the data tables are called, I put aside my desire to excitedly eyeball source code and sensibly try to find some documentation.

I begin by having a look at the database schema introduction page (Moodledocs), but find nothing that immediately helps.  I then discover an end user doc page that describes the forum module (and the different types of forum that are on offer in Moodle).  I then uncover a whole forum documentation category (Moodledocs) and I'm immediately assaulted by my own lack of understanding of the capabilities system (which I'll hopefully blog about at some point in the future – one page that I'll take note of here is the forum permissions page).

From the forums category page I click on the various 'forum view pages', which hints that there are some strong connections with user settings.

Up to this point, what have I learnt?

I have learnt that Moodle permits only certain users to carry out certain actions to Moodle forums.  I have also learnt that Moodle forums have different types.  These, I am lead to believe (according to this documentation page) are: standard, single discussion, each person posts one discussion, and question and answer.  I'm impressed:  I wasn't expecting so much functionality!

So, can we discover any parallels with the database structures?

The forum table contains fields which are named: course, type, name, description followed by a whole other bunch of fields I don't really understand.  The course field associates a forum with a course (I'm assuming that somewhere in the database there will be some data that connects the forum to a particular part or section of a course) and the type (which is interestingly, an enumerated type) which can hold data values that roughly represents the forum types that were mentioned earlier.

A brief look at the code

I remember that the documentation that I uncovered told me that the 'forums' was a module. In the 'mod' directory I see notice a file called view.php.  Other interesting files are named: post.php, lib.php, search.php and discuss.php.  View.php seems to be one big script which contains a big case statement in the middle.  Post.php looks similar, but has a beguiling sister called post_form which happens to be a class.  Lib, I discover, is a file of mystery that contains functions and fragments of SQL and HTML.  Half of the search file seems to retrieve input parameters, and discuss is commented as, 'displays a post, and all the posts below it'.

Creating test data

To learn more about the data structures I decide to create some test data by creating a forum and making a couple of posts.  I open up an imaginatively titled course called 'test' and add an equally imaginatively titled forum called 'test forum'.  When creating the forum I'm asked to specify a forum type (the options are: single simple discussion, Q and A forum, standard forum for general use).  I choose the standard forum and choose the default values for aggregate type and time period for blocking.  The aggregate type appears to be related to functionality that allows students to grade or rate posts.

When the forum is live, I then make a forum post to my test forum that has the title 'test post'.

Reviewing the database

The action of creating a new forum appears to have created a record in the forum table which is associated to a particular course, using the course id.  The act of adding a post to the test forum has added data to forum_discussions, where the name field corresponds to the title of my thread: 'test post'.  A link is made with the forum table through a foreign key, and a primary key keeps track of all the discussions held by Moodle.

The forum_posts table also contains data.  This table stores the text that is associated with a particular post.  There is a link to the discussion table through a discussion id number.  Other tables that I looked at included forum_queue (not quite sure what this is all about yet), forum_ratings (which probably stores stuff depending on your forum settings), and forum read, which simply stores an association between user id, forum id, discussion id and post id.

One interesting thing about forums is that they can have a recursive structure (you can send a reply to a reply to a reply and so on).  To gain more insight into how this works, I send a reply to myself which has the imaginative content, 'this is a test post 2'.

Unexpectedly, no changes are made to the forum_discussions table, but a new entry is added to the forum_posts table.  To indicate hierarchy a 'parent' field is populated (where the parent relates to an earlier entry within the forum_posts table).  I'm assuming that the sequence of posts is represented by the 'created' field which stores a numerical representation of the time.

Tracing the execution flow

These experiments have given me with three questions to explore:

  1. What happens within the world of Moodle code the user creates a new forum?
  2. What happens when a user adds a new discussion to a forum?
  3. What happens when a user posts a reply?

Creating a new forum

Creating a new forum means adding an activity.  To learn about what code is called when a forum is added, I click on 'add forum' and capture the URL.  I then give my debugger the same parameters that are called (id, section, sesskey and add) and then begin to step through the course/mod.php script.  The id number seems to relate to the id of the course, and the add parameter seems to specify the type of the activity or resource that is to be added.

I quickly discover a redirect to a script called modedit.php, where the parameters add=forum, type= (empty), course=4, section=1, return=0.  To further understand what is going on, I stop my debugger and start modedit.php with these parameters.

There is a call to the database to check the validity of the course parameter, fetching of a course instance, something about the capability, fetching of an object that corresponds to a course section (call to get_course_section in course/lib code).   Data items are added to a $form variable (which my debugger tells me is a global).  There is then the instantiation of a class called mod_forum_mod_form (which is defined within mod/forum/mod_form.php).  The definition class within mod_forum_mod_form defines how the forum add or modification form will be set out.  There is then a connection between the data held within $form and the form class that stores information about what information will be presented to the user.

After the forum editing interface is displayed, the action of clicking the 'save and return to course' (for example) there is a postback to the same script, modedit.php.  Further probing around reveals a call to forum_add_instance within forum/lib.php (different activities will have different versions of this function) and forum_update_instance.  At the end of the button clicking operation there is then a redirect to a script that shows any changes that have been made.

The code to add a forum to course will be similar (in operation) to the code used to add other activities.  What is interesting is that I have uncovered the classes and script files that relate to the user interface forms that are presented to the user.

Adding a new discussion

A new discussion can be added by clicking on the 'Add a new discussion topic' button once you are within a forum.  The action of clicking on this button is connected to the forum/post.php script.  The most parameter associated to this action is the forum number (forum=7, for example).

It's important to note the use of the class mod_frum_post_form contained within post_form.php which represents the structure of the form that the user enters discussion information to.

The code checks the forum id and then finds out which course it relates to.  It then creates the form class (followed by some further magic code that I quickly stepped through).

The action of clicking on the 'post to forum' button appears to send a post back (along with all of the contents of the form) to post.php (the same script used to create the form).  When this occurs, a message is displayed and then a redirect occurs to the forum view summary.  But where in the code is the database updated?  One way to do this is to begin with a search to the redirect.  Whilst browsing through the code I stumble across a comment that says 'adding a new discussion'.  The database appears to be updated through a call to forum_add_discussion.

Posting a reply to a discussion

The post.php script is also used to save replies to discussions (as well as adding new discussions) to the database.  When a user clicks on a discussion (from a list of discussions created by discuss.php), the link to send replies are represented by calls to post.php with a reply parameter (along with a post number, i.e. post.php?reply=4).  The action of clicking on this link presents the previous message, along with the form where the user can enter a response.

Screen grab of user sending a reply to a forum discussion

To learn more about how this code works, I browse through the forums lib file and uncover a function called forum_add_new_post.  I then search for this in post.php and discover a portion of code that handles the postback from the HTML form.  I don't explore any further having learnt (quite roughly) where various pieces of code magic seems to lie.


The post.php script does loads of stuff.  It weighs in at around seven hundred lines in length and contains some huge conditional statements.

Not only does post appear to manage the adding of new discussions to a forum but it also appears to manage the adding, editing and deletion of forum messages.  To learn about how this script is structured I haven't been able to look at function definitions (because it doesn't contain any) but instead I have had to read comments.  Comments, it has been said, can lie, whereas code always tells the truth.  More functions would have helped me to more quickly learn the structure of the post.php script.

The creation of the user interfaces is partially delegated to the mod and post form classes.  Database updates are performed through the forum/lib.php file.  I like some of the function abstractions that are beginning to emerge but any programming file that contains both HTML and SQL indicates there is more work to be done.  The reason for this aesthetic (and person) opinion is simple: keeping these two types of code separate has the potential to help developers to become quickly familiar where certain types of software actions are performed.  This, in turn, has the potential to save developer time.

One of the central areas of functionality that forum developers need to understand is how Moodle works and uses forms.  This remains an area of mystery to me, and one that I hope to continue to learn about.  Another area that I might explore is how PHP has been used to implement different forum systems so I can begin to get a sense of how PHP is written by different groups of developers.

Acknowledgements: Photograph licenced under creative commons by ciaron, liberated from Flickr.

Share post
Christopher Douce

Forums 2.0

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 20 May 2014, 09:52

I like forums, I use them a lot.  I can barely remember when I didn’t know what one was.  I think my first exposure to forums might have been through a dial-up bulletin board system (used in the dark ages before the internet, of course).  This was followed through a brief flirtation with usenet news groups.

When trying to solve some programming problems, I more often than not would search for a couple of keywords and then stumble across a multitude of different forums where tips, tricks and techniques might be debated and explored.  A couple of years ago I was then introduced to the world of FirstClass forums (wikipedia) and then, more recently, to Moodle forums.  Discussions with colleagues has since led me towards the notion of e-tivities.

I have a confession to make: I use my email account for a whole manner of different things.  One of the things that I incidentally use my email account for is sending and receiving email!  I occasionally use email as a glorified ‘todo’ list (albeit one that has around a thousand items!)  If something comes in that is interesting and needs attention, I might sometimes use click on an ‘urgent’ tick box so that I remember to look at the message again at a totally unspecified time in the future.  If it is something that must be bounded by time, I might drag the item into my calendar and ask my e-mail client to remind me about it at a specified time in the future (I usually ponder over this for around half a minute before choosing one of two options: remind me in a weeks time, or remind me in a fortnight).

I have created a number of folders within my email client where I can store interesting stuff (which I very often subsequently totally forget about).  Sometimes, when working on a task, I might draft out some notes using my email editor and them store them to a vaguely titled folder.

The ‘saving of draft’ email doesn’t only become something that is useful to have when the door knocks or the telephone rings – email, to me, has gradually become an idea and file storage (and categorisation) tool that has become an integral part of how I work and communicate.  I think I have heard it said that e-mail is the internet’s killer application (wikipedia).  For me, it is a combined word processor, associative filing cabined, ideas processor and general communications utility.

Returning to the topic of forums… Forums are great, but they are very often nothing like email.  I can’t often click and drag forum messages from one location into folder or to a different part of the screen.  I can’t add my own comments to other people’s posts that only I can see (using my mail client I can save copies of email that other people send me).  On some forum systems I can’t sort the messages using different criteria, or even search for keywords or phrases that I know were used at some point.

My forum related gripes continue: I cannot delete (or at least) hide the forum message that I don’t want to see any more.  On occasions I want to change the ‘read status’ from ‘read’ to ‘unread’ if I think that a particular subject that is being discussed might be useful to remember when I later turn to an assessment that I have to submit.  I might also like to take fragments of different threads and group them together in a ‘quotation set’, building a mini forum centric e-portfolio of interesting ideas (this said, I can always copy and paste to email!)If a forum were like a piece of paper where you could draw things at any point I might want to put some threads on the left of the page (those points that I was interested in) and others on the right of the page (or visa-versa).

I might want to organise the threads spatially, so that the really interesting points might be at the top, or the not so interesting points at the bottom – you might call this ‘reader generated threading!’  When one of my colleagues makes a post, there might be an icon change that indicates that a contribution has been made against a particular point.

I might also be able to save thread (or posting) layout, depending on the assignment or topic that I am currently performing research.  It might be possible to create a ‘thread timeline’ (I have heard rumours that Plurk might do something like this), where you see your own structured representation of one or more forums change over time.  Of course, you might even be able to share your own customised forumscape with other forum users.

An on-line forum is undoubtedly a space where learning can occur.  When we think about how we might further develop the notion of a forum we soon uncover the dimension of control.

Currently, the layout and format of a forum (and what you can ultimately do with it) is ultimately constrained by the design of the forum software and a combination of settings assigned by an administrator.  Allowing forum users to create their own customised view of a forum communication space may allow learners tools to make sense of different threads of communication.  Technology can be then used to enable an end user to formulate a display that most effectively connects new and emerging discussions with existing knowledge.

This display (or forumscape) might also be considered as a mask.  Since many different discussions can occur on a single forum at the same time choosing the right mask may help salient information become visible.

The FirstClass system, with its multiple discussion areas and the ability to allow the end user to change the locations of forum icons on a ‘First Class’ desktop begins to step toward some of these ideas.

Essentially, I would like discussion forums to become more like my email client: I would like them to do different things for me.  I would like forum software to not only allow users to share messages.  I would like forum software to become richer and permit the information they display to the users be more malleable (and manageable).  I know this would certainly be something that would help me to learn!

Acknowlegements: Picture from Flickr taken by stuckincustoms, licenced under creative commons.

Permalink 1 comment (latest comment by Sam Marshall, Thursday, 5 Feb 2009, 12:30)
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: 2141500