242
edits
(Filter flags) |
m (→Existing things that could be done using filters: category) |
||
| (6 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
[[ChatZilla]] > Message Filter | |||
== Aims == | == Aims == | ||
*Allow the user to specify exactly where any message should go, by use of a system based on filters, similar to mail/news. | *Allow the user to specify exactly where any message should go, by use of a system based on filters, similar to mail/news. | ||
| Line 4: | Line 6: | ||
*Allow filters to specify whether the system should continue to look into other filters that may match. | *Allow filters to specify whether the system should continue to look into other filters that may match. | ||
*Save the filters using Silver's system for javascript object storage. | *Save the filters using Silver's system for javascript object storage. | ||
A more technical draft can be found here: [[ChatZilla:Message Filter:Implementation Details]]. | |||
== Filter properties == | == Filter properties == | ||
| Line 9: | Line 13: | ||
* Stop processing. This means that if this filter matches, all its actions will be carried out, and then filter processing will stop (meaning, it will not try and use any of the filters after this one). | * Stop processing. This means that if this filter matches, all its actions will be carried out, and then filter processing will stop (meaning, it will not try and use any of the filters after this one). | ||
* Create tabs if necessary. This means that if this filter has an action specified to set a tab to a specific state, or display something on a tab, that the tab that this would happen on will get created if it isn't there yet. If this flag is not specified, the display or set tab state action will go down the list of tabs it gets, and set a tab state or display something on the first tab that does exist. If none of the specified tabs exist, no action will take place. | * Create tabs if necessary. This means that if this filter has an action specified to set a tab to a specific state, or display something on a tab, that the tab that this would happen on will get created if it isn't there yet. If this flag is not specified, the display or set tab state action will go down the list of tabs it gets, and set a tab state or display something on the first tab that does exist. If none of the specified tabs exist, no action will take place. | ||
* Match all rules vs. Match any rule. Whether or not one rule matching is enough for the filter to match. | |||
== Filter rules == | == Filter rules == | ||
| Line 41: | Line 46: | ||
So, suppose we matched a filter. What can the user tell us to do from the first field? | So, suppose we matched a filter. What can the user tell us to do from the first field? | ||
*Replace text within the message | |||
*Display on: | *Display on: | ||
** the target tab (passed in by the caller, usually server / channel / user) | ** the target tab (passed in by the caller, usually server / channel / user) | ||
| Line 55: | Line 61: | ||
== Existing things that could be done using filters == | |||
*The stalk list | *The stalk list | ||
*Sound preferences (when to play sound) | *Sound preferences (when to play sound) | ||
| Line 64: | Line 71: | ||
--[[User:Eyalroz|Eyalroz]] 07:30, 2 Jan 2006 (PST) says: Don't forget proper documentation and structuring of this filter system so that other people can write fixes for dependent bugs if necessary. | --[[User:Eyalroz|Eyalroz]] 07:30, 2 Jan 2006 (PST) says: Don't forget proper documentation and structuring of this filter system so that other people can write fixes for dependent bugs if necessary. | ||
: [[User:GijsKruitbosch|GijsKruitbosch]] 06:45, 7 Jan 2006 (PST) says: The current idea is that I write a documentation/spec kind of thing first (what should happen where, why, what should it do) and then actually code it. Coding it without thinking about what happens where is not going to go anywhere. So that should take care of this (although of course, I/we am/are likely to encounter problems when actually doing the coding) | : [[User:GijsKruitbosch|GijsKruitbosch]] 06:45, 7 Jan 2006 (PST) says: The current idea is that I write a documentation/spec kind of thing first (what should happen where, why, what should it do) and then actually code it. Coding it without thinking about what happens where is not going to go anywhere. So that should take care of this (although of course, I/we am/are likely to encounter problems when actually doing the coding) | ||
[[category:ChatZilla|Message Filter]] | |||
edits