ConPortal Progress Tracker

Abandon Hope, All Ye Who Enter Here

Last updated 11:16 AM January 9th 2009



There are two classes of work we need to do: Fix bugs, and adjust features & add new functionality. This part of the document is where we're going to keep track of who's doing what. Suggestions are welcome, and please notify George what things you're working on. Note that, in general, work should be prioritized as listed above – existing bugs should get squashed before we add new ones!


Known Bugs:

  1. Low Priority: All users get displayed as potential supervisors when choosing a supervisor for a new employee.

  2. Low Priority: Allow users who have “manage users” permission to actually, you know, manage users.

Adjust Features / Add Functionality:

  1. Low Priority: Adjust the index page to list blocks of hours as blocks, instead of individual hours.

  2. Add a “week-at-a-time” view – in progress (and probably always will be...)

  3. More printer-friendly output for shift & punch history

  4. Integrated shift history & punch history view

  5. Add & edit positions

  6. (Long term) Variable shifts within a shiftgroup (Meredith's weekend hours) (Just do temp takes!)

  7. Allow copy shifts to copy only some of the positions for a given day

  8. 8-hour auto logout (Abhay, others)

  9. Graphical comparison of shifts to time worked according to punches (master the week-at-a-time view first!) (Jamie)

  10. Statistics?

  11. Add tardiness points system (Bud/Jamie/Jey/George)

  12. Add seniority system; allow tracking of hired year OR # of semesters worked (George/Mary Jean) – in progress; currently have hired year seniority only

  13. Add notification of future shifts (4 hours?) that are going uncovered.

  14. Much more flexibility in how shifts are taken, allow alternatives list (Holly)

  15. ConPortal user manual – most students should be able to figure it out on their own, but docs are always nice.

  16. ConPortal manager manual – more critical than user manual, since there's many more things a manager has access to. There is currently some in-application help text, but it needs considerable expansion. Absolutely vital before we even consider bringing this “to the world.” (Of course, that also necessitates having all the parts in place so that a non-technical student manager can do everything that needs to be done, which isn't currently the case! But, some velvet morning...) (Update: install guide is a go)

  17. Create shifts for multiple positions at once? - Jey

  18. Purge or edit shiftgroups – Jey

  19. Some flexible mechanism for slacker/temp drop/no one here information retrieval. Tie that into the tardiness system? - Jey/George

  20. Shift drop forgiveness and/or “red/blue” system? - Kenneth Chan, Stanford

  21. Completely re-engineer the shift system?

  22. Allow suppression of “Perm dropped by” in shift schedule


Completed Work:

  1. (Bug) Users are allowed to take multiple shifts during the same hour block. Thanks, Sam!

  2. (Feature) Made it easier to create shifts.

  3. (Feature) Added database table to record punches.

  4. (Feature) Added basic database functions – more to come later.

  5. (Function) Added punch in/punch out code and webpage.

  6. (Function) Added punch history code and webpage.

  7. (Function) Added nag script and cron job.

  8. (Function) Added the auto-correct punch system. Holy crap was that a PITA.

  9. (Feature) Shift history now reflects consecutive shifts as a single row.

  10. (Feature) Make title live in config file

  11. (Feature) Added scripts to streamline updates to production versions

  12. (Feature) Added code to limit login access

  13. (Feature) Unusual Logout reports

  14. (Feature) Displays total hours in punches.

  15. (Feature) Staff can add & edit punches.

  16. (Feature) EZ Mass-punch feature

  17. (Feature) Punch & Shift History now includes everyone in the drop-down list.

  18. (Feature) Punch in/out button displays in or out based on one's status, and also mocks Pete.

  19. (Bug) Displaying list of everyone in drop downs no longer changes the userid string to the last person in the list

  20. (Refactoring) No longer storing time worked in the database; just computing the value each time.

  21. (Bug) Changed wording of Techdesk rule; also fixed a bug where anything that went to 11pm automatically ended at 11:59.

  22. (Feature) Implemented NetDiff, now receiving reports on host status

  23. (Bug) Fixed the duplicating month name in dropdowns bug.

  24. (Feature) Added color to differentiate weekend hours from regular ones in punch history.

  25. (Feature) Added breakdown of regular & weekend hours to punch history.

  26. (Feature) Timesheet friendly hours display, as per Bud's request

  27. (Feature) Added code so that logins & logouts are checked against the same list. Thanks, Nishan!

  28. (Feature) View shiftgroup and related details - Meredith

  29. (Feature) Users can edit their own phone numbers and IM name – Meredith

  30. (Feature) Checkboxes for creating shifts – Meredith

  31. (Feature) Add everyone field to announcements – Meredith

  32. (Feature) Add day-of-week and removed position from take/drop emails – George

  33. (Feature) Add hired date field to user records, and fields to manipulate that data.

  34. (Bug) No longer leaks failed login info at the URL.

  35. (Feature) Quickpunch!

  36. (Bug) Relative instead of absolute URLs breaking stuff when editing punches.

  37. (Feature) Quickpunch on the front page; now with 100% more hackitude! - Meredith

  38. (Feature) Made the shift creation page a little less blecherous and painful to use

  39. (Bug) Fixed email to work with the new email system. Go team Zimbra!

  40. (Feature) Seniority, based on Leader/semester started working.

  41. (Bug) Fixed the drop/add multiple shifts only sending one email bug. YAY LISTPROC!

  42. (Bug) Fixed OH NOES!!11 punch-fixing functionality (maybe, and added code to track problems)

  43. (Feature) Admins can now set the hours-per-week, seniority, and start date for a given user group and shiftgroup without having to manually edit the database! W00t! This superceeds the older “just set hours-per-week” functionality.

  44. (Feature) Can turn on and off email notifications for different shiftgroups.

  45. (Feature) Enhance the add punch (and similar) interfaces to default to today's date – Jey

  46. (Feature) Enhance the add punch (and similar) interfaces to provide a drop down menu instead of a yyyy-mm-dd hh:mm:ss text box – Jey

  47. (Feature) Create shifts now understands 12 hour + AM/PM instead of 24 hour

