Originally hosted in CodePlex at slk.codeplex.com.
Note: SLK is no longer being actively developed. It still works on on premises SharePoint 2007, 2010 and 2013. It is untested on 2016, but may work. It is not supported on Office 365, and never will be as it is written in full-trust code. Some minor bug fixes are added as my few remaining customers who haven't moved to Office 365 find them.
SharePoint Learning Kit
Source Code Guide
INTRODUCTION
This ReadMe.txt file provides an overview of the source code for SharePoint Learning Kit (SLK), and instructions for building SLK.
Most of these instructions apply to the SLK application, i.e. the SharePoint "solution" (packaged as SharePointLearningKit.wsp) which adds e-learning funcionality to SharePoint. The SLK redistributables and source code also includes Microsoft Learning Components (MLC), a set of managed-code assemblies (DLLs) and reusable ASP.NET source code (the "MLC Session Frameset") that allow you to add e-learning capabilities to your applications. The method for debugging those applications will vary based on the type of application (Web application, Windows Forms application, etc.)
These instructions are targeted to developers who will be building the SLK source code. These instructions assume the reader is already familiar with installing and using SLK as a user, and has read through at least the introductory topics in the the SLK SDK documentation set (see Documentation.htm). If you're only interested in using the SLK SDK, that documentation should be sufficient -- the file you're now reading is specifically for those interested in building and debugging the SLK application.
PREREQUISITES
To build and debug SLK, you'll need the following installed on your development computer: -- Windows SDK 7.0 or 7.1 -- You should be able to use Visual Studio, but as I don't VS you will probably need to fiddle with the .csproj files.
To build the SLK SDK documentation set (optional), you'll need the following: -- CodeDoc, available from www.dwell.net
CONTENTS OF THIS DIRECTORY TREE
This file (ReadMe.txt) is at the root of the SLK source code directory tree. This directory tree is designed to be unzipped in the location C:\dev\SLK -- so that the path of the file you are now reading should be C:\dev\SLK\ReadMe.txt -- and this documentation will make that assumption. In fact, you may be able to build and debug SLK in other locations, but this is the configuration that's received the most testing, and is therefore recommended.
This directory tree contains the following directories:
-- ApiRef: File used in the SLK SDK documentation -- see "BUILDING SLK SDK DOCUMENTATION". This has not been kept up to date since version 1.0.
-- ApiRefSrc: Files related to ApiRef but not included in the SLK SDK documentation set. This has not been kept up to date since version 1.0.
-- Doc: Various documents included in various SLK distribution packages.
-- Samples: MLC sample code.
-- Slk: Source code for the SLK application. Contains these subdirectories: -- Admin: SLK administration Web page (appears in SharePoint Central Administration). -- AdminFeature: SharePoint "feature" .xml files for SLK administration features. -- App: SLK application Web pages. -- AppFeature: SharePoint "feature" .xml files for SLK application features. -- Dll: Source code for Microsoft.SharePointLearningKit.dll. -- Samples: SLK application sample code. -- slkadm: Source code for the slkadm.exe command-line utility. -- Solution: Build scripts for building SharePointLearningKit.wsp. -- References: SharePoint dlls for referencing
-- Learning Components: Source code for MLC (Microsoft Learning Components). Contains these subdirectories: -- Compression: Source code for Microsoft.LearningComponents.Compression.dll -- LearningComponents: Source code for Microsoft.LearningComponents.dll. -- Shared: Source files shared among subdirectories of Src. -- SharePoint: Source code for Microsoft.LearningComponents.SharePoint.dll. -- Storage: Source code for Microsoft.LearningComponents.Storage.dll.
-- Tools: Various build tools. Tools\Src contains source code for some of these tools.
When you build SLK, you'll get additional directories, such as Debug, Drop, Slk\Debug, etc. These directories, along with all other files and directories generated by the build process, can be deleted by running "msbuild /t:Clean".
BUILDING SLK
To build SLK, you just need to run msbuild from the command line in the SLK root directory.
msbuild
At this point, you have a complete build. Specifically:
-- The compiled versions (Release) of each of SLK's DLLs should exist within the
bin subdirectory of each project. Here are the Debug file locations:
-- The MLC LearningStore schema, located here:
SLK\LearningComponents\Schema\InitSchema.sql
SLK\LearningComponents\Schema\SchemaDataComponents.cs
SLK\LearningComponents\Schema\SchemaDataStorage.cs
-- The SLK application LearningStore schema, located here:
SLK\Slk\Sql\SlkSchema.sql
SLK\Slk\Dll\SlkSchema.cs
-- The SharePoint "solution" file (basically a CAB file that installs into SharePoint)
has been built into these locations (Debug and Release):
SLK\Drop\Install
DEBUGGING SLK
You will need to run your debugger on the SharePoint machine you are debugging and attach it to the application pool process. Then debug as a web application.
It may be easier to add debug methods which write out to files, or if a page or web part write to the HTML output.