AMLS Rec Engine

Now anyone can tap into the Amazon Machine Learning Service (AMLS)?

I’d love to see Ellucian’s Banner product make smart recommendations based on AMLS. Students register for university classes through Banner. I could see Banner leveraging AMLS to figure out that students who like certain classes might be interested in other classes. There already is a market trying to improve retention by detecting students who have trouble on certain classes or tests or questions get flagged for extra attention. I could see AMLS helping the other spectrum. Students who take a certain class might be interested in certain cooperative education opportunities, clubs, or campus events. Or vice versa, such as students who join the environmental protection club might be interested in an elective class about the impact of biological pest controls vs pesticides.

Or maybe AMLS going beyond class recommendations is more appropriate for Ellucian’s Luminis portal product.

Higher education is full of opportunities for connect students to things about which they are oblivious. Flyers on various walls easily miss students. Enormous daily emails go straight to junk mailboxes. Students (and staff and faculty) deserve smarter ways to connect to the things that will make their experience better. Done right, I could see AMLS filling that need.

Integrating D2L-Drupal Via LTI #USGRockEagle13

Tom Boyle, Kennesaw State University

  • Half Drupal and half Desire2Learn interest.
  • Request to determine how to decrease time it takes for an online student to go from application to orientation to advisement to registration.
  • Orientation took place in Desire2Learn.
  • Script looks for applicants in Banner and creates the user in Bulk User Management. Registrar enrolls them in the course.
  • Student takes the quiz.
  • Learning Tools Interoperability (LTI) is a way to integrate systems parallel to an LMS without the need for separate custom integrations. Custom output module  uses D2L external learning tools and LTI.
  • Drupal link is not world readable and users do not have to login. D2L configuration familiar. Open source allowed to write custom code to output to Banner. Sometimes the user does not click the button within Drupal so nothing gets captured. Maybe they should automatically click the button for them?
  • YAY!! Tom is using his test instance of D2L to demo instead of production. Love it when our clients use our services right.
  • URLs are not usable unless sent over by Desire2Learn ELT. Yay, for security.
  • Added LTI Tool Provider and OAuth-PHP libraries to Drupal.
  • Got to explain to Tom what some of the values he sees in the session variables.

Discussion:

  • Alternative method:
    • Intelligent agent emails an address to inform them the orientation is complete.
  • KSU going to use similar method for putting staff into course(s) for Ethics test. Really anything where Tom needs to get new users into D2L fast.

Minimal Downtime #USGRockEagle13

Marc Pare, Oracle

    • Why work on weekends or late at night? (For us because of director policy because accidents during the day changes untenable with clients. But this is targeted to Banner to not GeorgiaVIEW.)
    • Weblogic High Available Topology (Maximum Available Architecture)
      • Client > Apache Server or OHS > WLS Cluster (> Admin Server) > RAC Cluster (> Oracle DB)
      • Why is this not being used?
    • Impressed someone from Oracle is so in touch with problems of Banner on Oracle and solutions.
    • Use Oracle Enterprise Manager to monitor middle tier. Uses mBeans and exposes most items except for some provisioning.
    • Cloning. Template builder. Add new nodes or setup test instances.
    • Rolling upgrades: Bring down first, patch, bring back up; find second, bring down, patch, bring back up. If it encounters a problem, then it rolls back the patch and brings it back up.
    • When experimenting, bring back up with end user access blocked, test and verify. Only when happy, enable end user access. We should consider giving campus administrators access to our direct nodes for testing so they can verify before release. Or even better really knock out the automated testing.

LMS Non-Negotiables

