CDN Community Project Scheduler
From WorkCDN
Basic Flow and Estimate to Build
Works on a weekly basis
Login - uses CDN login (1hr)
- Consider the ProjectAdmins table
ProjectAdmins (CRUD) (1-2hr)
- (admin only)
- Username
Schedules (CRUD) (1hr)
- (non-admins have a username browse restriction)
- Username
- Start Week
- End Week
- min hours to commit
- max hours to commit
Tasks (CRUD) (<1hr)
- (admin only)
- Owner (username)
- Short Name < 20 chars
- Description
- Estimate in Hours
- Started On Date
- Finished On Date
- Milestone Enum
TaskVolunteers
- TaskID
- Volunteer (username)
Add Task Milestone Enum (1hr)
- (admin only)
Display Wide Schedule Table (1-2hrs)
- Actually two versions of this.. one for volunteers and one for participants.
- Columns are weeks of current year
- Ability to view previous and next year
- Rows are participants sorted by username
- Cells contain time to commit expressed as "{min}-{max}"
Display Milestone Completion Progress Table (2-3hrs)
- Columns are Milestone Name, "{TasksDone}/{TotalTasks}", Started Date, Finished Date
- Rows are the Milestones
- Interspersed are Tasks indented with the columns: "{Task Name}({Owner})", Estimate, Start Date, Finished Date
- Displays the Milestones in reverse order of when they were finished (un-started at the top)
- Finished Milestones/Tasks are Green
- Unfinished Milestones/Tasks are Yellow
- Un-Started Milestones/Tasks are Red
- Task name is click-able to drill down to full task view
- A "volunteer for this task link" is available to anyone logged in.
- Unassigned tasks show the number of volunteers instead of Owner
Full Task View (1hr)
- Displays all task fields read only
- Displays list of volunteers
- Admins have a link to edit the record
Top Contributors View (1hr)
- list of contributors by number of tasks accomplished descending
Simple Voting System
- The voting system is a simple agree/disagree system. You take it or leave it. So it's best to break proposals down into small pieces
- Any proposal agreed upon becomes a part of the spec.
- Proposals have a time limit to get a quorum of votes (majority of participants)
- If the quorum is not met the proposal fails
- If a quorum is met but a majority of positive votes is not met the proposal fails
Proposal Screen (1hr)
- A table of the outstanding proposals with the proposal text and Agree/Disagree buttons.
- (admin only) A table of finished proposals with the vote counts and decision.
Proposals (1hr)
- ProposalID
- Proposer (username)
- Proposal ( < 255 chars )
- TimeStamp (for computing expiration)
Votes (1hr)
- ProposalID
- Username
- AgreeDisagree flag
Some Notes
- This only tracks one project. The CDN community project. After a community project is done, a new project can be set up simply by adding a new milestone to kick off the new project.
- The person who finishes a task is the one who gets the credit for that task.
- Tasks can only be assigned by project admins
- Any CDN-er can add their schedule, but they are not a participant until they are assigned a task.
