Wish List
From Deep Thought
Contents |
About
Open source software wish list management system based on KISS rules. Keep track of software enhancement requests and keep the interested parties informed of the plans to implement the requests.
Contributions can be made to Cyber Sprocket Labs, the architects & maintainers of this application, at their contributions page. Just enter "wishlist" as the invoice number.
Download
The application can be downloaded by pulling the files from the subversion repo as noted in the Development section below.
License
Platform
- PostgreSQL
- Perl
- Zinc Perl Framework
System Architecture
Data Structure
Accounts
Users belong to accounts, allowing for separate wish lists to exists with a single installation. For a shared hosting environment this allows multiple accounts to exist on a system, each with their own user base all being managed on a single server/single install (SaaS environment).
- acct_id
- acct_name
Users
- user_id
- user_acctid
- user_name
- user_pwd - md5()
- user_level - user,admin
Requests
- req_id
- req_request
- req_details
- req_by
- req_date
- req_catid
RequestPriority
The priority and level assigned to a request. A linked table so we can change the priority and/or level after the initial request. The idea is that the original requestor can state what they think the priority should be (i.e. "Critical / Level 0") and the project manager can re-assign a new priority (i.e. "Not-So-Critical / Level 10") and we'll be able to report a history of the priorities/levels for a specific request over time.
- reqp_id
- reqp_reqid
- reqp_priority
- reqp_level - integer to rank requests within priority classes
- reqp_by - who did this
- reqp_date - when
- reqp_reason - why the priority was changed (default: original request)
Categories
How we group our requests. Free form text entry. Use this for something simple like the name of various products (i.e. "Icarus, Daedalus, Eyore") or for functional areas of one application (i.e. "Accounts Payable", "Accounts Receivable", "Payroll").
- cat_id
- cat_name
- cat_rank - for sort order if not alpha
Priorities
What priorities are allowed for your ranking of requests. A typical priority list would be "Critical","Standard","Low".
- pri_id
- pri_name
- pri_rank - for sort order if not alpha
User Interface
All
- Create Request
- Report All Requests
Admin
- Categories admin (add/remove/modify)
- Priorities admin (add/remove/modify)
- Requests admin (add/remove/modify)
Development
This application is distributed and updated via the subversion source control system.
- The home base is located at svn://cybersprocket.com/wishlist/
- The repo is managed by Cyber Sprocket Labs, they can be contacted at mailto:info@cybersprocket.com
Directories & Files
Root (/)
The main home of the application.
- .htaccess - controls the URL to direct everything into index.pl for processing
- index.pl - the controller for the entire system, invokes the framework
Data (/data)
Where the data related documents, schemas, and tools live.
The files named schema-*.sql are the data schema files that contain the SQL used to create and populate the database on an install or upgrade. Files names schema-update-*.sql are the iterative changes between versions, starting with the 0.1 release you can run each SQL file in sequence to upgrade to the next release (that is our current theory anyway).
- schema-current.sql : the data schema and initial data records for the current application schema (great for new installs)
Library (/library)
The supporting Perl libraries go here including the action and view interfaces.
- Actions.pm - handles the application actions
- Views.pm - manage the presentation of the app
View (/view)
The display stuff like templates, etc. live here.
Templates (/view/templates)
The different view templates.
Zinc Framework(/zinc)
Contains a copy of the Zinc framework files. On development boxes this is a symbolic link to the Zinc installation directory.
Categories: Zinc | SaaS
