I. Introduction
Other docs of this package This document describes the requirements for package News. The News package should include all functionalities of ACS3.4 News module, plus more features, cleaner file structures, and more user-friendly User Interface as described in this document.
In this document, the News package refers to this new package to be developed, while the News module refers to the existing News module.
This document includes the following:
- Vision Statement
- System/Application Overview
- Use-cases and User-scenarios
- Related Links
- Requirements
- Future Enhancements
- Revision history
II. Vision Statement
The News package is to manage news items, which are only interesting for a period of time, hence should disappear into archives when expire. News items should also be commentable by readers. This package will allow group-scoped news posting/viewing with configurable approval policy at newsgroups level.
III. System/Application Overview
The News package should not depend on any other packages except ACS core.
When compared with ACS 3.4 News module, the goal of developing this package includes:
- Cleaner file structures.
In ACS 3.4 News module, many files are duplicated and reside under both /news/admin and /admin/news. This is confusing and hard to maintain.- Provide more admin control of news groups.
Ability to enable/disable newsgroups, configure approval policy at news groups level, etc.- Have a consistent and easy-to-use user-interface
For example, move archived/expired news to separate pages and provide links from the main page to accelarate the load-time of the main page.IV. Use-cases and User-scenarios
The News package is intended for the following classses of users, which may or may not overlap:
- General Users (referred to as users)
This class of users can view all news items they are entitled to, which includes all news items of the newsgroups they are member of. Users can post/suggest news items if approval policies permit.- Newsgroup Administrators (referred to as newsgroup admins)
Each news group may have one admin group. The members of the admin group are considered newsgroup admin. If no admin group is specified for the newsgroup, then the users with role "administrator" for the group are considered the newsgroup admins.
They can do what users can do, plus the admin work for the newsgroups they administer, which includes
- enable/disable the newsgroup
- add/edit/reject/approve the news items in the newsgroup
- edit approval policy of the newsgroup
- edit e-mail option (see section VI.D) of the newsgroup
- Site-wide Administrators (referred to as site-wide admins)
The site-wide admins can do what users and news admins can do, plus the admin work at the site level, which includes
- add/enable/disable any newsgroups
- edit approval policy of any newsgroups
- create/assign/change admin groups of any newsgroups
- edit e-mail option (see section VI.D) of any newsgroups
V. Related Links
VI.A Requirements: Data Model
To minimize the effort of implementing this package as well as the upgrade effort from the News module to News package, all code in the News module should be reused as much as possible. The data model for the News module should continue to be used. More columns/tables can be added if needed. An SQL file will be provided to upgrade the News module to the News package.
VI.B Requirements: Scope
The news items should be scoped similar to how they are scoped in the existing News module. The News module has the following scope:
- Public news for everyone
- All Users news for everyone (try not to use this, too similar to public)
- Registered Users news for registered users only
- Group news for members of a group. There can be many newsgroups in this scope. For example, "Employees" group has a newsgroup, "Human Resources Team" has it's own newsgroup.
There should be admin interfaces to add/enable/disable newsgroups. Site-wide admins have full control to all newsgroups, while the newsgroup admins can only change the newsgroups they administer.
VI.C Requirements: Approval Policy
Each newsgroup may have one admin group (more than one newsgroups can have the same admin group), and has it's own approval policy. The approval policy can be one of the three values:
- Open: members can post items
- Wait: members can suggest items (subject to approval by admins)
- Closed: only admins can post items
There should be web interfaces to set approval policy for newsgroups.
VI.D Requirements: E-mail Option
Each newsgroup should have an e-mail option. If the e-mail option is set to "yes", and the approval policy is "wait", then when a member suggests a news item, the admins in this newsgroup are notified by e-mail. The newsgroup admins can edit the e-mail option for the newsgroups they administer. The site-wide admins can edit the e-mail option for any newgroup.
VI.E Requirements: User Interface
In general, the user interfaces should be consistent (look and feel) and have convenient navigation.
- There should be no link to lead a user to an access-deny message. If a user can't perform an action, then she shouldn't see the link to it.
- Users should see all news items they are entitled to view on one page. They should not have to go to one place for the news of one newsgroup, and then go to another place for the news of another newsgroup.
VI.F Requirements: File Structure
Following the APM convention, all user files reside under /www/, all newsgroup admin files reside under /www/admin/. All site-wide admin pages are under /admin-www/.
VII. Future Enhancements
Newsgroup Admins have an option to spam items to a group of users (can be a group of users result from a SQL query, for instance, users who have downloaded ACS within the last six months.
VIII. Revision History
Document Revision # Action Taken, Notes When? By Whom? 0.1 Creation 12/12/2000 Lin Chen 1.0 Revision 12/29/2000 Lin Chen Kyle Nicholls