Fixing one part of the peoplesoft gradebook

The following is a development log of an attempt to fix one aspect of the Peoplesoft gradebook used at my current institution.

Why and what?

The problem

At the end of semester all assignment marks end up in the Peoplesoft gradebook. An old school web information systems that the academic in charge of a course has to use to do some last minute checks and changes. One of those changes is to change the grade for students who are within 0.5 of grade level. e.g. a student with a mark of 49.6 shouldn’t get an F, they should get a C (which is the pass mark).

Peoplesoft won’t do this. The academic has to manually scroll through the list of students (ordered alphabetically by student name) looking for those that in this range. Once found the new grade has to be manually entered into a textbox. This is a problem, especially if your class has a couple of hundred students.

The solution

The solution developed below is a Greasemonkey script that will automate this process. It will, once installed

  1. Detect that the peoplesoft gradebook is being displayed.
  2. Look for any students within 0.5 of a grade level.
  3. For each of these students found
    • Change the background for that row to red.
    • Place the upgraded grade in the appropriate textbox.
  4. Look for any students who have already been upgraded, change the background of their row to green.


Identifying the gradebook

First initial problem is that the Peoplesoft gradebook is using iframes. Which complicates things a little. Especially in identifying the appropriate iframe and then getting the script to only activiate when the appropriate document is loaded. Not to mention no great surprise that we’re talking some really ugly HTML here.

The actual data for each student is spread over a row with XXX main cells each with div elements with specific ids (the $0 appears to increment per student)

  • win0divHCR_PERSON_NM_I_NAME$0 – span HCR_PERSON_NAM_I_NAME$0 contains the name
  • win0divSTDNT_GRADE_HDR_EMPLID$0 – span STDNT_GRADE_HDR_EMPLID$0 – contains the EMPLID
  • input text box with id STDNT_GRADE_HDR_CRSE_GRADE_INPUT$0 is where the changed grade might get entered.

It appears to be part of a form with the URL ending in SA_LEARNING_MANAGEMENT.LAM_CLASS_GRADE.GBL and appearing in an IFRAME with id ptifrmtgtframe – which I assume is a generic iframe used on all the pages.

So the plan appears to be for the script to

  1. Only respond for the broad URL associated with the institutional gradebook.
    Done via the standard Greasemonkey approach.
  2. Only kick into action on the loading of the iframe with id ptifrmtgtframe.
    This appears to work.
    [code lang=”javascript”]
    var theFrame;
    theFrame = document.getElementById(‘ptifrmtgtframe’);
    theFrame.addEventListener( "load", my_func, true );
  3. Check to see if the form SA_LEARNING_MANAGEMENT.LAM_CLASS_GRADE.GBL OR perhaps the presence of the ids from the table above
    Have modified the above to pass the frame in and was using that to determine the presence of the textbox. The problem is that there is a further complication to the interface. Jumping to the specific page in the gradebook (there are three) is being done by a “javascript:submitAction_win0(document.win0…..)”. This isn’t showing up as an on load for the frame.

    Found this post which talks about one potential solution but also points to someone who’s been doing this for much longer and in more detail.

  4. Have they included the number of students in the HTML? – no, doesn’t look like it.

A rough attempt to understand what is going on

  1. Faculty centre loads with list of courses.
    The standard entry into gradebookFix is run at this stage – alert is shown. And then the iframes load.
  2. Click on gradebook icon trigger the current iframe load event and shows the three different gradebook icons.
    The my_func function is run via an event listener for onLoad for the ptifrmtgtframe iframe. But this is only run the once as….
  3. Click on the “cumulative grades” doesn’t load a new iframe, calls the javascript:submitAction_win0 method.

