Wednesday, January 30, 2008

posting from Python

just dorking - trying to figure out how to post from WordPy.

I should move to my next local bug, having just corrected our additions to RealmsAction.java which post sakai events for provider changes, but I wanted to take a little break.

Wednesday, January 23, 2008

crazy things you hear in davos

I made it into Davos last night.

The European rail system was a welcome relief from the rent a car drive and park drill, I watched the landscape grow whiter as I climbed into the Alps.

Mitchell & I met up for a nice Thai dinner and planned which sessions we would attend. We tend to skip the internet sessions as they are often recaps for us. Its more fun to go to sessions on topics we are not so involved in.

At an interesting session on the Arab world I fohund out that the Iraq war was orchistrated from Israel. I didnt know there were Israeli oil companies.

Something more easily believed was that the Arab and Egyptian youth are heavily wired.


tech note: the WEF stopped handing out those funky palm pilots. They're of theopinion that everyone has a handheld, like this Nokia 810 I am using. (so forgive the typos.)

Monday, January 14, 2008

When is a Realm not a Realm?

In chasing around the corners of SAK-11320 I stumbled across an odd piece of behavior.

I was pulling all the Realms for a Site with intent to refresh them. When I refreshed the Realms Section Info started to lose track of Section members. The Realms were reporting the proper membership but SI was reporting empty sets. The catalina log had a helpful message about "needing at least one Student." The CM data had the students, the Realm / Group had the students, what gives?

As I kept eyeballing the Realms in the Realm tool I finally scrolled down to the Roles display. No Roles? huh? We have PlentyOfRoles at Stanford?!

My code pulled the Realm/Groups for the Site via the getAuthzGroups(Criteria, Pager) method. It turns out that the resulting Realm Groups are not fully populated; they are missing the Roles! When the Realm refresher goes out and ... well, refreshes the realm it uses the Roles defined in the Realm as part of the refresh. Since the list accessor wasn't providing Realms/Groups with Roles the refresh was incomplete.

Section Info was looking for the Role of Student - or at least one person with the Role of Student. It didn't care that there were people in there; w/out a role what good are they,eh?

It became necessary to re-query for each Realm returned by the getAuthzGroups call individually. Then saving the Realm refreshed the data from the Provider and kept the Roles.

http://jira.sakaiproject.org/jira/browse/SAK-12702

Thursday, January 10, 2008

Fan Mail.

Here is some fan mail from a Stanford instructor who was trying to load a MS Word document into the IMS QTI importer:

Remedy wrote:
Coursework will not upload a word documnet I have tried remanimg etc. It is only two page homework assignment. I must say that the new coursework is anythign but user friendly. I have used computers for almost 40 years and consider myself extremely knowledgeable with computer software but this new version leaves a lot to be desired. Why is it that smart computer scientists just can't get it right?

Here is the error that I keep getting. I never had a problem with this homework in previous years.

*********************************************
There was an error importing this assignment. Ensure that the file is correctly formatted IMS QTI. Error details:org.sakaiproject.tool.assessment.services.qti.QTIServiceException: java.lang.NullPointerException
************************************


A timely response would be greatly appreciated.
[ name removed ]
I've left the spelling as we got it from Remedy, our help ticket system. Our Supporter pointed out that that there are more appropriate places in Sakai to upload simple documents. The testing tool, Samigo, sure isn't it. I added with a pointer to the IMS project. The thread continues in email to me, directly:

Why is it that software people insist that I need to reed tuns of material to do something as simple as posting a homework on the coursework webpage. It use to be so easy. Why did it become so complicated that now I need to spend my precious time reading how to load material on the page? You must think that faculty just have nothing better to do. I really don't care to learn another protocol or whatever this is. I just want ot upload the homework so that the student can get it. It is really rendering the website useless if I need to go through all kinds of hoops. I will just photocopy it and get it over with.
[name removed]

PS Just because other universities are using it does not mean it is something great!
I just hope this instructor uses a spelling checker before going to the photocopier.

Our UserX group made instructional videos, for Pete's sake, because they knew folks wouldn't 'reed tuns of material' before they started using Coursework/Sakai.

