====== Add "Has patch" flag to improve usefulness of the "Upload File" feature ======
DRAFT
===== Database schema =====
Current database schema for mantis_bug_file_table
mysql> SHOW COLUMNS FROM mantis_bug_file_table;
+-------------+-----------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------+------+-----+---------------------+----------------+
| id | int(7) unsigned | NO | PRI | NULL | auto_increment |
| bug_id | int(7) unsigned | NO | MUL | 0 | |
| title | varchar(250) | NO | | | |
| description | varchar(250) | NO | | | |
| diskfile | varchar(250) | NO | MUL | | |
| filename | varchar(250) | NO | | | |
| folder | varchar(250) | NO | | | |
| filesize | int(11) | NO | | 0 | |
| file_type | varchar(250) | NO | | | |
| date_added | datetime | NO | | 1970-01-01 00:00:01 | |
| content | longblob | NO | | | |
+-------------+-----------------+------+-----+---------------------+----------------+
11 rows in set (0.01 sec)
Conversely, bugzilla 3.0 has, for the "attachments" table (from http://www.ravenbrook.com/project/p4dti/tool/cgi/bugzilla-schema/)
Field Type Default Properties Remarks
attach_id mediumint None auto_increment a unique ID.
bug_id mediumint 0 - the bug to which this is attached (foreign key bugs.bug_id)
creation_ts datetime 0000-00-00 00:00:00 - the creation time.
description mediumtext '' - a description of the attachment.
filename varchar(100) '' - the filename of the attachment.
isobsolete tinyint 0 - Non-zero if this attachment is marked as obsolete.
ispatch tinyint None null non-zero if this attachment is a patch file.
isprivate tinyint 0 - Non-zero if this attachment is "private", i.e. only visible to members of the "insider" group.
isurl tinyint 0 - Non-zero if this attachment is actually a URL.
mimetype mediumtext '' - the MIME type of the attachment.
submitter_id mediumint 0 - the userid of the attachment (foreign key profiles.userid)
The fileds ispatch and isobsolete are used to implement the "status" tracking for attachments
===== Proposed action items =====
* add ispatch and isobsolete fields to mantis_bug_file_table
Im going to create a patch that will hande that.
Im going to add 2 additional rows in >add file< section:
* description
* ispatch checkbox and isobsolete checkbox
Filenames of obsolete files will be crossed. Only user with selected threshold will be allowed to see the file before deletion.