SharePoint LMS: The Good

I’ve had a lot to say about what SharePoint LMS doesn’t do well – so it’s only fair if I end with what SharePoint LMS does do well.

It’s actually SCORM compliant

Many claim to be SCORM compliant – but we’ve tested it and this one definitely is!

It works well within the SharePoint constructs

I do a lot of SharePoint based solutions for business collaboration. Therefore it only makes sense that if we were going to do e-learning, we would want to do something that fits within the SharePoint construct. This one works great in that respect and can quick enhance your portal. This is like taking a good LMS and adding the full power of MOSS to it!

You can easily insert surveys into the learning path

I really liked the fact that we could ask a student if they liked the course right at the end of the learning path!

It works on MOSS – don’t try to install it on WSS!

It works great on MOSS. We made the mistake of testing it on WSS and it literally tore WSS apart!

It’s got tons of bookmarking

There are actually 2 levels of bookmarking. You can return to your position in a learning path or return to your position within your SCORM. Pretty cool!

You can easily add quizzes

We ultimately didn’t need them because our quizzes are part of our SCORM, but I like the fact that we can roll these out.

Reports can be scheduled and emailed

I did like the fact that we could schedule recurring reports and they can automatically be emailed to someone. That takes away the burden of manually pulling the reports.

User Management Module allows for easy management of students

We did add this module and it really helped our LMS administrator.

You can apply your own theme to each course

We didn’t do this – but I can definitely see the usefulness of being able to have a different look and feel for each course.


This was a core requirement for us. We liked to be able to force a user to complete a lesson or activity before moving onwards.

Ultimately – if you deal with a SharePoint environment, you will like this product. It’s got a lot going on and I think with future versions will be a force to be reckoned with in the e-learning game!

SharePoint LMS: The Bad and the Ugly

I’ve indicated that I was overall happy with this product, but that’s not to say there aren’t things that could really improve it and take it to the next level.  For anyone considering deploying SharePoint LMS – here are some things to be aware of :

The gradebook – not all it’s cracked up to be

I had two major issues with the gradebook. The major one was that when we added over 500 users, the gradebook came to a grinding halt. Whenever one of us accessed the gradebook – it simply failed to respond. When we had only 20 users it worked fine. It seemed to be a huge resource hog and would shoot our server memory up to 2GB and cause huge processor spikes. When this would happen, sometimes a page would load, sometimes not. Often the entire site stopped working for all of us because one person accessed the gradebook. Therefore we had to get rid of it because it had huge performance implications.

The second issue was more of a subjective issue – but it doesn’t really seem that useful for the end user. It uses a horizontal way to display the information which makes it not that easy on the eye. There’s also no way to really customize how it looks for students. Ultimately we abandoned it and added a way for users to see their attempts and scores on the course landing pages.

You can’t add HTML in a lot of places

It takes a few clicks for a user to get to their lessons. For example:

  1. Click to get to your course
  2. Click to enter your learning path
  3. Click to confirm you want to start the learning path
  4. Click to start the lesson

Now this is not an unreasonable number of steps to get to a lesson. However, to an end user who may not be aware of what a learning path vs lesson is – this may seem a bit confusing. We were able to use SharePoint designer as well as some of the menus to add some text explaining this, but it would be nice to have menu options to fill information at each of these stages.

Double sets of buttons

SharePoint by default has double sets of buttons. This is so that if you have a long list, you don’t have to scroll to the top or bottom to find the buttons. However, in some cases the LMS has these double sets of buttons with only one line of text in between them. If we were able to add some HTML in between the buttons it would make it a bit more attractive, but for the end user, it looked awkward from time to time.

While within a course – the full list of courses does not display

When you are at the root of the LMS, you can see a list of all available courses on the quick launch. Unfortunately when you drill into a course (which is really a sub-site) the course item on the quick launch remains, yet it’s empty. This creates a menu option with no content. We couldn’t figure out how to turn this off. It would be nice if we were able to get it to fully populate.

Delineating between attempts of a learning path and attempts of a SCORM

This really got us confused. When a user is moving through the learning path, there are a series of screens identifying where there is a new or existing attempt. However, the default language doesn’t reflect that in the LMS.  We found ourselves starting attempt 2, and then starting attempt 4 and not understanding how the LMS was counting. Ultimately we discovered that it was attempt #2 of the learning path and attempt #4 of the SCORM. We added some cues to explain this to users as they worked through the learning path.

Unable to get to full SCORM data

