Over the years the last year I have had many conversation on how to make SharePoint and Moodle better together and in recent posts I have how to install Moodle on a 32bit and how to install Moodle on 64bit operating systems.
In the current version of Moodle any documents, assignments or images are stored in a folder on the local server. But why can’t we store these files in a SharePoint Document Library so any changes to these documents can be done easily with version controlling or using office web app. Documents can also be searched and index allowing teachers and students to easily find resource they want.
Back in April Microsoft released a white on how to bring SharePoint and Moodle better together but this only if you are going to run the Moodle website using Apache. On the page there are a few comments and unanswered questions on how to integrate Moodle running on IIS with SharePoint 2010.
Following the 3 whitepapers on implementing Moodle on 3 different types of Microsoft environments, I thought I would add how to do this through IIS and changing the same code as Microsoft have recommended for it to work. The following instruction assume you have setup Moodle with IIS as per the whitepapers above.
This blog post is part 1 of a series of 3 on how to integrate SharePoint and Moodle better.
Part 1: How to part 1 (this post)
Part 2: How to part 2
Part 3: Recommended Changes
SharePoint uses Active Directory to authenticate its users. For Moodle to write documents to a SharePoint library it will require write access to that document library. To do this create a Active Directory user called md_admin. This user will be required to run the IIS website as well authenticated with SharePoint.
Create a new Active Directory user called md_admin. This user will be required to run the IIS website and will also need permission to the SharePoint document library
Navigate to the location of where you want your Moodle documents to be stored in SharePoint. Click on Site Actions and then on New Document Library. Call your library MoodleDocs or something to your pleasing. You need to make sure the md_admin user account has write access to this library to ensure the whole process works.
The upload process will move files through the upload process in Moodle to SharePoint through WebDav. To find out the webdav URL of your site click on the Windows Explorer from the SharePoint Ribbon.
Copy the path of the folder location eg. sp2010sitesmoodlemoodledocs
Later in the process we will be editing some of the Moodle PHP files and will need this URL.
Permissions to Moodle Root
The website will soon be changed for the md_admin user to run the web service but we also need to make sure the user has read permission of the Moodle PHP files.
Navigate to c:inetpub and right click on wwwroot and select properties
Select the Security tab and add the user md_admin with read permissions.
Changes to IIS
As mentioned in the previous step we need to change the web service that runs the website. This username will connect to SharePoint to upload the files, hence why you will need to use the md_admin username.
Open Internet Information Services Manager and expand the left navigation until you see default website. Select the default website. Using the right panel select Authentication which is in the IIS group
You will notice that Anonymous Authentication is Enabled. Click Edit… in the Actions panel.
Click Set to change the anonymous user identity.
Fill in the details of the domain username you created earlier (md_admin). You will need to put your domain name before this (domainmd_admin).
Click to go to part 2 of Integrating Moodle and SharePoint
Click to go to part 3 and recommendations of Integrating SharePoint and Moodle
34 thoughts on “Integrating SharePoint and Moodle: Storing Moodle Docs in SharePoint: Part 1”
great post Alex
The post is great. However, the Moodle site slows down after setting up the WebDAV shared drive for SharePoint.
There are a few tweaks you have to make which is in part 3 of these blogs
Thanks for the reply. I tried the tweaks. However, the administration screens are still slow. I have enabled all the settings on page, but the performance doesn’t improve. I would appreciate any help to improve performance
Assuming you are using IP4 for your network, try turning IP6 off in all your network connections. I don’t know why but this does impact WebDav on x64 systems.
Thanks for the reply. The server is 32 bit not a 64 bit machine. I have no idea about network connection. However, screens for admin components are also running slow. These screens are not related to file management . Can you suggest some workaround to identify the root cause of issue.
The server is a 64 bit machine not 32-bit. That was a typo error from me.
I am awaiting your response.
Sorry been caught up with a few things.
Can you confirm that you have turned IP6 off? This is the biggest issue that I have had around it being slow.
Could you please help me in turning off IP6 in the network.
I couldn’t find IP6 settings. Moodle server has a 32 bit OS.
I’ve sent you the same information but have a look at this
Thanks a lot. However, this will not work for Windows 2003. The OS of Moodle server is Windows 2003.
Have you installed the desktop experience – I have not tried this on 2003 so i’m guess off the top of my head
What is desktop experience?? Could you please explain that?
Hi Alex, Desktop experience is not for Windows 2003, it’s for Windows 2008.
Administration and course creation components read and write data to Moodle data directory, that would be a SharePoint library on another server. I think these operations would anyway be slow.
I am awaiting your comments.
I could improve the performance of Moodle site remarkably. I just disabled check the /lang directory in getstrings() method in moodlelib.php.
This folder wasn’t there in the mapped folder of SharePoint. I changed the code of moodlelib.php. The performance has improved.
May I know the does this article applies to Sharepoint Foundation 2010 too?
YEs it works in 2007 and 2010 and WSS, Foundation, MOSS and Server.
Thanks! Anyway, just wanted to ask if I have not install any LMS program and I wanted to have a LMS program for my company. Which LMS would be recommended btw SharePoint LMS, Moodle and SharePoint Learning Kit..
Sorry, just to add on I will be use SharePoint Foundation 2010. Yup, wanted to add a eLearning portal in SharePoint and access through there.. THanks!
Hi, Thanks for leaving a comment. Its one of those never ending SharePoint questions – it depends! If you want to assign single items use SLK (its free too), where as you need something like course managed, Moodle or SharePoint LMS is what you need
Thanks! True, kind of never ending question. Hmm, what do you by single items? Mine will be upload ppts,video, course document and create quizzes for the users.Sorry, quite noob on this.
have you seen the SLK whitepapers?
Just saw it! I have dl it.. but i created the database w/o checked the permission box!! How should I delete and re-create the database again?
Oh, I have deleted it. Anyway, thanks! I shall try it out the feature in SLK=)
Hi Alex, just wanted to check with you the whitepaper for “Moodle-2 Window Server MSSQL IIS PHP.pdf” under the “Installing PHP and Configuration with IIS” to add extension to IIS. My pop-out prompt “Do you want to create a FastCGI application for this executable? Click “Yes” to add the entry……” Somehow its not said anything about ISAPI.. So is it normal?