5Specification System
Purpose:Provide a means to store specifications.
Description:An application to store project specifications and change requests for small to medium sized web applications.
Features:1. Structure system -
a) Project - acts as a directory with a description , contains classes + pages
b) change request - stores request for changes to classes and pages
c) Pages - individual view of a data set or result
d) Class - backend functionality for pages
Sections

5.1Access Control
Purpose:Describe the access control methods
Description:Give access to
1. users
2. clients - read only access

Stage one
1. users can read , write, add any where

Stage two
1. clients - read only

Stage three
1. users have access to specific trees of documents
a) doc_access table
user_id
doc_id
read
write
insert


5.2Edit Specification
Purpose:Provide a means to edit a specification document


5.3Spec Report Manager
Purpose:Provide a way for generating reports and formated documents from the specification documents.
Description:Specification documents are intended to store the required information for a project segement. This information includes specification, instructions, features and future plans. There is also related information such as orders and timesheet data.

Generating a single document for each type of data would allow a easier over view.
Features:1. Generic report - can produce a report for each type based on required document data and type of document
2. Link from the specification document to the report manager
Sections

5.3.1Report Manager - Page
Purpose:Provide access to reports on specifications
Description:The user needs to choose various options to generate a report.

Todo: Define or find an apporiate specification format.
Features:1. choose specification document threw the specification browser, which this page is linked from.
2. use sub documents checkbox
3. type of document drop down, spec , inst , future
4. sub compoents are to be displaied as links. With a table of contents on the source page.


5.3.2SpecReports
Purpose:Provide base functions for reporting
Description:Specification, Instructions and Future plans formated for a single document are all needed items for easy review of a project.
Stored in Spec_Document/Report_Manager.php
Features:1. Generic Create Report - Flatten spec into a html document, with titles and sub sections as structued in specification system. The retrieve doc would depend on type of data being retrieved.
Spec_Document_Report_Manager::createReport ($spec_id,$spec_type,$data,$recurisve)
data = "spec" "inst" "future"
2. "spec" = Combine purpose description, features into specification document
3. "inst" - Combine purpose and instructions into instruction manual
4. "future" - Combine future lists into a change request document.


5.4Specification Browser
Purpose:Allow people to Browse Specifications by Customer and category
Description:Browse Specifications by Customer and category


5.5Specification interface
Purpose:To provide an interface for internal and external applications.
Sections

5.5.1Order State
Purpose:Define what State the order is in.
Description:Current order states are Quote, Order. Quotes are documents of client requests to be recorded. Orders are Finizilied Quotes and approved for building by client.
Features:1. Quote, open = quote being activily developed
closed = ready for client approval
frozen = approved by client, no purchase
2. Order
open = coding has started
closed = project is finished and waiting for client approval
frozen = approved by client


5.5.2States
Purpose:Define what state the project is in.
Description:Current states are based if the spec is open closed or frozen.
Features:1. States
a) open - project is open to change and to be worked on.
b) closed - closed to more documention changes, though unimplimented
c) frozen - implimeneted and has no plans to be altered or worked on.