Social and Collaboration Tools

The social and collaboration tools provided by the Social module extend the search application with the ability to store user-generated information on individual documents and document collections, and to share this information among groups of authenticated users. For example, documents can be tagged or bookmarked, and users can save search queries and add comments to individual documents.

User-generated content can be stored in a relational database or any other kind of data store, using our pluggable architecture. All social data, such as tags or bookmarks, is also available for indexing via web services, which make it possible to enhance search results based on input from users of the application.

Authentication and authorisation of users is managed via the Security module.

Prerequisite

Prior to using social and collaboration tools, you must enable them in Fusion and in App Studio.

Terminology

While much of the language used to describe collaborative tools is carefully chosen to be self explanatory, there are several general concepts which are used throughout and are introduced in this section.

Annotations

Key to the collaboration enabled by inclusion of this module, there are several types of annotation which can be applied to documents. These include bookmarks, comments, and likes, which are commonly found in many applications and provide a versatile way for users to contribute and save information during their search.

Topics

A topic is a general term for a subject that users are intending to collect information about. This module provides facilities for users to create a named group with which they can associate any number of annotated documents. Topics themselves can be created and selected using the Topic Form tag. Many of the collaborative tags included in this module have a topic attribute that links the saved information to a specific topic (which can be picked up from the URL). Topics can be defined by the developer as being 'namespaced' so they can be global (available for all users to collaborate on) or local (only viewable by the individual user that created them).

Collections

Some annotations can be categorised by collection. This is a mechanism for separating annotations of different types of document. There is a subtle difference between topics and collections, in that collections are usually determined by the categories of information in the data and generally pre-defined by the application developer offering a small number of collections with which to associate annotations. Collections are intended for a finite number of categorical groups whereas any number of topics can be created.

Social and Collaboration tags

Like Documents

The collaborate:like tag displays controls for the user to "like" a document. It also displays statistics on the number of times a specified target document has been liked.

Saving Queries

The Appkit social module lets users save and retrieve their search queries. Use the collaborate:saved-query-list tag to let users save and retrieve their saved search queries. Alternatively, you can enable social features in the search:box to have access to the same form.

Bookmarks

The collaborate:bookmark tag displays controls for adding a new bookmark, in addition to statistics on the number of times a specified target document has been bookmarked. This tag is typically used within a Result List tag, to enable the user to bookmark a particular document in the result list.

Bookmark List tag The collaborate:bookmark-list tag retrieves and displays all bookmarks that have been created by a particular user, are within a given topic, or are linked to a particular document (or any combination of the three constraints). Alternatively, you can enable social features in the search:box to have access to the same form.

Commenting

The Appkit Social module lets users comment on search results and display other users' comments. This gives users a flexible way to interact and contribute in an application, and can be used to implement features such as feedback, discussion, and reviewing systems.

The collaborate:comment-form and collaborate:comment-list tags are used respectively to create and retrieve these annotations.

Create Topics

The collaborate:topic-form tag lets users create named topics with which to associate saved information. Topics can be restricted to the user who creates a topic or global to all users. The collaborate:topic-list tag will display these topics.