Banner-Luminis-WebCT integration

0
No votes yet

Hello All,
Anybody who has done the Banner-Luminis-WebCT integration knows that its an extremely complicated process to get it done and get it done right the first time. So here is my blog on what we are going through:

Step 1: We analysed our current architecture and came to a conclusion that we need to redesign our entire Banner - luminis role definitions for the integration to work. Here is what i did:

In the process of reorganizing the banner role heirarchy - Previously we had a role called "student" in banner which represents all the students who are eligible to register (a mixture of undergraduate, graduate and law students) which was a quick fix for our registration module(we went live with it in april). We also have roles like gradstudent and lawstudent which were initially synchronized and they were synchronizing just fine. Now we are integrating with WebCT and webCT only needs a role called "student". It really doesn't care about what the student's level is etc., We also have Luminis where we have custom tabs published towards specific groups of students like undergraduate students, grad students, law students etc.,

So the re-org was to facilitate sending student information to WebCT as well as giving the fine-grained access to those students in luminis. So the intent was to have a global role called student which was defined as anybody who has a record in sgbstdn table. On top of that global role we defined 2 views called active student and inactive students. On top of that we defined roles like undergraduate_active, grad_active and law_active which mean that students in these roles are active undergraduate, active graduate and active law student.

If we were to synchronize these roles - previously a studnet who was undergraduate student would now have roles like "student, undergraduate_active". Previously who was a grad student willl have roles like "studnet, graduate studnet.. And previously who was a law student will have roles like "student, law student".

To achieve this, i created views called 'active students" and "inactive students" and couple of other views called "zuvstdn_active_UG, zuvstdn_active_grad, zuvstdn_active_law" and similarly "zuvstdn_inactive_UG, zuvstdn_inactive_grad, zuvstdn_inactive_law" and "student (to mean everybody in sgbstdn table)". I created these new roles gtvsqru form. I changed the sql to select distinct pidms from these views in gorrsql and ran the gurirol to populate the users with the above mentioned roles.

Shiva

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Next Step: importing the icgorldi xml output files into luminis

As usual, this step is not as easy as it looks. Here is what is happening:

The Luminis design does not provide for the sourcedID.ID to be modified. Due to this constraint, records that are included in an import that have different SourceID.ID values than already stored in LDAP will be rejected. Working around this issue requires removing the SourceID.ID value from the user, course and term objects in the Luminis LDAP store. This will allow a reimport of the same data, since the import utility will not find a value for SourcedID.ID and reject the "new" SourcedID.ID value.

The shell script that is attached to this KB article(RM1005 – resolution document) will remove the pdsIMSEnterpriseSourcedId attribute from the user, course and term data elements.

Step1: Backup the current ldap directory server:

Step2: Run the script to clear the attributes from LDAP:

Step3: Do a cptool import ims and "hope" the import doesn't fail this time:

I just started the Step2 (at about 1:00 PM. We have 35K records in luminis ldap. I will let you know when the ldapmodify script finishes.

role-synchronization process steps described in detail

attached with this posting is a document that explains role-synchronization in detail. Hope this helps all you guys out there trying to do a similar thing - and hopefully you dont have re-invent the wheel all over again.

Role document?

Shiva, could you add the role document to this posting? I don't see it....

   Alice Kim

sorry about that

Hello Alice,
The role document was actually a testing document which has the list of 20 users in each role (undergrad, grad and law) with their banner ID's. Since that info. is confidential i had to remove it.

I will be adding new ones soon.

Thank you for pointing this out,

Shiva

roles not sync'ing with icgorldi

Not a surprise,
THe icgorldi import file didn't do the trick. Out of 20 grad students only 4 got Grad_active role and the rest still had GRADSTUDENT role - which gives me a 20% success rate - which by no means/standards is acceptable. Here is my explanation to that.

The views created and SQL queries in GORRSQL only populated the Gurirol table which is used only when events are generated. So to correct the situation, i created popsel of GRADSTUDENTS initially and ran that popsel using ICGORODM (on-demand job submission). This created 4300 events and they are being processed by the luminis server.

Now in my eventprovider.plist configuration file i have it configured so that luminis consumes 2000 messages for every 30 sec (in theory). but when i see the number of messages being processed, i dont see that kind of performance. I see probably around 30 messages processed per minute which is a terrible performance. I am trying to see if i can increase the speed of consumption of messages by luminis.

After this process i will test with my 20 test accounts and let you guys know the result.

thanks for your patience.
Shiva