Workspaces, task groups, and tasks
A workspace is divided into task groups and tasks. Task groups serve as containers for tasks, where each task group can be committed independently of the other task groups. Tasks provide a separation of responsibility, where each task is an individual unit of work that contributes to the completion of an activity.
The following diagram illustrates how a workspace is broken down into task groups and tasks:
Workspaces
Workspaces provide data isolation. Each workspace has its own database schema to keep data separate from other workspaces and the production-ready data.
When an authoring server instance is created, a finite number of database schemas are allocated for the workspaces. If a Workspace Manager creates more workspaces than the number of workspace database schemas available, task groups in workspaces without an available database schema cannot be activated until another workspace is completed or canceled to release a database schema. To prevent this situation, use as few workspaces as possible while still maintaining the level of data separation you need.
If you manage multiple stores under one organization, you can use one workspace to manage content for the organization across all stores. You might still need multiple workspaces to provide data isolation between other tasks such as seasonal updates and emergency fixes.
Workspaces can be either single-use or persistent:
- Single-use workspace
- A single-use workspace changes to the complete state when all task groups within the workspace
are committed or canceled. Use a single-use workspace when want to only use the workspace for one
group of activities. When the workspace moves into the complete state, the resources that are used
by the workspace, such as the database schema, are released.
Seasonal or event driven changes is an example of an ongoing activity that would use a single-use workspace. For example, all store updates for Summer 2006 might be made in a single-use workspace. After the changes for Summer 2006 are complete, the workspace would not be reused.
You can reuse task groups or tasks from a single-use workspace in other workspaces. In Management Center, you can create an inactive workspace that includes the tasks groups or tasks, and use this inactive workspace as a template to help create new workspaces. For more information about creating workspace templates, see Creating workspace templates.
- Persistent workspace
- A persistent workspace remains in the active state when all task groups within the workspace are
committed or canceled. Use a persistent workspace when you want to keep the workspace resources
allocated.
A workspace that is used for emergency fixes should be a persistent workspace to prevent the emergency fix workspace from waiting for resources if the maximum number of workspaces is exceeded.
You can reuse task groups or tasks from a persistent workspace in other workspaces. In Management Center, you can create an inactive workspace that includes the tasks groups or tasks, and use this inactive workspace as a template to help create new workspaces. For more information about creating workspace templates, see Creating workspace templates.
The Workspace Manager is responsible for creating and managing a workspace, its properties, and the task groups and tasks within the workspace.
Workspaces have two identifiers: a workspace name and a workspace code. The Workspace Manager assigns the workspace name to a workspace while the workspace code is a system generated identifier for the workspace. Two different workspaces can have the same workspace name because their workspace codes are different. However, having the same name for workspaces makes it difficult to distinguish between them in the Workspace Management tool.
Before data changes are committed, any changes that are made within the workspace cannot be seen by users outside the workspace. That is, the changes within a workspace are not saved as part of the production-ready data, but saved only within the workspace. The Workspace Manager commits an entire task group at one time, or a task group commits after it is approved by a Task Group Approver.
Task groups
A workspace contains one or more task groups. The Workspace Manager is responsible for creating and managing a workspace, and its properties, and the task groups and tasks within the workspace.
- Separation of commit
- All the changes that are associated with a task group are committed to the production-ready data
at once. When a task group is committed, the changes merge with the production-ready data, allowing
users outside the workspace to see the changes. Each task group in a workspace can be committed
independently of the other task groups.
When a task group is committed, the data in the task group moves from the workspace to production-ready data. After a successful commit, the data is no longer in the workspace.
- Approvals
- A Workspace Task Group Approver can approve the changes that are made in a task group before the
data in a task group is committed to the production-ready data.
If you enable approvals for a task group, all its tasks are approved together. Individual tasks in the task group can be rejected or all of the tasks in the task group can be rejected together. If a task group is approved, the task group data is committed to the production-ready data. If a task group is rejected, its tasks return to the working state. If an individual task is rejected, only the rejected task returns to the working state.
- Scheduled commit
- You can choose a date and time for the task group data to be committed to the production-ready data.
- Quick publish
- You can mark a task group for quick publish when you create the task group. When all tasks in a
quick publish task group are complete and, if required, the task group is approved, the contents of
the task group are committed to the production-ready data on the authoring server. The contents are
then published to the production server.
The quick publish function is not related to the store publish process.
Quick publish is not supported in WebSphere Commerce Developer.
- Templates
- If a task group is to be reused in other workspaces, you can create a template of the task group
to copy the task group into the other workspaces. To use a task group as a template within
Management Center, include the task group in an inactive workspace that is being used as a workspace
template. By using an inactive workspace as a template, you can copy the task groups within that
workspace to quickly create task groups in different workspaces. A copied task group contains the
information of the source task group except for the due date. The due date is not copied since it
should be different each time a user instantiates the template. The copied task group does not
contain the tasks within the template task group. You must copy any task that you want in the copied
task group separately.
An example of a task group template is a template that is used to update the price of a product. This task group can occur often, and in multiple workspaces.
For more information about creating workspace templates, see Creating workspace templates.
- Comments
- Workspace Content Contributors can view and make comments using the Management Center Workspace Management tool. Workspace Managers can view and respond to these comments in the Workspace Management tool. This view can help Workspace Content Contributors and Workspace Managers communicate what is needed or how work is progressing.
Task groups have two identifiers: a task group name and a task group code. The Workspace Manager assigns the task group name to a task group while the task group code is a system generated identifier for the task group. While two task groups might have the same task group name, they have different task group codes.
Use task groups to keep sets of related changes together to avoid possible conflicts, concurrency, or dependency problems. For example, if you are adding a catalog item and creating an e-Marketing Spot to market the item, ensure that both of these tasks are done in the same task group. If the tasks are completed in different task groups within the same workspace, the e-Marketing Spot might be committed before the new catalog item. This commit sequence can cause the commit of the task group to fail.
The strictest way to avoid conflicts or concurrency problems is to have only one task group per workspace. However, you can decide on the number of task groups in a workspace according to your business needs. An example of when you need multiple tasks groups is if different approvers are needed or if content needs to be committed at different time intervals.
- Single-use task group
- A single-use task group is complete after the task group is committed.
Single-use task groups must be activated before Workspace Content Contributors can work on their assigned tasks.
- Recurring task group
- If a task group is reused within the same workspace, mark the task group as recurring. When a
recurring task group moves into complete state, a copy of the task group is created. This copy has
the same tasks as the original task group and is already in working state - this new task group does
not need to be activated. The copy of the task group has the same task group name as the original,
but it has a new task group code. Note: If a recurring task group exists in a single-use workspace, it can be canceled to change the workspace to a completed state.
An example of a useful recurring task group is a change to the catalog that occurs daily. After one day's tasks are complete, a new identical task group is ready for the next day.
- All tasks in the tasks group are complete.
- The task group is approved, if approval was enabled when the task group was created
Tasks
Tasks provide a separation of responsibility. Each task is an individual unit of work that contributes to the completion of an activity that the Workspace Manager assigns to Workspace Content Contributors.
- Name
- Status
- Due Date
- Task group name
- Workspace name
Tasks have two identifiers: a task name and a task code. The Workspace Manager assigns the task name to a task while the task code is a system generated unique identifier for the task. While two tasks might have the same task name, they have different task codes. However, having the same name for tasks makes it difficult to distinguish between them in the Workspace Management tool. This can make it difficult for Workspace Content Contributors to distinguish between them in the Management Center.
After logging on to the Management Center Workspace Management tool, a Workspace Content Contributor chooses from a list of assigned tasks. When a task is complete, the Workspace Content Contributor changes the state of the task to complete.
When you are planning the work flow for tasks, avoid making tasks too granular. For example, if you have a four-step process you want completed in a workspace, with the first three being done by one Workspace Content Contributor and the last one being done by another Workspace Content Contributor, you need to only create two tasks - one for the first Workspace Content Contributor and one for the second.
A task group cannot be approved or committed until all tasks in the task group are complete.