back to bugs.

Start of Term & New Release

The Stanford Winter term started Tuesday without Marc Brierley.

What I liked best about Marc was how he really really tried to engage you, and was dogged and admirably pleasant about it. You couldn't even shake him too much by being rude to him. He would always look for another tact. He was really getting the whole software-development picture too. Our team is really damaged right now, and there is a very low grade of functioning as people are trying to cope. I can't really imagine how his wife and parents are doing.

So the Quarter.

We didn't have the login-latency/failure and DB load issues we hit in fall. That's great, but it wasn't worth coming back from skiing for... :) ( wonderful powder in Tahoe after the winds died down.)

Operationally our issues were:
  • We didn't catch that one of the servers wasn't back up after the Holiday Upgrade. This is a 'back office' server which isn't in the end user pool, so it's not in the monitored pool. It's running with a modified Quartz configuration which provides a private Job pool running only on that machine.
  • Some of the Out Of Band (OOB) Course Site administration Quartz jobs which run on that machine were not defined to work in sync with our partners CRON jobs.
  • A return Tuesday night of an occasional lack of SSL setup from our Sakai boxes to the Registry. We failed to pull 5-600 XML Course documents that night. (Yes I built it to pause and retry...) This of course causes a great deal of confusion. Wednesday night we had not a single problem - no code change of course. I've seen SSL setup failures on low-memory conditions and in Tomcat when class loading of the jsse stuff gets mal-sequenced (really, search the tomcat newsgroups). My Operations Guy, Julian Morley and I have not yet been able to reproduce the condition, so we have an out of user-pool production Sakai server running with -Djavax.net.debug=all hoping we get a catch.

End-user issues abound due first to the Sakai UI. Users can't find their Course Sites. Here is a summary:
  • The tabs showing Course Sites are in their usual wonderful semi-chronological order, and W08 Sites are buried under the "more" pulldown. There must be dozens of these a day.
  • Not all instructors have published their Sites ( some don't know how. many don't want to know how. )
  • The student signed up for the Course 10 min ago and the data hasn't flushed through to Sakai yet.
  • Not all Stanford courses are represented in Coursework. They are all present in the Peoplesoft front end, Axcess, and so many folks expect them to be automatically present in Coursework/Sakai... which is a strict no-no from the Stanford instructional staff. (Many want no semblance of any online presence for their efforts. Check your calendars, folks.)
  • Instructors are quickly hired and it takes a few days for their records to flow through the sad slurry of tubes and pumps Stanford uses to send data around.
  • Enterprise network Ids, the SUNetIDs, are in delayed for provisioning.
  • Courses are cross-listed only in the minds of the instructors...
  • Courses IDs are different than what the Student things...
Since this is only the second quarter in Sakai for the vast majority of our users I expect the HelpSU tickets to start falling off rapidly.

There is a stickler - sometimes we still need to kick the Site Info Update Participants button to refresh the Course Site. This is after we can see the user info flow from the Registry, to Sakai's Course Management tables, and the Site Realm getting updated... and still now and again the user does not appear to be in the site.

The biggest problem is the broken Sections / Realms bug, SAK-11320 where Section Aware tools using ACLs in XML lose track of Realm Membership via Section Manager updates. (ACLs in XML? in a column? ah well.) I understand that Michigan goes in and updates the XML itself when there are problems. This effects all sorts of not-even-really-advanced uses of Sakai Sections.

Our CM Sync code cleans up orphaned Realms. I think this causes the problem to become apparent; otherwise only 'new people' will have ACL problems in the Section Aware tools, and I'm not sure how often other Sakai deployments churn their Sections. An easy thing I can do is leave that hunk of code out. This will result in an astounding growth of unused / out of date Realms. I have to think that other big deployments trim these after time.

At least then we won't see very abrupt changes in access rights.

I'm going to go work on that now. In our Stanford 2.4.x branch. Then I'll see if I can get a Sakai 2.5 build going and if the patch is appropriate for the next release.

Then I go to Davos Switzerland! whoo hoo!