Loading...
 
Skip to main content

History: Workspace UI

Source of version: 35 (current)

Copy to clipboard
            !# Introduction
Introduced in ((Tiki10)), the workspace UI provides site administrators a streamlined way to create simple workspaces, allowing a group of collaborators to work in their own "protected" area.

Using the Workspace UI, site admins can:
* Define templates for creating workspaces of different types.
* Instantiate workspaces using a given template.

!# Creating and Using Workspaces

{BOX(title="You can still create workspaces manually")}
Note that the Workspace UI does not give you the full flexibility of Tiki workspaces. If your needs are a bit "out of the ordinary", you may need to set up your workspaces using a ((Workspaces|more manual approach)), or playing with the [#yaml|advanced interface and yaml code] (see [#yaml|below]). 
{BOX}

!!# Tutorial: Creating a workspace
Let's say you are managing a project called ''OurFabulousProject'' and want to create a Tiki workspace where all project members can share information. This tutorial will guide you through the process.

!!!# Activate the Workspace UI
If the Workspace UI feature is not already activated, follow these steps:
# Go to __Settings__ > __Control Panels__
# Check the __Advanced__ and __Experimental__ boxes (Workspace UI involves some advanced and experimental components)
# Navigate to __Workspaces__ to configure Workspace feature and check the following checkboxes: __Workspaces UI__, __Namespace__, __Perspectives__, __Category__ and __Wiki__.
# Click Apply

{img src="display1609" link="display1609" width="full" rel="box[g]" imalign="center" desc="Activating WorkspaceUI feature | Click to expand" align="center" styleimage="border"}

!!!# Create a Template for the Workspace
To create a workspace template:
# Go to __Settings__ > __Control Panels__
# Click the __Workspace Templates__ button
# Click __Create Workspace template__ (a new popup window will appear)
# In __Name__ field, enter the Workspace Template's name (let's call it __Project__)
# Click __Create__

{img src="display1610" link="display1610" width="full" rel="box[g]" imalign="center" desc="Creating Workspace template | Click to expand" align="center" styleimage="border"}

Now that you a template, you can set permissions to control what workspace members can do:
# Click the __Permissions__ button next to the __Edit__ button, on the __Project__ workspace template line.
# Select the permissions you want to apply to the workspace. The only permission available allows users from different categories to create workspaces using this template. In this tutorial, we won't set that—only the admin will create workspaces.

!!!# Create a new Workspace using the Template
Now that we have a template for creating workspaces for projects, let's use it to create one.

# Navigate to __Workspaces__
# Click the __Workspace Templates__ button
# Click __Create workspace__
# Select the __Project__ template we just created
# In the Name field, enter ''OurFabulousProject''
# Click __Create__

{img src="display1613" link="display1613" width="full" rel="box[g]" imalign="center" desc="Creating a workspace | Click to expand" align="center" styleimage="border"}

!!!# Go to the workspace's home page
Your new workspace OurFabulousProject is now created. You can access it at: ''tiki-index.php?page=Project:_:OurFabulousProject''. 
The workspace's home page will be empty. Since it’s a wiki-like page, you can add a description to guide workspace members.

{img src="display1614" link="display1614" width="full" rel="box[g]" imalign="center" desc="Workspace's home page | Click to expand" align="center" styleimage="border"}

!!!# Assign users to the Workspace
The final step is to give project members access to the Workspace. 

All you have to do is to assign those users to the group. For example, if you want user __kishiko__ to have access to the workspace, you:
# Go to __Settings > Users__
# Select the user
# Click __Assign user to Groups__ button
+ {img src="display1615" link="display1615" width="full" rel="box[g]" imalign="center" desc="User interface | Click to expand" align="center" styleimage="border"}
# Click the __Assign__ button on the __ ''Project:_:OurFabulousProject'' __ line. You will be asked to confirm this action.

{img src="display1616" link="display1616" width="full" rel="box[g]" imalign="center" desc="Assiging a user to the workspace | Click to expand" align="center" styleimage="border"}

As a result, __kishiko__ is our first member of the workspace. He is able now to see the workspace's home page in the list of wiki pages.

Repeat for all users who should be members of the workspace.

!!!# Final tip
Besides setting permissions to a workspace template, you can also set permissions to the workspace itself. The process is similar to setting permissions for wiki pages.

!!# Internals of a workspace
!!! Basic building blocks
As you may have surmised from the above tutorial, a workspace consists of several lower-level building blocks that are combined to provide a "workspace user experience".

The building blocks are:
* A category in which all content of the workspace will be put
* A group to which all collaborators of the workspace will belong
* A perspective to improve the experience when working inside a workspace

In the tutorial, we only used a wiki in the workspace. However, a workspace template can include many additional features, such as blogs or forums. More features are being added in the interface. However, if a feature is not supported, you can use the advanced mode to create a ((Data Channel)).

__Features Supported via the Interface__:
* __Groups__: 
** Allows creation of additional groups within the workspace, modify the default group and manage the default permissions.
** Allows specifying which groups are automatically joined by the workspace creator
** Allows specifying which group is the managing group. Members of this group can manage the members of other groups
** Default permissions applied on the category for the groups within the workspace can be selected
* __Wiki Pages__: 
** Allows to define pages created within the workspace and define their initial content.
** Original content can be defined directly from the interface or be taken from an existing page as a template
** All the pages are created within the default namespace

!!! Workspace organization

All workspaces are categorized under a root category called Workspaces, which is created the first time a workspace is created. Below this, the template is used as a category, followed by the workspace name. If the workspace name contains namespace separators, a hierarchy of categories will be created.

For example, if the template is called ''Project'', and the selected workspace name is ''Infrastructure::Improvements 2012'', the category tree would be the following:
* Workspaces
** Project
*** Infrastructure
**** Improvements 2012
{ANAME()}yaml{ANAME}{ANAME()}YAML{ANAME}

!!# Edit a Workspace Template in advanced mode (yaml)
Once a workspace template is created, you can edit it in either the __simple interface__, or the __Advanced Mode__. To edit a workspace template in Advanced Mode (yaml), you need to:
# Open the workspace template.
# Click __Advanced Mode__ in the alert info section.

{img src="display1618" link="display1618" width="full" rel="box[g]" imalign="center" desc="Advanced mode for a workspace template | Click to expand" align="center" styleimage="border"}

In Simple Mode (image above), you can easily add new default groups or wiki pages in the workspace template, so that they are created as objects (groups and pages) when a new workspace of this type is created. 

Then you have the workspace template in advanced mode. In which you can edit in yaml code:

{img src="display1617" link="display1617" width="full" rel="box[g]" imalign="center" desc="Viewing the advanced mode for a workspace template | Click to expand" align="center" styleimage="border"}

When you switch the interface to Advanced mode (image above), you have full control on the content of the workspace template, and you are eventually able to define new objects (of other types: blogs, file galleries, forums, etc, as far as a [http://profiles.tiki.org/Handlers|profile handler] is created for them) to be linked with that workspace template.

For more information on this advanced feature, ask in the [https://tiki.org/Mailing+Lists|Developers list]

!!# Other information
Demo profile (work in progress)
http://profiles.tiki.org/Workspace_UI

!!# Related
Related features:
* ((Workspaces)) & ((Namespaces)), which are re-used by the __Workspaces UI__ 
* ((Roles)) and ((Templated Groups)) which are being developed in ((Tiki21|Tiki 21)), and might get merged with the __Workspaces UI__ in the future (but not yet, as of August 2019).

Alias names for this page:
(alias(WorkspacesUI)) | (alias(Workspaces UI)) | (alias(WorkspacesGUI)) | (alias(Workspaces GUI)) (alias(Workspaces-UI))