I listened in on the first town hall meeting for our USG LMS Transition Task Force on Thursday. There are 3 more town halls this week and a final one December 9th. It sounds like the task force is looking for what items are non-negotiable, extremely important, nice to have. Here are the non-negotiable items from the list. Here are my thoughts.

  • Security: Agree. Student data is critical information to keep away from those who ought not see it while giving access to those who should. I would include in this an audit log of administrative actions such as changing passwords, resetting virtual classrooms, or anything else which possibly could be abused.
  • Scalable: Agree. We’ve seen fantastic usage growth other the years. When I started with this project four years ago, we had only around 100,000 active users. We now approaching 300,000 active users. Even each user does more now than then. There is no reason we will see an end to usage growth.
  • Integrates with enterprise systems (i.e. Banner): Agree. There is a need for a relatively easy way to ensure the faculty and the students have accounts which are placed in the correct virtual classrooms. I’ve seen a desire for real-time integration. The Luminis Data Integration Suite always looked to cause more problems than it would solve.
  • 508 Compliance: Agree. Every user ought to be able to get the information in the class. However, to truly meet this I would think that would include fixing faculty uploaded content so that is accessible.
  • Don’t go backwards (features and functionality meet or exceed current functionality): Unsure. I’m not aware of an LMS option which meets every feature we currently have in Vista 8. The only way to meet this one is to negotiate which are the non-negotiable features.
  • Cross-platform and cross-browser support: Could not agree more. Most web sites I visit work in any web browser I choose. Vista 8 has limited supported operating system and browser combinations. Don’t forget the cantankerous Java Applets multiple versions of Java behave erratically and prior to Java 1.6.0_11 left in place older versions. Also sometimes new versions of Java suddenly do not work.
  • Ease of use and good user interface (student, instructor, administrator): Agree. More is not always better. I sense a frustration about a lack of efficiency accomplishing tasks.
  • Timely support and response: Agree. I understand this one to mean fix the problem in 1-2 weeks not a year plus.
  • Good communication regarding downtime: Unsure of the intent. Vista 8 has a pretty good announcements tool. Does it mean be more aggressive in telling the users when the system will go down next for a scheduled maintenance? I wonder if it means my organization (hosting) ought to take a firmer hand rather than continue to depend on the campuses in letting end users know.
  • Back up and restore capability (minimum 1 year – nice to go back farther)/archiving/back-up without significant downtime: Unsure of the intent. Our system backups are daily without any downtime involved. My best guess is it means something like a wiki history for all content and tools and maybe the whole virtual classroom. Should something bad happen the faculty member ought to be empowered to fix it and not depend on going to an administrator every time. While Vista 8 allows faculty to make their own backups, this was disabled to avoid performance issues. Also, the restore overwrites everything and not selective enough to ensure the faculty would not lose other data trying to retrieve something specific. Imagine losing 10 weeks of work in order to retrieve an accidentally deleted file. (Administrators have unintentionally done this.)
  • Ability to bring in guests to the system (i.e. collaboration): Agree. In a bricks-and-mortar classroom, the faculty can just ask a guest to come to the right room in a building. With Vista, the virtual classroom is more like a fortress requiring the faculty member to complete some kind of paperwork/memo to get an id so the guest can pass through security.

For those of you in similar searches, does this list look similar to yours? What would you add?

Some things I am surprised are not non-negotiable.

  • Better grade book: The existing one in Vista 8 is cumbersome, especially the grade calculator. A key use of the LMS is for students to understand their performance in the class. However, keeping up with the calculated grade at any given point is a lot of work for the faculty.
  • Reporting and analytics: The faculty, advisors, and tutors need to know which students are having difficulty.  Department heads and deans need to know which instructors are failing to spend enough effort teaching a class. People composing budgets need to know how much the LMS and auxiliary software are used.
  • Administrator becomes another user: Similar to *nix’s “su – user”, some problems only become apparent when using the correct account. Rather than change the password, take a look, and give the user the new password, administrators need an easier way of reviewing.

CE/Vista and Banner Integration

This is the second time I have worked on making Vista integration work with Banner. The first was 2005 in Vista 3.0.3 at Valdosta State. The production here at GeorgiaVIEW was set up by Harold, Jill, and Amy years ago and integrated into the install scripts or part of the cloned databases.

So now I am working on getting it to work in Vista 8. The IMS imports worked the first time like a charm. When I turned to using the Luminis adapter, the person records worked fine but the group contexts failed in Vista 8 and worked fine in Vista 3. So the “siapi.sh luminis import restrict” works fine.

Command-line

We have 41 institutions in Vista 3 currently. So imports are automated to some degree to preserve the sanity of Jill (and to a lesser degree Amy and myself). Rather than put in the UI all the settings, we have a properties file defining the location, glcid, sourcedid.source and sourcedid.id for each institution. This allows us to easily pass the values when importing at the command-line.

My first approach was to leave the settings identical to what I used to create persons and group records with IMS. This essentially uses the glcid of the institution and sourcedid of the institution. This is what resulted in the person records working and groups not. Fail.

I realized my error in logic must be the lack of a division-to-group relationship as the error described the groups cannot be related to an institution. So I changed the properties to use the division values for the sourcedid. Fail.

So I went looking in “Guide to Integration with the SunGard Luminis Data Integration Suite” for what I ought to use at the command-line. I didn’t find a solution. Just the same command-line lacking even the glcid and sourcedid.
🙁

XML

Giving up on the command-line approach for now, I added the relationship element to the XML so the group would become a child of one of the divisions I created with IMS. It sorta worked! The groups all imported but the course failed with the exact same error the groups formerly succeeded. To add insult to injury, simply running the import again on the exact same file had the courses import.

Mistakes

A mistake I made was reading the documentation: “Guide to Integration with the SunGard Luminis Data Integration Suite”.

