Home
Contrib: Skin Manager
Lead(s): Former user (Deleted)Former user (Deleted)
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.
Use
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.
Sceenshots |
||
---|---|---|
Skin Manager Installation
The Sakai Skin manager comes as source distribution.
Prerequisites
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 https://github.com/EdiaEducationTechnology/edia-sakai-skinmanager
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
Database support
database | status |
---|---|
MySQL 5.0 | Tested |
Oracle | Tested |
database installation
The Sakai skin manager makes use of one table, which is mapped by hibernate. Sakai needs to be started with the
auto.ddl=true
set in the sakai.properties 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 skinmanager.sync.interval=30000 # Set to true of the skin sync should run forever, false to just run the sync at startup skinmanager.sync.continious=true # The time interval to wait for redeployment. skinmanager.deploy.wait=10000 # 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. skinmanager.deploy.overwrite=true
Changelog
- 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
License
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 http://www.osedu.org/licenses/ECL-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.