Sakai Site Model

Definition

Sites provide an abstract representation of "places" within the Sakai environment. Generally, sites are used for courses, sections, work projects, research, etc. Each site is organized as an ordered list of site pages. Each page can have one or more tool on it, though usually only one tool appears on a page for space reasons. Both sites and pages may be separately skinned.

Mutable vs. Immutable

All site objects are fully mutable.

Common Data Elements

The following data elements are included the Site object:

Element

Description

Title

A title string.

Description

A textual description of this site.

Icon URL

URL for a site icon.

Info URL

URL for site information.

Skin

Skin to use for this site.

Pages

A list of SitePage objects

Joinable

Flag to indicate joinable status.

Published

Flag to indicate published status.

The following data elements are included the SitePage object:

Element

Description

Title

A title string.

Layout

Layout integer.

Layout title

Layout title.

Tools

A list of tools on this page.

Skin

Skin to use for this page.

Popup

Flag to indicate if this should be a pop-up window.

The following data elements are included the Group object:

Element

Description

Title

A title string.

Description

A textual description of this group.

Site

Reference to containing site.

Group extends AuthzGroup, so it inherits all of the characteristics of an authz group.

Metadata

Site and SitePage both extent Edit (Entity), which means that they fully support metadata via entity properties. These entities may have an arbitrary number of properties associated with them. While all of these properties are optional, certain properties are commonly used such as who created or modified, creation or modified time-date, etc.

The Site Service

The Sakai Site Service provides methods to manage the data associated with all registered sites. Sites can be gotten as a list, filtered list, or individually by id. Security checks provided by various isAllowed() methods. Methods are provided for site membership. Sites can be creatd, copied, added, and removed. Special sites are supported including user sites and the gateway site.

Objects

The following objects are included in the Sakai entity interface:
Group.java
Site.java
SitePage.java
SiteService.java
ToolConfiguration.java

Changes for 2.2:
SiteMembership has been dropped.

See also: Using the SiteService.