EQUIP2 WebApp Tutorial Application Specification
Chris Greenhalgh, 2007-01-29
Introduction
This document specifies the web application as it is (to be)
implemented. It is a good thing
(TM) to have an agreed specification at the outset. With EQUIP2 it is
especially important to know what data will be required.
Entities
The application involves Players, Topics and Comments.
Players
The application will be used by 'players'. Each player will be
described within the system by:
- a unique internal ID,
- a textual name to be used in web pages, etc.,
- an internet email address (of the form 'name@domain'), used to
potentially send email and also to log into site,
- a textual password, used for website log in authentication,
- player status, one of NEW, ACTIVE, BANNED or LEFT,
- player role, one of ADMIN, TRUSTED, UNTRUSTED,
- date/time player joined,
- date/time player left or was banned (if applicable)
Any player who is ADMIN or TRUSTED can ban any player who is TRUSTED
or UNTRUSTED.
An ADMIN can change the status and role any other Player.
A player who is BANNED or LEFT cannot log into the site to perform
any changes which would change the system.
NEW is a placeholder for an email-based account verification step.
Topics
A topic is described within the system by:
- a unique internal ID,
- its name or title,
- its full text,
- the player who created it (ID),
- the date/time it was created,
- the date/time it was closed (if applicable),
- its state, one of OPEN or CLOSED,
- the date/time a comment was last posted to it,
- moderation type, PRE_MODERATE or POST_MODERATE.
Any player who is ADMIN or TRUSTED (and ACTIVE) can create, open and
close topics.
Comments
A comment is described within the system by:
- a unique internal ID,
- the text of the comment,
- the player who made it (ID),
- the topic to which it relates (ID),
- the date/time it was made,
- its state, one of NEW, OK, BLOCKED,
- the date/time its state was changed (if applicable),
- the player who changed its state (ifapplicable)
Any player who is ACTIVE can add a comment to a Topic which is OPEN.
Any player who is ADMIN or TRUSTED can change a Comment's state to
OK or BLOCKED.
A NEW Comment is visible only on a POST_MODERATEd Topic.
A BLOCKED Comment is not visible on any Topic (except to an ADMIN or
TRUSTED player who specifically requests it).
Actions
A player who is not logged into the web application can:
- view the list of Topics
- for each topic, view the list of (visible) Comments
A player who is logged into the web application be ACTIVE. In addition
to the above they can:
- add a Comment to a Topic.
- Leave
A TRUSTED or ADMIN Player can also:
- create, open or close a Topic,
- Change a Comment's state (to OK or BLOCKED)
- ban a non-ADMIN player
- view BLOCKED Comments
An ADMIN player can also:
- change the status (TRUSTED, ADMIN or UNTRUSTED) of another Player.
Changes
2007-01-29