Adding Collaboration Services Using the AquaLogic User Interaction Development Kit

by Caroline Leung


The AquaLogic User Interaction Development Kit (IDK), formerly known as the Enterprise Development Kit, provides programmatic access to many AquaLogic User Interaction Collaboration services, such as project management, document repository, threaded discussion, task list assignment, and subscription/notification support. This article describes how to embed collaboration services and functionality into your Web applications using the IDK Collaboration API.


AquaLogic User Interaction Collaboration provides a working platform for work groups and business units, and is part of AquaLogic User Interaction. See the Introduction to AquaLogic User Interaction Development by Jennifer Shipman (Dev2Dev, April 2006) for details on how this component fits into the entire AquaLogic User Interaction suite. ALUI Collaboration provides a number of collaborative features with some obvious benefits:

  • They increase productivity between teams.
  • They provide a central place for information sharing.
  • They make communication between internal teams and external teams very easy.
  • They greatly improve project management.

ALUI Collaboration helps bridge the communication between employees, customers, and partners; you can also use it to manage projects across different teams and areas, such as engineering, sales, marketing, and customer support.

To make the collaboration services more accessible to customization and embedding, a remote API is exposed to developers. The IDK remote API provides an object-oriented way to call into ALUI Collaboration, exposing the elements of the Collaboration Server, and providing an easy way to embed and customize collaboration services in your Web applications.

Collaboration Projects

Collaboration functionality centers on a Project. A Project is a centralized location of interrelated collaborative information. It is the container for all the other functionality, such as:

  • Document repository and management
  • Threaded discussion
  • Calendar events, such as meetings and milestones
  • Task lists and task assignments
  • The ability to subscribe to all the other objects in a project
  • Announcements and notifications

The remote API not only provides access to Collaboration objects, it also supports querying and managing security of the objects.

The rest of the article will demonstrate how you can embed collaboration services into your applications using the remote API.

Building an Assignment and Newsgroup Portlet

The following example will walk you through how to use the Collaboration Task List and Discussion APIs to create an assignment and newsgroup portlet for a college class. The primary focus of this article is on how to program the portlet using the IDK Collaboration API; an in-depth explanation on how to use .NET Web forms will not be included.


Most college classes have multi-part assignments that require research, group work, communication between individuals, and other kinds of collaborative effort. Using newsgroups is the most common way for students to brainstorm new ideas, discuss problems with the assignments, and otherwise communicate with each other. This example will show you how to build an assignment/newsgroup portlet using the Collaboration Task List and Discussion API features.

Our design has two main views for this portlet: the Assignment View that shows all questions in an assignment, and the Newsgroup View that shows corresponding discussions. Let's look at these in more detail.

Assignment View

The Assignment View shows all the questions in an assignment. Each of the questions in an assignment corresponds to a task, and each of the sub-parts of a question corresponds to a sub-task, which are shown with proper indentation immediately below the task, as indicated in Figure 1.

Figure 1: The Assignment View with tasks and sub-tasks

The option drop-down allows you to manipulate the tasks, including:

  • Selecting one or more tasks, viewing the corresponding newsgroup (discussion)
  • Creating a new task
  • Selecting a task to create a new sub-task

The Newsgroup View

The Newsgroup View shows all the corresponding discussions for the selected tasks in the previous screen. When a task is created, a corresponding discussion is created with the same name. When students want to check for information for a particular task on the assignment, they can select that task on the Assignment View, choose View Discussions , and then use the resulting Newsgroup View to read all the corresponding discussion. Figure 2 shows the Newsgroup View.

Figure 2
Figure 2: The Newsgroup View (click the image to see an enlarged version)

Options from this view include:

  • Select a discussion to create a new post
  • Select a message to create a reply
  • Go back to the Assignment View

Other views in this portlet include being able to create a new task, sub-task, or new post, or to post a reply. Let's now turn to the code.

Pages: 1, 2, 3

Next Page ยป