Sungard Libraries:

  1. Page 8 says imq.jar and mbclient.jar do not come with CE/Vista and must be obtained from Sungard. All three of us thought in Vista 3.x these were automatically placed so we didn’t need to place them. Best I can tell, these were installed by Vista. I found $WEBCTDOMAIN/customconfig/startup.properties references both files in CUSTOM_CLASSPATH and setEnv.sh references CUSTOM_CLASSPATH. (This document has notes for what CE customers need to do and no note about CE users needing to go get them from Sungard.)
  2. Those who believe the last note would keep reading and find on Page 9 instructions to deposit the files in $WEBCTDOMAIN/serverlibs/. Assuming I am wrong about item #1, the startup.properties expects them in $WEBCTDOMAIN/serverlibs/luminis/ and would not find them where the document says to put them.

Confidentiality

A student wants Blackboard Vista to not reveal his or her last name. The student has already gone to the Registrar and gotten a confidentiality flag placed on the record. As I understand it, this flag in Banner is a FERPA protection to prevent the record from being provided to parties external to the university. It does not provide anonymity within the university. That electronic systems are being scrubbed of the student’s last name means something more than just confidentiality.

We only create new and not update from our student information system (SIS). So in general, the last name should not revert.

The instructor must know who the student is in order to correctly assign grades. If grades were automatically sent back to the SIS, then it would match the IMS id to the what is in the SIS. The user name or any other name is immaterial and not a confounder to the process. Unfortunately, our faculty has to manually transfer the grades. Some rely on the WebCT id / username. Others rely on the first and last name. I guess without names, this latter group is going to have to deal with relying on the WebCT id.

Only username, first and last name, and role are populated into the grade book. So moving the last name to another name field (like other, prefix, or suffix) would not help.

The last name appears to be part of their scheme for creating usernames, so they will likely need to change the username if the point is to not let anyone know what it is. The school in question does not appear to populate their Vista user records with a school email address. So I don’t know if the same would need to be done with it as well.

Blackboard Vista 3.0.7 does have issues with renaming the last name. While many things are immediately updated (good), some things are not. This is not a comprehensive list.

  1. The last name in the grade book was not updated. Removing the user from the section and restoring it to the section changed the name to the correct one.
  2. The last name in discussions was not updated.

So while renaming the account is easy to do, not everything takes place as quicklly as we would like.

Zemanta Pixie

If a Learning Management System Was a Boat…

I saw a CompSci.ca blog post for If a programming language was a boat… (through WIRED) and laughed at the descriptions of C, ColdFusion, Java, Perl, PHP, and Ruby.

Java is a cargo ship. It’s very bulky. It’s very enterprise~y. Though it can also carry a lot of weight. Will carry a project, but not very fun to drive.

PHP is a bamboo raft. A series of hacks held together by string. Still keeps afloat though.

Blackboard Vista / CE 6+

Vista is an aircraft carrier. Bulky, enterprise-y, and a floating city which requires an entire armada of support (SafeAssign, Wimba, Luminis) to really fulfill its billed purpose. We see the “Mission Accomplished” banner with each new release. Marketing likes to describe it as a cruise liner, but I am sure it is because they are just recycling the Academic Suite points.

Blackboard Academic Suite

Academic Suite is a cruise liner. Swimming pools, mini-golf, and all you can eat buffets with little of substance.

Sakai

Sakai is Noah’s Ark. Good in the great flood and built by divine guidance. However, we live in the present reality… not ancient Babylonian mythology or the Jewish mythology which adopted the story. Do you really want to take a trip in something that may not even exist?

Moodle

Moodle is a houseboat. Yes, it is on the water, so technically it is a boat, but you only really use it tied up to a dock. You don’t want to take it out on the ocean or try to have too many people use it.

Anyone have thoughts on Desire2Learn, ANGEL, or any other systems?

RE 2007: Administering Sakai

.

  • Timeline:
    • Oct 2006: Faculty committee selected Sakai over Blackboard Vista
    • Jan 2007: Developed a roll-out plan.
    • Jun 2007: Pilot
    • Aug 2007: Production
    • Still: Some classes still running on CE4.1, being phased out of use.
  • Needs – no more than 5% of code custom written by GA Tech or professional services.
    • Integration with Banner.
    • Grade book
    • Assignments – no resubmit. Professor had built a section aggregation tool which combined with assignments started killing the servers. Ate all the database connections. Dead in the water Monday afternoon to noon on Tuesday until a code change was implemented.
    • Assessments
    • Course lists would not show unpublished sections. Students were concerned registration failed to take place. Wrote a “More” link to show students the course exists but not yet available.
  • t-square
    • GA Tech – 30,000 users and 10,000 sections. 16,000 users login.
  • Sakai out of the box not very good.
    • Java Server on Tomcat.
    • User administration sux. No way to see what classs a student is taking without an outside application. Created an administrative console, available to machine room admins. Monitors services, processes. Admin console Perl connecting to APIs.
    • Admin role can access every course. Built in admin console to link directly to courses to go help troubleshoot.
  • Unicon – professional services
    • Built t-square implementation.
    • Created some tools.
  • Staffing
    • Systems – OS and hardware – 1 person
    • Application support – 1 person
    • Code developers, Quality Assurance – 3 people
    • Database Administrator – 0.5 people (spends part of time on other projects)
    • Instructional technologists – 2 people
  • Why Sakai? Faculty hate WebCT. Possibilities of integration (aren’t there possibilities for this with Blackboard?).
  • Costs – refused to say. Rumor is 2x our costs for making available for 200,000 students for Blackboard.