Arbitrarily named ConPortal 1.1 release presented at ResNet 2008!



  1. (Feature) Columns in user tables sortable by clicking column headings

  2. (Feature) Situation reports (and emergency situation reports) to help give a “big picture” view of what's happening.

  3. (Feature) Sit reps, emergency sit reps, slacker alerts, and temp drop warnings can be turned of in the config file now.

  4. (Feature) Variable length shifts and blackout period, controlled through config.php file.

  5. (Feature) Moved many admin-configurable things to the database, and developed the “Edit Preferences” page to modify these. A few things needed to bootstrap things (like database, db username & password, etc) need to stay in config.php

  6. (Feature) The shifts display now properly understands the variable blackout period, instead of being hardcoded for 2-7.

  7. (Feature) Drop/Take emails now have a link to the ConPortal main site included in them.

  8. (Feature) Hours >8 don't appear as 8, they appear as 0.

  9. (Feature) Feedback from Mass Punch function – sanity check to make sure it's done the right thing.

  10. (Feature) Preferences that were “TRUE” or “FALSE” now have a easier-to-use Yes/No dropdown.

  11. (Feature) Printer-friendly css file

  12. (Feature) Made the Preferences page far better organized

  13. (Feature) Admins can now choose to let users choose to suppress take/drop messages

  14. (Feature) Added shift drop changelog to main page

  15. (Feature) Many more options to control what is displayed in the shift schedule on a per-user basis

  16. (Feature) Re-added the appointment system as a global preference controllable by admins

  17. (Feature) Admins can add IP addresses through Manage Punches

  18. (Feature) Admins can control Shift Changelog through a global option to enable/disable, and individual changelog messages through the Manage Announcements tab

  19. (Feature) More explicit notification of anomalous punches in the punch history view.

  20. (Bugfix) Found the bug in the Mass Punch feature, and squashed it!

  21. (Features) Integrated Albany code into the codebase. Created “Bucknell” and “Albany” modes in configuration. Created two “strings” files to store literal strings – could one day help permit multi-lingual ConPortal. Still a long way to go before that happens, however...

  22. (Feature) Re-enabled the appointment system

  23. (Feature) Admins can now specify what shifts appear in red, instead of just weekends appearing in red.

  24. (Feature/Bugfix) Made punch history calculations highlight odd cases (user hasn't punched out, or worked more than 8 hours)

  25. (Feature) Changed shiftgroups so they can now prevent users from taking shifts more than one week into the semester if the semester hasn't started yet.

  26. (Feature) Included a sample Crontab file, to show how certain auto-checking scripts might be run, and my “upTD” script to show how one might automatically update an instance of ConPortal that is manged by Subversion.

May 2009


74.(Bugfix) Fixed the “no shiftgroup found” bug when the schedule is viewed on the last day of a shiftgroup.

75.(Feature) Added “purge all shifts from shiftgroup” feature

76.(Feature) Users can control size of displayed shift boxes, along with what information is displayed.