mantisbt:due_date_requirements
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mantisbt:due_date_requirements [2008/03/01 18:33] – Added development stages. vboctor | mantisbt:due_date_requirements [2023/09/23 04:03] (current) – [Due Date Requirements] kevin_kuo | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Due Date Requirements ====== | ||
+ | **Author:** Victor Boctor | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | Mantis currently tracks very well the project versions and issues status, however, it currently (up to 1.0.x) doesn' | ||
+ | |||
+ | ===== Database Changes ===== | ||
+ | |||
+ | * Add an optional due_date field to the issue table. | ||
+ | |||
+ | ===== Configuration Changes ===== | ||
+ | |||
+ | * Add a configuration option for the threshold required to be able to set the due date. | ||
+ | * Add a configuration option for the threshold required to view the due date. | ||
+ | |||
+ | Currently threshold can take either a threshold (e.g. DEVELOPER) or an array of allowed access levels (e.g. array(DEVELOPER, | ||
+ | |||
+ | ===== General Changes ===== | ||
+ | |||
+ | * Support " | ||
+ | * View Issues page | ||
+ | * Print Issues page | ||
+ | * Issue View Advanced page (eventually will be customizable through templates). | ||
+ | * Issue Update Advanced page (eventually will be customizable through templates). | ||
+ | * CSV export | ||
+ | * Excel export | ||
+ | * Word export | ||
+ | * Support an " | ||
+ | * Support for filtering by due date, this is by specifying a date range to match against. | ||
+ | * Support a new block in My View page which shows overdue issues (Overdue Issues). | ||
+ | * Support a new block in My View page which shows overdue issues assign to the current logged in user (My Overdue Issues). | ||
+ | |||
+ | ===== Reminders ===== | ||
+ | |||
+ | * Provide a script that can be called from a cronjob to send reminders for due / overdue issues. | ||
+ | * Each user that is a handler in one or more projects and has one or more issues that are due or overdue should receive only one email whenever this script is called. | ||
+ | * The recommendation will be to execute this script once every morning. | ||
+ | * The formatting of each issue should be done through a custom function that takes the issue number and the user preferred format as an input. | ||
+ | * The reminder layout will look as follows: | ||
+ | < | ||
+ | * Issues Due Today | ||
+ | * Project 1 | ||
+ | * 20345: summary (status) | ||
+ | * Issues Overdue | ||
+ | * Project 1 | ||
+ | * 12345: summary (status, due date). | ||
+ | * Project 2 | ||
+ | * 11111: summary (status, due date). | ||
+ | * 22222: summary (status, due date). | ||
+ | </ | ||
+ | |||
+ | ===== Integration Features ===== | ||
+ | |||
+ | These are nice to have features: | ||
+ | |||
+ | * It would be nice to allow users to click on an icon to download a calendar (e.g. iCal) or todo entry that automatically gets added to user's todo list or calendar (e.g. Outlook). | ||
+ | * It would also be nice to have some sort of integration with online calendars (e.g. Google, Live, Yahoo, etc). | ||
+ | |||
+ | ===== Development Stages ===== | ||
+ | |||
+ | Following are the development stages of this feature in order to avoid one big patch: | ||
+ | |||
+ | * Database Schema Changes. | ||
+ | * Support Filtering by Due Date. | ||
+ | * Support in View Issues, Print Issues, CSV, Excel, and Word. | ||
+ | * Cronjob script for email notifications. | ||
+ | |||
+ | |||
+ | ===== Feedback ===== | ||
+ | |||
+ | Please add your comments and feedback in this section. | ||
+ | |||
+ | * The due date of tasks should also be integrated with the Roadmap/ | ||
+ | |||
+ | |||
+ | * My suggestion is to be able to assign two time limits for each priority (by project). The inactivity timeout is the time an issue can stay without updates. The " | ||
+ | |||
+ | * Would suggest that the Due date could be calculated by Mantis based upon a set number of days in config_inc.php or even better based upon a number of days set by project/ | ||
+ | |||
+ | * The concept of working days can definitively be different from one business model to the other. There is some time or type of business that could require due_date other than weekdays (ie newspaper would appreciate to be able to get a saturday or sunday due date for release of their news). | ||
+ | ---- | ||
+ | |||
+ | <code php> | ||
+ | # | ||
+ | # This function calculates the next date only using business days | ||
+ | # @param startdate The start date | ||
+ | # @param duedays | ||
+ | # | ||
+ | function calcduedate( $p_startdate, | ||
+ | $t_datecalc = $p_startdate; | ||
+ | |||
+ | $i = 1; | ||
+ | while ( $i <= $p_duedays ) { | ||
+ | $t_datecalc | ||
+ | $t_date_info | ||
+ | |||
+ | if ( ( $t_date_info[" | ||
+ | $t_datecalc += 86400; // Add a day. | ||
+ | continue; | ||
+ | } | ||
+ | |||
+ | $i++; | ||
+ | } | ||
+ | |||
+ | return $t_datecalc; | ||
+ | } | ||
+ | </ |