Kinda weird. Suggested it was nigh impossible to create accounts except through Banner in WebCT CE. Except the same APIs which create Banner accounts can create guest accounts?

BbWorld Presentation Redux Part I – Automation

Much of what I might write in these posts about Vista is knowledge accumulated from the efforts of my coworkers.

I’ve decided to do a series of blog posts on our presentation at BbWorld ’07, on the behalf of the Georgia VIEW project, Maintaining Large Vista Installations (2MB PPT). I wrote the bit about tracking files a while back in large part because of the blank looks we got when I mentioned in our presentation at BbWorld these files exist. For many unanticipated reasons, these may not be made part of the tracking data in the database.

Automation in this context essentially is the scheduling of tasks to run without a human needing to intercede. Humans should spend time on analysis not typing commands into a shell.

Rolling Restarts

This is our internal name for restarting a subset (consisting of nodes) of our clusters. The idea is to restart all managed nodes except the JMS node, usually one at a time. Such restarts are conducted for one of two reasons: 1) have the node pick up a setting or 2) have Java discard from memory everything. The latter is why we restart the nodes once weekly.

Like many, I was skeptical of the value of restarting the nodes in the cluster once weekly. Until, as part of the Daylight Savings Time patching, we provided our nodes to our Systems folks (hardware and operating systems) and forgot to re-enable the Rolling Restarts for one batch. Those nodes starting complaining about issues into the second week. Putting back into place the Rolling Restarts eliminated the issues. So… Now I am a believer!

One of my coworkers created a script which 1) detects whether or not Vista is running on the node, 2) only if Vista is running does it shut down the node, 3) once down, it starts up the node, and 4) finally checks that it is running. Its pretty basic.

Log cleanup to preserve space

We operate on a relatively small space budget. Accumulating logs infinitum strikes us as unnecessary. So, we keep a months’ worth of logs for certain ones. Others are rolled by Log4j to keep a certain number. Certain activities can mean only a day’s worth are kept, so we have on occasion increased the number kept for diagnostics. Log4j is so easy and painless.

We use Unix’s find with mtime to look for files 30 days old with specific file names. We delete the ones which match the pattern.

UPDATE 2007-SEP-18: The axis files in /var/tmp will go on this list, but we will delete any more than a day old.

Error reporting application, tracking, vulnerabilities

Any problems we have encountered, we expect to encounter again at some point. We send ourselves reports to stay on top of potentially escalating issues. Specifically, we monitor for the unmarshalled exception for WebLogic, that tracking files failed to upload, and we used to collect instances of a known vulnerability in Vista. Now that its been patched, we are not looking for it anymore.

Thread dumps

Blackboard at some point will ask for thread dumps at the time the error occurred. Replicating a severe issue strikes us as bad for our users. We have the thread dumps running every 5 minutes and can collect them to provide Blackboard on demand. No messing with the users for us.

Sync admin node with backup

We use rsync to keep a spare admin node in sync with the admin node for each production cluster. Should the admin node fail, we have a hot spare.

LDIS batch integration

Because we do not run a single cluster per school and the Luminis Data Integration Suite does not work with multiple schools for Vista 3 (rumor is Utah has it working for Vista 4), we have to import our Banner data in batches. The schools we host send the files, our expert reviews the files and puts them in place. A script finds the files and uploads each in turn. Our expert can sleep at night.

Very soon, we will automate the running of the table analysis.

Anyone have ideas on what we should automate?

Turn the Tables

CrossRoads Newsletter and Career Development Center:

With corporate recruiters and executive search firms now using blogs as a prescreening tool for candidates, Whitcomb advises people to create online journals to demonstrate their skills, share their expertise, and lend potential employers insight into their personality.

“You can write about projects you are working on, industry events, ongoing research, current trends, new products, and evaluations. You can also include articles or papers you have written, a bio, project histories, a downloadable résumé, and even audio or video presentations,” says Whitcomb.