2.2. Static Pages Requirements

Table of Contents
2.2.1. Introduction
2.2.2. System/Application Overview
2.2.3. Use-cases and User-scenarios
2.2.4. Related Links
2.2.5. Requirements
2.2.5.1. Admin UI: DB sync
2.2.5.2. Admin UI: commentability designation
2.2.5.3. Admin UI: index exclusion by pattern
2.2.5.4. Admin UI: commentability designation by pattern [deferred]
2.2.5.5. Admin UI: static pages report
2.2.5.6. Public UI: commentable pages
2.2.5.7. Support for site-wide search
2.2.5.8. Non-requirements: ACS 3.x Static features
2.2.6. Implementation Notes
2.2.7. Revision History

By Brandoch Calef

2.2.1. Introduction

This is the requirements document for the Static Pages package.

The Static Pages package searches the file system for static pages and loads them into the database. Because all pages are stored in the database, their contents are available to site-wide-search and other packages. The system also accepts and displays user-contributed comments on static pages. Site administrators may easily manage these functions (to disallow comments on certain pages, for example) via the admin pages.

2.2.2. System/Application Overview

The Static Pages package stores every static page on the site in the content repository so that they will be available to site-wide-search and other packages. When a commentable static page is requested, the general-comments package is used to attach to it a list of existing comments and an "add a comment" link. In this way, the problems of storing and searching content and managing comments are passed on to other packages.

2.2.3. Use-cases and User-scenarios

2.2.4. Related Links

2.2.5. Requirements

2.2.5.1. Admin UI: DB sync

The administrator's UI will include a command to synchronize the database contents with the static files in the filesystem.

2.2.5.2. Admin UI: commentability designation

For any given static page, the administator will be able to specify the following:

  1. Whether comments may be made on the page

  2. Whether comments are shown on the page

  3. Whether the page is included in a site-wide search [deferred]

2.2.5.3. Admin UI: index exclusion by pattern

An administrator will be able to exclude from the site-wide index any static pages whose URL or title match a pattern.

2.2.5.4. Admin UI: commentability designation by pattern [deferred]

An administrator will be able to the commentability status of any static pages whose URL or title match a pattern.

2.2.5.5. Admin UI: static pages report

An administrator will be able to view a report summarizing the number, age, etc. of comments made on each static page. [This requires support from general-comments. A feature request has been put in.]

2.2.5.6. Public UI: commentable pages

When a user visits a static page on which comments are permitted, the existing comments will be displayed (if the administrator has designated that they should be) along with a link to add a new comment.

2.2.5.7. Support for site-wide search

The contents of static pages will be made available to the site-wide-search package.

2.2.5.8. Non-requirements: ACS 3.x Static features

The ACS 3.x version of Static Pages would log each hit to a static page so that it could produce a report showing who hit each page and which pages a particular user visited. These functions belong in a "clickstream" package that tracks statistics for all pages, not just static ones.

ACS 3.x Static Pages also included a spider to visit each static page and check for bad links. Again, this feature is not specific to static pages, and is better addressed with a more general tool.

2.2.6. Implementation Notes

Section 2.2.5.6: implement by using rp_register_extension_handler to register a proc for *.html files. The registered proc will check if the page is commentable, and if so make the necessary calls to general-comments. The "is this page commentable?" query will be cached with util_memoize.

Section 2.2.5.7: site-wide-search can search anything in the content repository, so that's where the pages should be stored.

Section 2.2.5.3: implement using CR folders to allow admins to exclude entire directories.

Designate commentability using the general_comments_create privilege defined by the general-comments package.

2.2.7. Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.4Cleaned up for release.2001/03/05Brandoch Calef
0.3Some features really belong in general-comments, and have been marked as such.2001/02/27Brandoch Calef
0.2Incorporation of suggestions from mbryzek.2001/01/23Brandoch Calef
0.1Creation2001/01/19Brandoch Calef

$Id: static-pages-requirements.html,v 1.1.3.1 2001/08/29 05:19:44 andy Exp $