When a user finishes a SCORM, they get a full summary of their activities. It’s the type of stuff that is most useful for evaluation of your training.  It tells them what they answered, what questions they did well on, what questions they had to answer more than once, how much time they spent etc. Unfortunately when you run reports on activity, you aren’t able to access the granular data. We also could not find the data and so therefore couldn’t pull it into a list or out of the database L

Reporting wishes –  why are they only cumulative

The reports are always cumulative. We wanted to provide a report over a specific period of time. We devised a way to pull regular reports and then calculate the difference between the current report and the previous one to determine activity – but that’s a round-about way of doing things.

I wish the reports had some advanced charting

We really would have liked to have some pie-charts, bar graphs, etc for the reporting. It produced a concise table with information, but when showing these things to the client – it’s always better to have some graphics that can be generated automatically. A reporting panel would be great.
Controlling where a user lands at the end of a learning path

At the end of a learning path or at the end of a lesson, a user always lands on the respective allitems.aspx page. The problem is that this page doesn’t really fit within a web-site and is more of a page that makes sense in SharePoint. As a result, we used SharePoint designer to customize these pages so that they looked like they were part of the navigation.

Control over the quick launch area that lists the elements of the learning path

It’s great that the LMS lists all of the elements of your learning path as well as your progress. It does this in the quick launch. However, the quick launch is always fairly short and cannot support long amounts of text. To address this the LMS allows scrolling, but it looks awkward. The result is a horizontal scroll bar in the middle of the quick launch that seems out of place. If nothing else – this text should wrap and perhaps be bulleted so that it can be clearly viewed.

The language files are cumbersome
You might not be too happy with the default language in the LMS. We wanted to change things like the words attempt and how it displayed attempts. It was initially grammatically wrong … it would say :

  1. You are about to start 1 attempt
  2. You are about to start 2 attempt
  3. You are about to start 3 attempt

We were able to change this – but it’s literally like searching for a needle in a hay stack.  Furthermore, one we opened the language files, we realized that text was re-used in multiple places. So you might change congratulatory text yet realize it’s used to congratulate people for 3 different scenarios. Without a manual for the language files, it was quite tedious to customize it. This LMS could benefit from a control panel for managing these things or if nothing else… a manual for the language files!

Migrating user scores – ain’t so easy

We needed to migrate scores for users into the LMS. There was no way to do this with an import feature. We also couldn’t go in and “set” scores or award certificates for users. This presents a large problem when migrating a large number of users into this LMS.

Last Thoughts

We were able to overcome pretty much everything listed here. However, the fact that they needed to be overcome is what was frustrating. Ultimately, I do like this product. There are things that work great and other things that are strangely challenging. With some custom development and use of SharePoint designer, you can do quite a bit to make this your own.

SharePoint LMS: The insider overview

