...
The Keys Office.
TECHNICAL
SVN SVN LOCATION
svn+ssh://svn.mit.edu/pmdashboard
SERVER LOCATION
ppl-r1.mit.edu
DATABASE
Key Tracker runs on Oracle on ppl-r1.mit.edu .
There are three instances: production, development, and test (for unit testing). The testing database data may be eradicated at any time by unit testing scripts, and should not be used for development or any other data you wish to keep.
Here's the TNSNAMES info for dev and test:
keysdev =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=ppl-r1.mit.edu)(PORT=1521))
)
(CONNECT_DATA=(SID=PPLDEV))
)
keystest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=ppl-r1.mit.edu)(PORT=1521))
)
(CONNECT_DATA=(SID=PPLTEST))
)
Contact Janet Riley Bowker or Peter Maloof for login information.
DEVELOPMENT ENVIRONMENT
PHP 5.2
Cake 1.1.15.x (the latest stable, non 1.2 version)
Oracle - whatever version Ops currently recommends
Apache - whatever version Ops currently recommends
...
This will be an agile-flavored project, using several short iterations with visible results at the end of each. The order of iterations may change.
Iterations :
... in progress ...
1. Hello, World!
GOAL: set up environment, make sure all the pieces are in place ( dev environment, server, databases, apache configured correctly, svn)
DELIVERABLES: Deploy a simple Cake-generated page to server. Page should do something to confirm it can connect to database.
2. Models and simple controllers: the CRUDS
GOAL: create the building blocks so there's something to work with and see on the screen; get some momentum with Cake; rough out the UI and page flow
DELIVERABLES: plain, rough HTML pages for CRUD'ing keys, people, departments, locations. Unit tests.
User stories:
- CRUD a key
- CRUD room information
- CRUD key holder information
- CRUD department information
3. Assign key, transfer key, lost key
GOAL: Add non-CRUD business logic, change multiple objects with a single action
DELIVERABLES: a means to assign and transfer keys. Unit tests.
User stories:
- assign keys
- transfer keys from one holder to another
- keyoholder returns key
- keyholder loses key
4. UI work
GOAL: Make it look nice so the user WANTS to use it; develop a visual style to use through the application.
DELIVERABLES: a look that's not out-of-the-box plain Cake HTML; a start page that lets the user navigate functionality, with placeholders for upcoming functionality
?? We should visit the Keys Office for a test drive, get some feedback on the UI
5. Show
GOAL: develop a search/select page
DELIVERABLES: all the "show X" pages. Unit tests.
- show key inventory
- show rooms and keys brief list
- show key inventory
- show key holders and their keys
- show keys assigned to key holders
6. Reports
GOAL: implement one report. Discover hidden requirements about formats, etc.
DELIVERABLES: run one report. Subsequent reports will use same code, different SQL, so it's not critical to implement all of them right now. Unit tests.
- select a report to run
- run a report
7. Test and Launch
GOAL: migrate application, go live!
8. Wrap-up
DELIVERABLES: final updates to project notebook - anything we'll need to know to maintain the project. Required intern summary and tasks are broken down here .