The aim is to modify the click on the particular link so that something else happens. How about

  1. Modify onload to look for that link and add a onclick event.
    The id for the link is DERIVED_SSR_LAM_SSS_LINK_ANCHOR3. The problem is that attempting to add an event listener to this is not working. i.e. a call to getElementById is not working. Aghh, that’s because these things aren’t normal Javascript type objects, but special Greasemonkey wrapped stuff.
    [code lang=”javascript”]
    var theLink = theFrame["contentDocument"].getElementById(‘DERIVED_SSR_LAM_SSS_LINK_ANCHOR3’);

    theLink.addEventListener( "click", function(){ alert( "CLICK ON LINK CUMULATIVE" ); }, false );

  2. Have a function that is called on click.
    The struggle here will be that the click is actually the start of a query that results in the content being changed. But not necessarily recognised by Greasemonkey.

    Perhaps a timeout and then another bit of code like this might work. This could be tested simply be re-adding the on-click. This will sort of work, but again, is only set when the iframe loads for the first time. If any other navigation happens it won’t re-add any changes in.

    Have added it to the other two main links for gradebook. Possible this will be a sufficient kludge for now.

  3. Looks like we need to capture the submitAction_win0 method after all.
    Nope, have figured a kludge

Identifying the student rows

The following code segment will change the background/font color of the first student’s name
[code lang=”javascript”]
function updateResults(element) { var name = element.getElementById(‘win0divHCR_PERSON_NM_I_NAME$0’); = ‘red’; = ‘white’;

Above specifies the names of the different student fields. The difference is the number after the dollar sign – 0 up to the last.

Steps required here

  1. Identify how many students are on the page.
    Will be useful for a for loop to go through each. xpath might offer a possibility? JQuery? A simple while loop could also do the trick. Will go with that.
  2. Determine what to change
    Plan is

    • RED – need attention i.e. marks that should be over-ridden with suggested override in place.
    • GREEN – those that have already been over-ridden previously.
    • no colour/change – correct as is.

All done. Seems to work.

On the difference between "rational", "possible" and "desirable"

A couple of weeks ago @kateMfD wrote a post asking “What next for the LMS?”. (one of a raft of LMS posts doing the rounds recently). Kate’s point was in part that

The LMS is specifically good at what universities need it to do. Universities have learning management systems for the same reason they have student information systems: because their core institutional business isn’t learning itself, but the governance of the processes that assure that learning has happened in agreed ways.

The brief comment I shared on Kate’s post shared some discussions @beerc and I had 6 or 7 years ago. Back then we were responsible for helping academic staff use the institution’s LMS. I was amazed at how manual the process was and how limited it was in its use of standard checks. For example, it was quite common for a new course site to be pointing to last year’s course profile/synopsis (a PDF). This wasn’t being picked up until a student or two complete all of the following steps

  1. Actually bothered use the link to the course profile form the course site.
  2. Figured out that it was pointing to last year’s course profile.
  3. Was bothered enough by this problem to report it to someone.

Rather than be reactive, it seemed sensible to write a Perl script or two that would “mine” the Blackboard database and identify these types of problems very early in the semester so we could proactively fix them.

At that stage, “management” couldn’t grasp the value of this process and it never went anywhere. I never could understand that.

Fear of management rising

Not long after that – as the learning analytics fad started to rise – Col and I were worried about what management would do once they joined the band wagon. In particular, we wondered when they might identify the problems that ideas like “Web 2.0 tools” (blogs, Second Life etc) or Personal Learning Environments (another fad we were playing with at the time) would pose for learning analytics. i.e. to run “learning analytics” you need to have access to the data and a University generally won’t have access to the data from tools that are personal to the learner and external to the institution.

Given Kate’s identification of management’s purpose around learning – “governance of the processes that assure that learning has happened in agreed ways” – Col and I have been waiting to hear of Universities banning the use of external/personal tools for learning/teaching because it broke their “learning analytics”. Around the same time as Kate’s post, I heard that on southern University was indeed going down that route, and that’s the comment I made on Kate’s post.

Why is this a problem?

This morning @drwitty_knitter replied to my comment with

I would think this is quite common. Universities like to be able to track where money is being spent and what the outcomes are for students. Unless tools have some way to report what students are doing, and how that relates to their curricular goals, it would be hard to justify their use.

And I agree, I think it will becoming increasingly common. But I also still think it’s a really, really bad idea. @beerc, @damoclarky and offered one explanation why this is a bad idea in this ASCILITE’2012 paper i.e.

Insight gained over the last four years exploring learning analytics at one university suggest that the assumptions embodied by managerialism may be an inappropriate foundation for the application of learning analytics into tertiary learning environments

In short, in order to believe it is possible to use analytics to connect what students are doing with their curricular goals can only occur if you make a range of assumptions about the nature of people, learning, and universities that fails to engage effectively with reality. No matter how complex the learning analytics algorithms and systems used, the only way you can achieve the stated purpose is to attempt to reduce the variability of learning and teaching to fit the limitations of the capabilities of the technology.

Which is exactly what is happening when institutions ban the use of personal or external tools.

This won’t be enough. As we show in the ASCILITE paper, even if you limit yourself to the LMS, the diversity of learners and learning; and, the chasm between what happens in the LMS and actual student learning is such that there will still be huge questions about what the analytics can tell you. This will lead to at least two likely outcomes

  1. Management will believe what the analytics tells them and plan future action on this poor foundation; and,
  2. Management won’t believe the analytics and thus will further reduce the variability of learning and teaching to fit the limitations of the capabilities of the technology.

The last option contributes to the problem that Chris Dede identifies in this clip:

that the very, very best of our high-end learning environments have less variety than a bad fast food restaurant

The three paths

In an ASCILITE’2014 paper we identify three paths that might be followed with learning analytics

  1. Do it to.
  2. Do it for.
  3. Do it with.

Our argument is that almost all of the learning analytics work (and increasingly much of what passes for learning and teaching support activities) is following the first two paths. We also argue that this will end badly for the quality of learning and teaching and will contribute to learning analytics being yet another fad.

The “Do it to” path is completely rational if your task is to ensure the quality of learning across the institution. But it’s only possible if you assume that there is no diversity in learning and teaching and that “learning” is the data captured in digital trials left in institutional databases. I don’t think it is either possible or desirable, hence I don’t think it’s rational. YMMV.

What do new views of knowledge & thinking have to say about research on teacher learning?

I’m finally getting/creating a smidgin of time to continue exploring what “distributed” views of knowledge and learning might say about understanding and helping teachers (of all ilks) learn more about what they do. The following is a summary of Putnam and Borko (2000)

Which gives a straight forward overview of the “situated perspective” and how it links to existing research (from the 90s) into teacher learning

What it’s about

Lots of attention is being paid to new ideas about the nature of cognition and learning – i.e. situated cognition, distributed cognition and communities of practice aka the “situative perspective”.

Lots of discussion about using this to help students learn. Less attention paid to teachers either

  1. “to their roles in creating learning experiences consistent with the reform agenda”, or
  2. “how they themselves learn new ways of teaching”. (p. 4)

Putnam and Borko (2000) aim to focus on the latter. Which is exactly where my interest lays. The paper’s focus is

  1. Use the “situative perspective” to understand recent research on teacher learning.
  2. “explore new issues about teacher learning and teacher education that this perspective brings to light”
    Which they divide into three issues

    1. Where to situate teachers’ learning experiences
    2. The nature of discourse communities for teaching and teacher learning
    3. the importance of tools in teachers’ work

    Apparently covered in more detail in Putnam & Borko (1997)

Conceptual themes of the situative perspective

Three conceptual themes, that cognition is

  1. situated in particular physical and social contexts;

    the physical and social contexts in which an activity takes place are an integral part of the activity, and that the activity is an integral part of the learning that takes place within it. How a person learns a particular set of knowledge and skills, and the sit- uation in which a person learns, become a fundamental part of what is learned (Putnam and Borko, 2000, p. 4)

    Hence the push to authentic activities in classrooms. Apply it to inservice teacher education/professional development? What makes for an authentic activity?

    we consider the kinds of thinking and problem-solving skills fostered by an activity to be the key criterion for authenticity (p. 5)

  2. social in nature ;

    interactions with the people in one’s environment are major determinants of both what is learned and how learning takes place…..Individuals participate in numerous discourse communities….(which) provide the cognitive tools…that individuals appropriate (p. 5)

    Generates questions about the type of communities to create in a learning situation – disciplinary communities, or “learn to learn” communities?

  3. distributed across the individual, other persons and tools.
    This section is perhaps a little more underdone than the others.

    Rather than considering cognition solely as a property of individuals, situative theorists posit that it is distributed or “stretched over” (Lave, 1988) the individual, other persons, and various artifacts such as physical and symbolic tools (Salomon, 1993a) (p. 5)

    And the problem is that school’s focus on “tool-free performance, and on deconstexualised skills, educating people to be good learners in school settings alone may not be sufficient to help them become strong out-of-school learners (Resnick, 1987, p. 18) (p. 5)”

Issues arising for teacher learning and teacher education

  1. Where to situate teachers’ learning experiences

    The question is not whether knowledge and learning are situ- ated, but in what contexts they are situated. For some purposes, in fact, situating learning experiences for teachers outside of the classroom may be important-indeed essen- tial-for powerful learning (p. 6)

    The situative perspective encourages a focus on exploring how different settings for teacher learning generate different types of knowing? Broad types

    1. In individual teachers’ classrooms
    2. Teachers bring their classroom experiences to outside workshops.

    The idea of inter-twinning learning with on-going practice.

    Problems include

    1. Scalability
    2. Difficulty of changing mindsets when retaining the connection to the existing situation. To break out of existing mindsets may require entry into a different setting.

    Which generates the problem of integrating new/different ideas back into the existing setting. Which leads to the idea of “follow up”. Brand new experience, and then on-going support to help with integration.

    Moves onto apply this to teacher education and quotes Bird (1992, p 501)

    . But this image re- quires a stable, satisfactory practice that the novice can join. If the aim of teacher education is a reformed practice that is not readily available, and if there is no reinforcing culture to support such practice, then the basic imagery of apprenticeship seems to break down. Teachers’ knowledge is situated, but this truism creates a puzzle for re- form. Through what activities and situations do teachers learn new practices that may not be routinely reinforced in the work setting? (p. 501)

    Talks about the case-based approach as one way to address this. Couple of paragraphs on this.

  2. The nature of discourse communities for teaching and teacher learning

    . These discourse communities play central roles in shaping the way teachers view their world and go about their work. Indeed, patterns of classroom teaching and learning have historically been re- sistant to fundamental change, in part because schools have served as powerful discourse communities that enculturate participants (students, teachers, administrators) into traditional school activities and ways of thinking (Cohen, 1989; Sarason, 1990).

    Also draws on the work of Ball (1994) to talk about how the individualism of teaching makes it difficult to agree on common standards, difficult to disagree and hence limits critique and challenge….”teaching remains a smorgasbord of alternatives with no real sense of community, , there is no basis for comparing or choosing from among alternatives, no basis for real and helpful de- bate. This lack impedes the capacity to grow. (p. 16)” (p. 9)

    Links to various research projects mixing academics and teachers to get the mix of theory and practice to engage in discussions and generate practical solutions. But does mention some problems that arise. e.g. Richardson (1992) “agenda-setting dilemma”

    In looking at pre-service teacher education the suggestion is that they “have focused more on the development of individual knowledge and competencies thought to be important for teaching than on the establishment of discourse communities for prospective teachers” (p. 9). But that if existing professional communities aren’t “reformed” then this causes problems.

  3. the importance of tools in teachers’ work

    The situative perspective provides lenses for ex- amining more thoughtfully the potential of new technolo- gies for supporting and transforming teachers’ work and learning

    Looks at tools from the perspective of: Tools to enhance/transform work of teaching, and Tools to support teachers’ learning. Didn’t find much of interest in that.


Putnam, R., & Borko, H. (2000). What do new views of knowledge and thinking have to say abut research on teacher learning? Educational Researcher, 29(1), 4–15. Retrieved from

Unintended consequences of technology in education

My wife is currently studying engineering. One of her fellow engineering students is also studying some mathematics on the side. He shared the following tale of unintended consequences arising from technology in the education.

In a particular mathematics course the students are set homework. The lecturer will then work through the solutions of these homework problems in the next lecture. This is done by using the solutions manual (provided by the publisher I assume) and the document camera available in the lecture theatre.

Small problem. Can you pick it?

Apparently the lecture is recorded and made available online. Also, the lecturer has a habit of flicking through the solutions manual to find the right page whilst the manual is under the document camera.

It appears that the students have discovered you can pause the online video recording and take a good hard look at what’s revealed.