Jason Lulay BIS, Senior, email@example.com
JB Van Hecke BIS, Senior, J.B.vanHecke@oregonstate.edu
Nick Blake BIS, Junior, firstname.lastname@example.org
Laird Robertson, Senior, email@example.com
SharePoint is a Microsoft web application platform with a Microsoft Office-like interface. The College of Business uses SharePoint in a classroom setting to accommodate students’ collaborative efforts. COB has a dual purpose in using SharePoint in the curriculum; to prepare students for using this software in their future employment, and to allow project groups to coordinate their work in one central location. Since this application lives on the web students are able to access and collaborate on their work from any location. The SharePoint Scripting Project focuses on the site creation tool.
A variety of classes use SharePoint, and generally speaking each class has a different instructor associated with it. These classes often are further subdivided into sections and each class section has anywhere from 25-90 individual students in it. Each term these students form groups ranging in size from three to five. This usually happens in the beginning of the term but occasionally this also happens later on in the term. To create the sites (the official SharePoint term for each group’s contextual work environment) each instructor e-mails the COB’s System Administrator a list (Excel spreadsheet) of all the groups that have formed in class, along with the login ID for each individual student. The system administrator then begins the tedious process of individually creating the groups’ sub-sites and entering the individual students to each group.
Two primary areas of concern have been identified in the current process. First there is a considerable amount of time that is expended by the system administrator to set up all the sub-sites and users. Second, the manual data entry in the current process creates the potential for errors.
The goal for the SharePoint Scripting project is to reduce the time spent on site creation, increase consistency in SharePoint sites between classes and from term to term, reduce data entry errors, and ultimately realize cost savings for the College of Business. The SharePoint Scripting project will accomplish this by developing an automated program that generates the sites and sets permission levels for the individual students.
In assessing the available technologies we looked at three different options to improve the current situation; the STSADM scripting tool within SharePoint, PowerShell in the .NET framework and C# in the Visual Studio IDE. After careful consideration we decided on a windows form application written in C#. C# and Visual Studio gives us the technical capabilities to build a solution, but more importantly it is also a programming environment used within the COB’s current curriculum that our fellow students are familiar with. We felt this would be the most appropriate environment giving future generations of students the ability to perform software maintenance and possible code updates or extensions.
For the final solution we divided the project into its individual functions, worked on the functionality for each of those components, combined it into one program and added a user interface. After we had the program working we added a BackgroundWorker thread to update the user on task progress.
This project was a very valuable learning experience and extended significantly beyond what we have time for in a traditional class setting. We started off by getting hands-on experience with virtualization when we set up the virtual server development box. Next we had to familiarize ourselves with deeper knowledge about SharePoint administration. Once we developed a better model for our project requirements we were able to start identifying the different technologies that were available for solution implementation, weighing the pros, cons and learning curves of all. Once we selected our platform we were able to significantly build on our C# programming experience beyond the academic constraints, and we were able to explore the SharePoint API and object model.
One of the bigger technical challenges we encountered was getting the permission settings to communicate between the database and SharePoint. Other challenges for the most part were associated with learning the SharePoint API, and working our way through the libraries learning the class methods’ functionalities. Professor Byron Marshall was a great resource in helping us get past a few hurdles, and some hurdles we were able to resolve ourselves through online research. Although we ultimately ended up not using the assistance, we had the support from a few other local IT professionals who were very familiar with SharePoint.
We were successful in implementing the improved business process. Towards the end of the term one of the COB instructors was in a sudden need of a SharePoint site creation for his class. The system administrator was given a copy of the program and successfully used it to create the class site, sub-sites, add users and set the user permission levels. Given the size of the class this task would have taken up to eight hours using the old process. With our program it took 15 minutes.