Loading...
 
Skip to main content

History: Workspace UI

Source of version: 33 (current)

Copy to clipboard
            !!# Introduction
Introduced in ((Tiki10)), the workspace UI provides site administrators with a streamlined way to create simple workspaces, which allow 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

{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 you want to create a Tiki workspace where all the people on that project can share information.

In this tutorial, we will show you how to do this.

!!!# Activate the Workspace UI
If the Workspace UI feature is not already activated, you need to do so.

   * Admin home
   * Check the __Advanced__ and __Experimental__ boxes, then __Set as my defaults__ (Workspace UI involves some advanced and experimental components)
* __Admin > Workspaces__

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

   * Check the following checkboxes: __Workspaces UI__, __Namespace__, __Perspectives__, __Category__ and __Wiki__.
* __Hit the "Apply" button__

!!!# Create a template for the workspace
In order to create a workspace template, you need to follow these steps:

* __Admin > Workspaces__
* Hit the __Worspace templates__ button
* __Create Workspace template__, a new popup window will appear
* In __Name__, enter the template's name (let's call it __Project__)

{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 have your brand new template, you need to set some permissions to decide what people who belong to the workspace can do there.

* Click on the __Permissions__ button besides the __Edit__ button, on the __Project__ workspace template line.

Check the permissions you want to apply to the workspace. The only permission is to allow to users, from different categories, being able to create workspaces for this given template. In our case, we won't set that. Let's keep the admin being the only one to create workspace for this template.

!!!# 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.

* __Admin > Workspaces__
* Hit the __Worspace templates__ button
* Hit the __Create workspace__ button
* For __Template__, pick the __Project__ template we just created.
* For __Name__, enter the name of the project __OurFabulousProject__,.
* __OK__

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

!!!# Go to the workspace's home page
That's it. You now have a workspace called __OurFabulousProject__. You can go to the workspace's home page: tiki-index.php?page=Project:_:OurFabulousProject. This workspace's home page is empty (no content). As it's a wiki-like page, let's add some description to be more explanatory for the members we will add further in this tutorial.

{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 make sure that members of the project team have 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 do:

* __Admin > Users__
* Hit the __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 worspace's home page in the list of wiki pages.

Do so for all the users you want to make as members.

!!!# Final tip
You can, besides setting permissions to a workspace template, setting also permissions to the workspace itself. The process is similar for all the wiki-like pages.

!!# Internals of a workspace
!!! Basic building blocks
As you may have surmised from the above tutorial, a workspace is made up of a bunch of lower level building blocks which are packaged together 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

Note that in the above tutorial, we only used a wiki in the workspace. But a workspace template can include a lot more features, such as: blogs or forums. More features are being added in the interface. However, if something not supported is required, an advanced mode is available, but requires writing a ((Data Channel)) through the special interface.

Currently supported through the interface:
* __Groups__: Allows to create additional groups within the workspace, modify the default group and manage the default permissions.
** Allows to specify which groups are automatically joined by the workspace creator
** Allows to specify which group is the managing group. Members of this group can manage the members of the 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 pages are created within the default namespace

!!! Workspace organization

All workspaces are created under the same root category (called Workspaces), which is created the first time a workspace is created. As a next level, the template name is used as a category, and finally the selected workspace name is used. If the workspace name contains namespace separators, a hierarchy of categories will be created.

Assuming 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 you have created a workspace template, you have the option to edit it through either the __simple interface__, of the __advanced interface__. To edit a workspace tempalte in advanced mode (yaml), you need to be on the template page and hitting the __Advanced mode__ text link in the alert info:

{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"}

While using the simple interface (image above), you have an easy way to 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 contents of the workspace template, and you are eventually able to define new objects (of other types: blogs, file galleries, forums, ... 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))