Open Bug 151226 Opened 23 years ago Updated 2 years ago

Ability to sort Filters into Folders (like with Bookmarks)

Categories

(MailNews Core :: Filters, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: bootsy52, Unassigned)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

People sometimes tend to have hundreds of Messages Filters, also you get easily reach a huge amount of Message Filters when you use the new Feature [ MailNews->Message->Create Filter from Message ] to filter your Spam. It becomes pretty hard then to find filters you created between all the other filters. So it would be very nice to have the possibility to sort the Message Filters into Folders. Like you could do with Bookmarks (e.g Mozilla Bookmarks are in the Folder Mozilla Project). In accordance to sort them alphabetically. People could then sort their Message Filters upon two criterias 1. Place them in a specific Folder based on the topic of the Message Filter (e.g Work,Private,Spam) 2. Sort them within the Folders alphabetically I see this as an very important feature, because you could save yourself a lot of time when having hundreds of filters finding a specific one.
Summary: Ability to order Filters in Folders (like with Bookmarks) → Ability to sort Filters into Folders (like with Bookmarks)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Now, that I see that somebody is working on a JunkMail Filter, couldn't we get this in accordiance with that feature ? I mean, would somebody set a milestone, please ?
Blocks: 151612
Blocks: 126688
mass re-assign.
Assignee: naving → sspitzer
A problem with this approach is that the current ordering of filters is the order in which they are performed. This can be very important -- if a message is moved from the Inbox to another folder, none of the subsequent filter actions apply.
I've got the same problems: dozens of filters. A folder system would really be great for organizing them. Mike, keeping a certain order inside the folders would be also ok, instead of sorting them alphabetically.
Product: MailNews → Core
sorry for the spam. making bugzilla reflect reality as I'm not working on these bugs. filter on FOOBARCHEESE to remove these in bulk.
Assignee: sspitzer → nobody
Filter on "Nobody_NScomTLD_20080620"
QA Contact: laurel → filters
Product: Core → MailNews Core
I vote for this. I think it should be implemented the way firewall rules apply... - Create a filter/rule that acts as a generic 'catch-all' - Create sub-filters that process the mail in one way or the other. There should be an option (filter action) to be able to 'jump' to another filter-rule and move on from there on. Sub filters should also have more sub-filters and so on... There should also be a way to allow rules to be moved up and down the list and within parent/child filter folders. Last built-in filter-action should be 'sent to junk filter' the way the last rule for firewalls is to drop the rest of the connections that do not apply to any of the rules preceding it.
As Mike Cowperthwaite says in comment #3, the current ordering of filters is the order in which they are performed. So, request of "sort of current filter rules by something" is similr to request of "sort of program source by something other than line number". For ease of filter rule maintenance, for increased degrees of freedom in filter rule maintenance, improvement in repository of message filter rules(currently flat msgFilterRules.dat file) is required. A way for such improvement is use of SQLite DB as repository of message filter rules like SQLite DB for bookmark(places.sqlite). A filter rule is currently defined like next in msgFilterRules.dat. > name="Copy&Delete" > enabled="no" > type="17" > action="Copy to folder" > actionValue="mailbox://nobody@Local%20Folders/Target-Copy" > action="Delete" > condition="AND (tag,contains,delete)" Except multiple sets of action+actionValue, any line can be converted to a column of SQLite Table and "execution order" column can easily be added. To support "multiple sets of action+actionValue", two Tables may be needed. - Main Table : id, order, name, enabled, type, condition, ..., and actions column. - Action Table : action_id, action, actionValue - actions column in Main Table : list of action_id of Action Table Once rules are defined in SQLite DB, sorting by any column is very easy, and if Index for colum or comibination of column is defined, search of filter rule is far easier and much efficient than current. So, outstanding problem is implementation of UI for filter rule maintenance only(who will do it?). If offline-maintenance is acceptable, "Firefox + SQLite Manager" can be a powerful tool for filter rule maintenance. Above is applicable to any essentially static data such as Filter rules, Search conditions of Virtual Folder, virtualFolders.dat, panacea.dat, .... Because filter rules and search conditions are a kind of static data and are not modified/updated/altered ferequently, I believe there is no performance impact by SQLite DB use in such data. Simpler repository for filter rules is also available - json file like folderTree.json and sessions.json. Because data of JavaScript object can be saved as json file, JavaScript base implementation of message filter rule maintenance is possible. Once repsitory by SQLite DB or json file will be implemented, enhancement like "Tb wide(global) filter rules", "per folder filter rules", "structured/hiearchical filter rules" and so on is easier than current. - Sub-filter-1 : if A=a && B!=b then move to folder_1, else if ..... Sub-filter-N : if P=p || Q!=q then move to folder_N, else if ..... Main Filter : list of sub filters (Sub-filter-1, else ..., else Sub-filter-N, else ...) - Sub-rule-1 : if A=a || B contains b || ... Sub-rule-N : if P=p && Q contains q && ... Main Filter : list of sub rules, (if Sub-rule-1 || ... || Sub-rule-N || ...) add tag TagX, mark as read, ..., move to folderX Translation to current msgFilterRules.dat format data is simple job.
I think the request is for review purposes, not to change to order the filters are performed. I have so many filters that is is time consuming to check and update filters over time. Viewing them in a different order based on various filed would allow me to find them faster and also spot duplicates or conflicting filters.
FYI. It may be hard to simply hold all data related to message filter as string/number/binary in SQL DB. In such case, combination of SQLite DB(Table) and JSON may be a solution for ease of implementation, if message filter related UI can be implemented using JavaScript. SQL DB Table Primary_Key, Secondary_Key, Data_associated_to_Key where Primary_Key+Secondary_Key = key of filter rule related data Data_associated_to_Key = JSON object/array of BLOB data. See http://www.json.org/ for JSON. JSON object : Set of "string : value" JSON array : Set of value See folderTree.json and session.json fo current use of JSON in Tb. If current entries in msgFilterRules.dat can be well defined as JSON object/array, increased degree of freedom in implementation will be perhaps obtained, in both back-end and UI.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: