bim2 – student and marker fixes

Some more work on bim2, carrying on from last night. Aim here is to attack some of these tasks:

  • Fix problem with mirroring of student feeds.
  • Double check the marker screens.

Mirroring of student feeds

Last night I proposed three possible causes

  1. The caching/operation of the Moodle 2 version of Simplepie and bim.
  2. Left over database entries not cleaned up appropriately during testing.
  3. Errors crept into the mirroring code due to Moodle 2 database API changes.

Is bim2 currently using the Moodle2 version of the SimplePie library for mirroring, rss parsing etc.

require_once( $CFG->libdir.’/simplepie/moodle_simplepie.php’ );


Let’s try a brand new student. Yes, same problem. Is not mirroring the feed properly. Keeps adding all the new stuff. Is inserting the same entry into the database each time, perhaps the problem is with the bim2 code.

So time to look at lib/bim_rss.php. Basic process is

  • Create details_link hash with key being link to posts in the dbase. – BROKEN
    Is giving an empty hash when there should be 6 entries….bim_get_marking_details is broken. Yep, hasn’t been moved across to the Moodle 2 dbase API.
  • Loop through items in the feed
    • if not already in the details_link hash
      • Prepare for entry, including checking if it’s an answer to a question.
      • insert it into the dbase

Minor display problems

In fixing this, there are some minor display problems to fix. This is also probably a porting issue.

  • “showquestions” – apparently meant to be details about questions, rather than a link to a label.
    “showquestions” is a link to the page where students can view the questions they have to answer. However, it should have some descriptive text here. It appears that link_to_popup_window is deprecated in Moodle 2.

    Not sure why this was a popup. Make it a normal window and move on…Oh joy, the language files are cached. Need to turn that off.

  • Links after “All posts” heading – descriptive text is a link
    Being caused by an unclosed anchor tag. Where is that shown? Ahh, lib/locallib.php – fixed.
  • Help buttons “TO DO” – all of them are to do.
    Another conversion not fixed. All those text files need to be moved into the lang file. Done.

That last task also helped test the various transitions that a post can go through: unallocated, allocated/submitted, marked, suspended and released.

At this stage, the student part of bim2 is a go.


The problem with get_marking_details above was caused by unfinished porting of how SQL ” in ” statements are handled. The new “get_in_or_equal” method needs to be used.

This needs to be fixed before moving on. Need to search for implode.

Note: Will need to keep an eye on bim_get_all_marker_stats as it needs to be closely tested.

Marker “screens”

A marker can do the following

  • View student details
    Needed to fix the help popups. Done.

    • View various details about the students – WORKS
    • Download OPML file for their students
      Error in SQL. This is all done in marker/generateOpml.php. Seems the problem is in bim_get_markers_students. Actually the userid isn’t being passed in. that’s fixed.

      Another problem. It’s not actually returning anything for this marker. Actually, a range of problems from the bim1 code. This probably never worked.

      It does now.

    • Register a blog for a student
    • Send an email to all unregistered students – WORKS
  • Mark posts
    • View an overview of marking progress
    • Mark a particular post – which includes a range of changes

Will leave this for now.

Next time I need to continue going through the marker interface.

5 thoughts on “bim2 – student and marker fixes

  1. OK, while I’m admitting ignorance today: Could you tell your readers what Bim is? I assume by context its some sort of software. But what is it? You’ve been posting on it for years, and yet you’ve never told your readers (to myt knowledge) what it is, what B-I-M stand for (if anything), and what it’s used for. Thanks.

    1. :) I was always a tad worried about using the blog as a development diary, in large part because of this.

      Which is why every now and then I do throw in some background.

      The bim2 post prior to this one started with

      So it appears that bim2.0 is increasingly needed (if you don’t know what bim is, check this out).

      The link goes to the BIM page on my blog.

      BIM has some vague connection with gRSShopper in that it is an aggregator of feeds. It is intended to be used within a Moodle course, typically as an assignment where students are responding to activities/tasks on their individual blogs. It helps teaching staff manage/mark/track student posts.

      BIM started life as BAM – Blog Aggregation Management – in the home-grown “LMS” I worked on.

      It became BIM when I ported the idea to Moodle. BIM = BAM Into Moodle

  2. Pingback: bim2 – Marker interface « The Weblog of (a) David Jones

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s