Glossary Requirements

by Walter McGinnis,

I. Introduction

The following is a requirements document for the Glossary Package version 4.0a.

II. Vision Statement

The Glossary Package is based on the ACS 3.x glossary module which was simply a repository for a site's terms and their definitions.

In the process of migrating the glossary to an ACS 4.0 package, we will expand its feature set to support multiple contexts. A site, subsite, group, user, or even document (a this point the document must exist in the database as an ACS object) may have one or more glossaries associated with it. Terms may have illustrations (acs-content-repository). Each glossary can have its security set (acs-permissions), a workflow, and optionally except user comments. A glossary's content will be stored in the content repository and its presentation will use the ArsDigita Templating System (ATS).

III. Package Overview

The Glossary package provides:

IV. Use-cases and User-scenarios

Patricia Punkprogammer starts up a community website called punk-not-dead.net. She researches and creates a publicly readable glossary for the site about being punk. She decides that only a set of designated punk-not-dead site glossary authors can add terms and definitions, but that all users can add comments. It is listed at punk-not-dead.net/glossaries/.

Anna Anarchist, who is not a designated punk-not-dead site glossary author, decides that only adding comments on terms in punk-not-dead.net's glossary isn't enough to let her express her view of being punk. She makes her own publicly readable and comment-able glossary (thanks to Patricia creating a glossary for her and then granting her permission to administrate it) which is listed at punk-not-dead.net/glossaries/.

Steve Skateboarder writes an article for punk-not-dead.net titled "The Pleasures of Being a Public Nuisance on Four Wheels" which ends with a description of how to put a skateboard together. He creates a glossary for the article that defines the different parts of a skateboard. Users cannot comment. He links to the different terms within his article and provides a link to the glossary at the beginning and end of the article. It is also listed at punk-not-dead.net/glossaries/.

Steve Skateboarder also creates a personal glossary of terms that he may need for writing upcoming articles. He keeps this private. It is not listed at punk-not-dead.net/glossaries/.

Commie Karl creates a subsite (thanks to Patricia configuring the ACS for him) for communist punks and starts up a glossary for it. Members contribute terms and definitions and can also comment. The glossary is publicly readable so that "fellow travelers" that are not members of the subsite can also view it. It is listed at punk-not-dead.net/commies/glossaries/ (commies being the subsite's site-node).

V. Related Links

VI. Requirements

10.0 Glossary Creation

Users (sometimes limited to administrative users only) can create glossaries

20.0 Glossary Security

Users (sometimes limited to administrators) can set and modify security permissions on individual glossaries.

30.0 Index of Package Instance's Glossaries

Users can view a list of the package instance's glossaries which they have been granted permission to read. It should also provide or link to a mechanism's for administering glossaries.

40.0 Glossary Term Creation, Modification, and Deletion

Users can create, modify, and delete terms in glossaries that they have granted the corresponding privileges on. Such tasks will often be assigned via the Workflow system.Note -- Currently, you must set privileges from separately from task assignment

50.0 Adding Glossary Term Illustrations

Users can add illustrations to terms by uploading images.

60.0 Glossary Term User Comments

If the glossary owner (or anyone that has administrative privileges on the glossary) so designates users can attach comments and files (often image files) to a term in the glossary.

70.0 Subsite Glossaries

There can be multiple instances of the Glossary Package running on a site.

80.0 Glossary Workflows

Glossary owners and others that have administrative privilege on a glossary can set up "workflows" for that glossary. This corresponds to the old approval policy in the glossary module, however it is much more flexible and sophisticated.