slkadm for SharePoint Learning Kit

26 February, 2009 · 2 minutes to read

slkadm for SharePoint Learning Kit

slkadm is a tool which ships with the SharePoint Learning Kit and is analogous to stsadm for SharePoint itself, in that it's used the administratively configure SLK, in particular the SLK mappings.

What is an SLK mapping?

An SLK mapping is the link between a site collection and the SLK data. For each site collection you want to use SLK with you must create a mapping. You would normally do this through SharePoint Central Administration | Application Management | SharePoint Learning Kit.

A mapping consists of:
 

  • The GUID of the site collection - this uniquely identifies the site collection
  • The database connection details
  • The names of the SLK permissions
  • The SlkSettings file used to define the queries used in the Assignment List Web Part and elsewhere.

To re-iterate, if a site collection does not have an SLK mapping associated with it, you will not be able to use SLK on that site. A common problem is not setting the correct site collection on the Configure SharePoint Learning Kit page. It's actually not that obvious which site collection the page is going to update, even though it's the first control on the page.

What can slkadm do?

slkadm is a command line tool and can perform 4 tasks:
 

  • Configure a site collection / mapping. Either one which hasn't been configured before, or update an existing mapping.
  • Show the existing mapping for a site collection.
  • Show all mappings on the server
  • Delete a mapping

Configure a site collection

The command for this is
 

slkadm.exe -o configuresite -url http://server/site -databaseserver myDbServer -databasename myDatabase -createdatabase -instructorPermission "SLK Instructor" -learnerPermission "SLK Learner" -observerPermission "SLK Observer" -createPermissions -uploadSlkSettings "file name of slksettings.xml" -defaultSettings
 

The arguments for these are fairly self explanatory Some notes are:
 

  • createdatabase. If this is present then the database is created
  • createPermissions - Create the permission levels
  • defaultSettings - Use the default slksettings.xml. Cannot be used with uploadSlkSettings
     


Show the existing mapping for a site collection

The command for this is
 

slkadm.exe -o getsiteconfiguration -url http://server/site
 

and an example output is
 

 



Notice that slkadm has "found" the SLK configuration and then listed what is configured. The output could be clearer though, here's one for a site collection which has not been configured:

 



Although it does state that "no SLK configuration found", it then goes on to list the default settings, so at first glance it could be configured.

Show all mappings on the server

The command for this is simply
 

slkadm.exe -o enummappings
 

with an example output as

 



You will get one line per site collection configured, with some minimal information - the site url, GUID and database details. In the example here I've got 2 site collections configured for slk.

Delete a mapping

The command for this is 
 

slkadm.exe -o deletemapping -guid 1234abcd-1234-abcd-1234-abcd1234abcd
 

where the GUID is replaced by the GUID of the site collection. The easiest way to get the GUID is by running the enummappings or getsiteconfiguration commands. 

This will delete the mapping, and disable SLK on the site collection, but it will not remove the database or the Assignment List Web Parts from any pages in the site collection.

List the commands

As is standard with any command line tool you can view the commands by running
 

slkadm.exe /?
 


 

Richard Willis headshot

Written by Richard Willis

Managing Director / Founder

Richard started SalamanderSoft in 2007 after a successful career as a software developer. Wanting to start his own company and with experience in integrating school systems he set out to build the best integration system for schools and to exceed customer expectations. He starting out on his own, doing all the coding, support and sales until finally the growing number of customers meant he needed to start growing the team. He is still heavily involved in coding the core Integration Suite product in addition to running the company and being the first point of contact for prospective customers.

Copyright © 2020 SalamanderSoft Limited