Upgrade from 1.3.1 to 1.3.2

Topics: Developer Forum, Project Management Forum, User Forum
May 31, 2009 at 11:28 AM
Edited May 31, 2009 at 11:29 AM

Hi!

I have just tried to upgrade 64bit 1.3.1+firefox-patch to 64bit 1.3.2 using Upgrade.cmd. Afterwards I could not submitt new learning resources to students. Old assignments are ok. In the eventlog there is a null pointer exception caused by wrong permissions. I have reassigned the permissions but this did not help. Is there anything else to do beside using Upgrade.cmd? 

Helmut

Coordinator
Jun 1, 2009 at 12:12 AM

Hi Helmut,

You should just be able to run Upgrade.cmd. Can you post the eact error in the event log please.

Richard

SLK Co-ordinator

http://blog.salamandersoft.co.uk

Jun 1, 2009 at 12:57 PM
Edited Jun 1, 2009 at 2:22 PM

--------------------------
SharePoint Learning Kit Fehler
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei Microsoft.SharePointLearningKit.SlkStore.AddSPUserAsMember(SPWeb spWeb2, SPUser user, Boolean isInstructor, Boolean isLearner, DateTime startTime, Dictionary`2 instructorsByUserKey, Dictionary`2 learnersByUserKey, Dictionary`2 users, SlkGroup learnerGroup, List`1 learnerGroups, List`1 groupFailuresList, StringBuilder groupFailureDetailsBuilder)
 bei Microsoft.SharePointLearningKit.SlkStore.<>c__DisplayClassa.<GetMemberships>b__9()
 bei Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state)
 bei Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2() 
 bei Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
 
bei Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object par
 bei Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode
 bei Microsoft.SharePointLearningKit.SlkStore.GetMemberships(SPWeb spWeb, IEnumerable`1 additionalInstructors, IEnumerable`1 additionalLearners, ReadOnlyCollection`1& groupFailures, String& groupFailureDetails)
 bei Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.get_SlkMembers()
 bei Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.SetAssignmentProperties()
 bei Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.OnPreRender(EventArgs e)
Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.
--------------------------

In the meantime I switched back to 1.3.1+firefox-patch (64-bit). Everything is running well again with the exception of the „ims-file saving troubles“.

Thank you for doing all the work with SLK!

Helmut

Jun 29, 2009 at 10:23 AM

Hi Richard,

We have the exact same error message as Helmut has with version 1.3.2.

In our environment we have installed the build 1.3.2 - 20090603.

1/ I can immediately reproduce this error by doing the following :

I put my learners into an Active Directory Group (universal security group) 'Sharepoint Elearning Learners', and I put this group in a new sharepoint group 'Elearning Learners'. I assign the SLK Learner and Read permissions to the sharepoint group. Then, using Elearning actions, I want to assign a scorm course to a learner. This throws up the error :

SharePoint Learning Kit fout

System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.SharePointLearningKit.SlkStore.AddSPUserAsMember(SPWeb spWeb2, SPUser user, Boolean isInstructor, Boolean isLearner, DateTime startTime, Dictionary`2 instructorsByUserKey, Dictionary`2 learnersByUserKey, Dictionary`2 users, SlkGroup learnerGroup, List`1 learnerGroups, List`1 groupFailuresList, StringBuilder groupFailureDetailsBuilder)
   at Microsoft.SharePointLearningKit.SlkStore.<>c__DisplayClassa.<GetMemberships>b__9()
   at Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state)
   at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2()
   at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
   at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
   at Microsoft.SharePointLearningKit.SlkStore.GetMemberships(SPWeb spWeb, IEnumerable`1 additionalInstructors, IEnumerable`1 additionalLearners, ReadOnlyCollection`1& groupFailures, String& groupFailureDetails)
   at Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.get_SlkMembers()
   at Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.SetAssignmentProperties()
   at Microsoft.SharePointLearningKit.ApplicationPages.AssignmentPropertiesPage.OnPreRender(EventArgs e)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

If I add the Active Directory Group in Sharepoint directly (without adding it to a sharepoint group first), and I give this AD group SLK Learner and Read permissions, everything works as expected.

 

2/ It seems that you cannot use Permissions inheritance in Sharepoint on a site where the SLK feature has been activated. I discovered I need to break permissions inheritance, otherwise I receive the following error in the application log :

SharePoint Learning Kit fout

Fout bij het maken van een of meer gebruikers in de sitecollectie http://elearning.dummy.local:50001/nl/learn: Microsoft.SharePoint.SPException: Deze pagina is alleen beschikbaar voor een website met unieke machtigingen.
   at Microsoft.SharePoint.SPUserCollection.UpdateMembers(Object objUpdateInfo, Object objRemoveLogins, Object objRemoveIds, Boolean fSendEmail)
   at Microsoft.SharePoint.SPUserCollection.AddCollection(SPUserInfo[] addUsersInfo)
   at Microsoft.SharePointLearningKit.SlkStore.EnumerateDomainGroupMembers(SPWeb spWeb, SPUser domainGroup, Boolean isInstructor, Boolean isLearner, List`1 groupFailuresList, StringBuilder groupFailureDetailsBuilder, Dictionary`2 instructorsByUserKey, Dictionary`2 learnersByUserKey, Dictionary`2 users, List`1 learnerKeys, List`1 learnerGroups, DateTime startTime)

 

Deze pagina is alleen beschikbaar voor een website met unieke machtigingen. = this means that this page is only available on a website with unique permissions

Any ideas ?

Best regards,

Koen

Coordinator
Jun 30, 2009 at 2:13 AM

Hi Koen,

1.     Excellent report, I can reproduce the problem. Just need to figure out what's wrong now.

2.     That's a design choice. I don't know what the reasoning was behind it.

Regards,

Richard

SLK Co-ordinator

http://blog.salamandersoft.co.uk

 

Coordinator
Jun 30, 2009 at 2:58 AM

Found the problem. I introduced it in SLK-1.3.2-20090529.

You can download a fix from http://slk.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=23487.

Jun 30, 2009 at 9:31 AM

Hi Richard,

I installed the new build and tested everything and ... IT WORKS !

Thanks a lot for the excellent support !

We are going live in a couple of days. I am currently developing some report services reports to show all the elearning information (e-learning path, score, timings, ...) to our instructors. Do you have a recent scheme of the relationships between all the tables in the SLK-database ?

Best regards,

Koen