Skip to end of metadata
Go to start of metadata

Contrib: Skin Manager

Lead(s): Jaeques KoemanRoland Groen

Description: The Skin manager tool allows site administrators to install and manage skins in a Sakai instance. Skins are uploaded in the portal as .zip archives that contain graphics and style sheets. The tool displays all the skins in use throughout the Sakai instance and indicates which sites use a particular skin. Skins may be revised by uploading a new archive and it is possible to revert to earlier versions of a skin. This strongly simplifies the skin installation process: no longer access to the file system of the sakai instance is needed.

Key features

Inspect, install, update and delete skins on a sakai instance. Skins can be uploaded using a zip file format, which is verified on upload. A skin archive keeps track of the skins by including the installation history of the skins in the archive, so every version of the installed history is available for reversion. Never lose any skin-data.

Skins as zip files: ease of install

A standard structure for zip files makes it easy to install skins. No system-administrator is needed to install skins on a Sakai installation. For a detailed description of the zip upload file, see the help documentation provided with the skin.

Skin archive: access to all skins ever installed on the system

Over time, skins get updated and modified. The skin archive keeps track of every skin that exist within the instance. This way, the tool is capable of restoring skins from the archive. The skin archive automatically synchronizes with the file system, and restores missing skins if a new Sakai installation overwrites the skin directory. The skin archive is available from the details page. To revert to previous versions of the skin, the edit permission is required.


The initial need for the skin manager came from the problem that we needed to physically install every new skin and every update of an existing skin on the file system of the Sakai server. The skin manager strongly simplifies the skin installation process, and thereby the skin design process. Graphic designers can easily create a zip file and upload it. The upload verifies and cleans the contents of the zip files, providing feedback on the correctness of the file. The tool archives all installed skins, also the updated ones, so you can always roll back to a previous version.

The main page displays all installed skins.
Skins can be uploaded by the new page.
The details page displays the files of the skin, and the sites that use the skin.
The update page enables you to upload a new version of the same skin.
The history page enables to view the history record of the skin, and allows you the revert to a specific version. Furthermore, any version of the skin can be downloaded as skin archive.
The delete page confirms skin deletion.

Skin Manager Installation

The Sakai Skin manager comes as source distribution.


This manual assumes that you are familiar with installing, building, and running Sakai. You must be familiar with the concepts in the Sakai installation guide, which can be found at the Sakai Release Documentation.

Of course, you need a Sakai installation to use this Sakai tool.

Installing from source

Downloading the source

The source can be found at

Building the source

The source can be build with the following command, replace SAKAI_HOME with the Sakai installation directory.

mvn clean install sakai:deploy -Dmaven.tomcat.home=<SAKAI_HOME>



Database support



MySQL 5.0




database installation

The Sakai skin manager makes use of one table, which is mapped by hibernate. Sakai needs to be started with the


set in the on the first run of the skin manager to let hibernate create the required table for you.

Enable full skin management

Since version 4.2 the skin manager has the ability to take full control over the skin management. This feature will overwrite skins that are deployed by the library.war file. This comes in handy when the library.war file gets redeployed on an update.
# The interval to sync the skin directory
# Set to true of the skin sync should run forever, false to just run the sync at startup
# The time interval to wait for redeployment.
# If set to true, the skinmanager will overwrite the the skin on the filesystem if there is a skin archive available, also of the skin on the filesystem is newer.


  • 0.9.0 (First beta release)
    • UPDATE: use the tool session instead of the http session for storing the spring webflow state
    • UPDATE: layout update, conforming to the sakai layout.
  • 0.0.5
    • UPDATE: Fixed some dependencies, no functional changes
  • 0.0.4
    • UPDATE: Ported to & tested on Oracle 10g, for existing installations see skinmanager_0_0_3-0_0_4_mysql_conversion.sql for updating.
    • BUGFIX: Cleanup of temp files when running update
    • UPDATE: Error handling now more robust, error conditions handled properly
  • 0.0.3
    • REQUEST: Sort skin names, large quantities of skins are hard to manage without sorting
    • UPDATE: .classpath file references generic JRE container
    • BUGFIX: Hibernate mapping did not result in right column type in MySQL. Manifestation of this bug is the inability to upload files larger than 64KB.
  • 0.0.2
    • UPDATE: Removed spring webflow et. al. from shared lib and moved into web app libs
    • UPDATE: Javadoc
    • UPDATE: Spring configuration update


The Sakai skin manager is open source and free to use, it is distributed with a LGPL license.

	Copyright (C) 2007 Edia Educatie Technologie Licensed under the
	Educational Community License, Version 2.0 (the "License"); you may
	not use this file except in compliance with the License. You may
	obtain a copy of the License at

	Unless required by applicable law or agreed to in writing,
	software distributed under the License is distributed on an "AS IS"
	or implied. See the License for the specific language governing
	permissions and limitations under the License.

  • No labels


  1. spring-binding-1.0.1.jar and spring-webflow-1.0.1.jar don't seem to be in the maven repo yet. I found these at:

  2. Seems like the latest skin manager builds against sakai 2.8 by default. Does it build against sakai 2.9?