I’ve now conquered my 4th public-facing SharePoint portal. This one was a little different because it was designed to serve as a platform for a learning management system (LMS). We went with SharePoint LMS ( Last year we did a proof of concept and deployed it internally to make sure we understood what we were getting ourselves into. This year it was time to prove we could do it. I have mixed but overall positive feelings about this product. It does do what it claims on the brochure – but in some ways certain things could be done much better.

We were able to create our own SCORM compliant flash e-learning lessons and get them to work within the LMS. All of the lessons scored properly – so it was comforting to know that we were able to move our lessons from one LMS straight into another LMS. Our requirements were fairly straight forward:

  1. Develop a working LMS
  2. Migrate our content into the new LMS
  3. Migrate user scores into the LMS
  4. Allow for multiple learning paths per course
  5. Add surveys at the end of each course
  6. Generate certificates for users
  7. Support prerequisites within the learning paths
  8. Allow users to bookmark their progress within their lessons
  9. Allow users to track their progress through lessons
  10. Allow users to retake lessons as they wish
  11. Make sure the menus were not confusing

There were more – but that’s a good overview of what we set out to do. Because SharePoint out of the box is so plain-vanilla – we also designed a fully custom theme to make it look more like a web-site. What we ended up with was a heavily customized SharePoint site. We got the learning management system to work. We created our own navigation and as-you-go help cues to assist users with using the site. As for the requirements :

  1. We did create a fully functional LMS
  2. All of the lessons were migrated in
  3. We were able to migrate the user scores (but that’s another story for another post!)
  4. We were able to create all of our learning paths
  5. We were able to integrate surveys into the learning paths (but there’s more to add on how that worked ultimately!)
  6. Certificate generation worked fine!
  7. We got all of the prerequisites working – so you had to pass certain lessons to move onwards.
  8. We got bookmarking to work (but we didn’t realize there were 2 levels of bookmarking!)
  9. We were able to show users their progress (but I’ll talk about the grade book later)
  10. Users could take lessons in or outside of their learning path
  11. We did quite a bit to work with the menus – but even the default SharePoint menus are frustrating at times.

I should add that to deploy this it took a SharePoint administrator, SharePoint specialist or two, a SharePoint developer, a flash / SharePoint developer, as well as a full e-learning team. Once deployed the product is easy to use – but do not make the mistake of thinking it’s easy to deploy this.

Random SharePoint Tip: Quickly set rules for Alerts in Outlook

I came across this by accident, when looking at an alert email in my Outlook. Before I start let me say that this occurred using WSS 3.0 and Outlook 2007. When an alert from SharePoint come in, you get a menu option on the top left of the message asking me if I want to set a rule. When I click on it – it’s prepopulated with the title of the alert and allows me to set a rule immediately f or this kind of alert. This is kind of cool because it’s a shortcut way to set outlook rules for SharePoint alerts. If you use the SharePoint task lists heavily – you will know that you can quickly get a flood of emails – so this makes it that much easier to organize it all.

SharePoint Tip of the Day: 1000 file limit in document libraries

Although I’m anti-folders and I like to use columns as a way to organize things – there is a limit to how many things you can put in a folder before SharePoint performance starts to degrade. I have always preferred 1000 although some say you can go as high as 2000 items per folder before you have issues.  There’s a good article on scaling the performance of SharePoint here.

You can have up to 5 million files comfortably in a document library – but you must use folders. You should set your views to show less than 2000 items. This can be difficult, but remember that your views don’t have to show folders. A flat view can allow you to use folders for organization but still display without folders when needed.

Also remember that you can turn on indexing to improve performance as well.

Feedback Server: A potential survey tool (possibly in SharePoint too?)

Feedback Server
Feedback Server

I’ve been tasked with finding a survey solution. Now before I get started, I will acknowledge that I posted a lengthy post about how you can use SharePoint as a survey collection tool. This is true, but sometimes your needs can go beyond what SharePoint does. I was looking for a .NET based survey solution that can be used easily and still has hope for being integrated cleanly into SharePoint. In my search, what I found was the Feedback Server. I also want to add another caveat – I haven’t deployed this solution yet so I can only go by what the brochures say!

Sometimes you don’t want to go with a 3rd party hosted solution for a corporate product. My main concern is when we have security requirements. I don’t like the idea of going to a 3rd party for stuff like that. In my search, I came across the Feedback Server – and here’s what they describe:

Feedback Server is an web based survey software and form builder to manage and deploy without any technical knowledge web based surveys across your organization to gather important feedback from your customers, employees, students or website visitors and let you to analyze the collected data.

In addition to a ton of features, there is a SharePoint connector for it. Click here for that. In a nutshell this provides:

The Sharepoint 2007 extension enables you to integrate the power of Feedback Server’s survey and form management tools within your Sharepoint portal pages and web parts.

To highlight some of the cooler features:

  1. It’s skinnable
  2. It has full permissions control – for example even limiting access by IP address.
  3. It has that SharePoint connector
  4. It uses AJAX
  5. It has built in email reminder systems
  6. It  has solid reporting
  7. It can export reports in excel and SPSS format
  8. It uses CAPTCHA
  9. It has an integrated analysis tool
  10. It uses XML to import and export surveys
  11. It has a SDK for custom integration

I’m just saying…… this seems cool!

Been quiet for a few days

I haven’t had a chance to post in a bit – but I’ll rectify that soon. Just to give an update:

We finally got the SharePoint LMS platform in house. I’m excited to get started. We’ve laid out a plan for how we will be using it.

  1. Installing the LMS
  2. Skinning it with a custom master page
  3. Creating flash based SCORM lessons

More to come on this!

Restricting view access on a list and Alerts

This is a quick and dirty tip, but I thought it would be good to share. It’s quite common to set up a list so that users can only view and edit items that they add. I’ve always used this when I have a sort of “ticketing” system. I want everyone to be able to add new items, and to see what their additions are – but I don’t want them viewing anyone else’s submissions.

Item Level Read and Edit Access
Item Level Read and Edit Access

In case you don’t know how to do this :

Go to List Settings –> Advanced Settings

Scroll down to the Item Level Permissions section

Under Read Access Specify only their own

Under Edit Access select only their own .

Voila! Now users can only see and modify what they have seen.

Here’s the catch though. You can’t use alerts on a list that has these item level permissions. If a user tries to set an alert on the list – you will receive the following error message :

You cannot create alerts for lists for which users can only read their own items.   at Microsoft.SharePoint.ApplicationPages.SubNewPage.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

So just be aware – if you set item level read restrictions on a sharepoint list – you lose the ability to use alerts. I haven’t tested this to see if a custom workflow will work – but I believe you can have the email alerts with a custom workflow..

Combining Columns and Folders in SharePoint

One of the beautiful things about SharePoint is its ability to provide endless ways to organize your content. Most people are familiar with folders and still like to use them. However, columns are definitely a more effective way to organize information because you have additional sorting and filtering options. That being said, SharePoint gives you the ability to do both.  The benefit of doing this is that you can leverage the organization functions of sorting and filtering in one view, and then create another view that displays the actual folders.

To be explicit – here’s how this works. First you create a document library. Once your library is created, create the columns that you want. Once this is done – you can go and create the folders that you want. At this point you have folders and columns. This is useful, but there are a few things to know. For starters, by default – SharePoint will display folders and columns together. But what if you want to display all of the files inside of your folders ? This can be done with a view.

folder options in views
folder options in views

Create a standard view.

Under the folders section – select  Show all items without folders.

This will display your list with all of your folders collapsed.

By doing this you have made it effectively possible to display the entire contents of a document library that is also organized by folders.  This gives you two methods of organizing content and gives users the option to choose the method of navigation that works best for them.

Using the Quick Launch in SharePoint

I figured I’d write a small piece about the quick launch in SharePoint. For starters, the quick launch is the vertical menu that appears on the left side of your pages. It’s pretty useful because it gives you quick access to all of the resources within your team site.

quick launch menu
quick launch menu

The quick launch allows you to view all of the content in your team site. By default when a list is created, it automatically will appear in the quick launch. You can change that – but we’ll discuss that later.

The quick launch automatically breaks down your lists by their type. For example, all document libraries will be listed under documents. Calendars, Tasks, custom lists…etc will be listed under Lists. Message Boards are listed under discussions. If you have subsites – they will appear under sites.

There are two other options – People and Groups – and Recycle Bin. The people and groups allows you to see the people and groups that are in your team site. Depending on your rights, you may be able to only see people or you may have rights to set permissions.

The recycle bin is self explanatory – it’s the recycle bin.

So you might be asking   – what’s the point of all of this? Imagine if you have created a team site where you are using dozens of lists on different pages. You may not want to list 36 lists on the main page of your team site. Furthermore, you may not want your navigation to drive users to that long list. In such cases, you will want to hide that from the quick launch and have people use a navigation of your choice.  Just to mention, a quick and dirty way to do that is to create a links list that has hyperlinks to your new pages. This gives an alternate navigation that’s easy to manage.

Hiding lists from the quick launch

Options to hide quick launch
Options to hide quick launch

If you want to hide your list from the quick launch, go to list settings –> title, description, and navigation. Then update your settings to select to not  display the item on the quick launch. This will hide the list from the quick launch.

Changing what appears in the quick launch

Beyond just configuring a list to appear or not appear in the quick launch – you can also add hyperlinks to the quick launch. You can do this by going to Site Actions –> Under Look and Feel – clicking on Navigation . Here you can change the current navigation – aka the quick launch. You can add headings and then also add hyperlinks to any items.

Navigation Options
Navigation Options

A real world application of this would be creating pages to house additional lists. Instead of linking people directly to the lists, you can put the links to the pages that display the lists. Then you would configure the pages to have specific views for your lists. This allows you to tailor your end users’ experience by formatting the way the list appears for them. You can also use the navigation options to change the order of items that appear in the quick launch to the left.

You can remove items from the quick launch or navigation this way. This means that you have two ways to remove an item from the quick launch. If it is a list, you can do it from the list settings (described above) . If it is a link you’ve added, you have to use this menu.

In case you were wondering what the difference between global navigation and current navigation is : The global navigation is the horizontal navigation bar. The current navigation is your quick launch. We won’t go into the global navigation now, but at least we’ve covered how to update the links and options in the quick launch. Hopefully this gives you a good picture of what is possible with changing the navigation on your team site.