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.
Saved searches. Users can save important keyword search queries, apply filters, and retrieve the information later.
Saved results. Users can bookmark results, add them to a basket, and search those saved items.
Rating. Users can choose to rate or "like" results, giving a social signal to their peers. Rating analytics can be used to influence ranking.
Tagging. Users can tag content with keywords, which content owners can use to improve data quality.
Annotations. Users can annotate/comment on results and edit or delete their own comments. Users cannot edit or delete the comments of others.
Topics. Users can create topics and any captured metadata. For example, saved searches can be associated with a topic.
User-generated content can be stored in a relational database or any other kind of data store, using our pluggable architecture.
Authentication and authorization of users is managed via the Security module.
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.
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.
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).
Some annotations can be categorized 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.
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.
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.
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.