Skip to end of metadata
Go to start of metadata

Worksite Setup (Site Info)

Lead(s): Zhen Qian, John Leasia

Description: Tool for creating and configuring sites.

Template Functionality

Template Functionality was previously available as a Contributed Patch, SAK-12868 - Getting issue details... STATUS . The template functionality is included in Sakai 2.7.0.


To make it easier to new users to start using Sakai without having to understand all available tools, it would be good to provide template site(s) that contains some tools set up, eg. resources, wiki, web content, forums, etc. So, the user will be able to create a new site with a copy of the appropriate template as the starting point.  It would be useful for a beginner to create a site from a template as it can be quite confusing to understand the available tools and determining which tools are useful for their particular needs. The user can add or remove tools from the new site, once created. With this feature, we can create several template sites that would suit specific user groups, such as Graduate Students, Undergraduate Students, Committees, Research Groups, etc. The template sites are loaded with relevant tools and we can provide some examples and explanations. We hope that it would reduce the barrier to use Sakai for new users and also reduce needs for support for new users.

The Mechanism

To enable this functionality, just create a published site with site id starts with 'template'. Then, an additional option is shown when creating a new site that allows users to create a new site based on a template site. Unpublished template is hidden to give template designer enough time to work on the template before making it available to users.

Basically, when user tries to create a new site using 'Worksite Setup' tool in 'My Workspace', there is a new option 'based on a template site'. When a user choose this option, user can choose a template from a drop-down list of available templates, e.g. all sites with a property template=true. As mention before, there is no need to activate/hide the template feature in file. In the following steps, the user has to enter project information, set site access, and confirm the site setup. The tool selection page is skipped as the tools are already defined in the chosen template site. As mentioned previously, the user can add or remove tools from the new site, once created.


Copying Mechanism

To copy the template site to a new site, two mechanisms are used. First, SiteService.addSite(String id, Site other) will create a new site that have a structural copy of the 'other' site. This service does not copy the content of the tools. Then, the content is copied using EntityTransferer. If a tool doesn't support EntityTransferer, the tool itself should be copied without content. When more tools support EntityTransferer in the future, this feature will copy more content from the template site. Some changes are made to the implementation of transferCopyEntities() method in some tools (e.g. Announcement, Resources) to bypass permission checking when reading content of site that has site id starts with "template".

How to Create a Template Site

To create a template site, it need an administrator privilege. The steps are:

  1. Login as admin
  2. Click "Sites" from left-hand menu
    1. Click "New site"
      1. Fill: Site id: "template.graduate" or "template-committee"
      2. Fill: Type: "project" or "course"
      3. Click button "Pages"
      4. Click "New Page"
        1. Title: "Site Info"
        2. Click button "Tools"
          1. Click "New Tool"
            1. Select "Site Info (sakai.siteinfo)"
            2. Click button "Save"
  3. Select the template-graduate site at the gold menu bar.
    1. Click "Site Info"
    2. Add Participants: add template maintainer(s) and give them a "maintain" role.
  4. Logout, then login as the maintainer user, load the project site, and then add tools and content as needed.
    1. Goto site info, and publish the site so that it appears in the template drop down list when users create a new site (only do this if your template is ready).


  • No labels