Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 97:22:02 |
Calls: | 290 |
Files: | 904 |
Messages: | 76,468 |
Rule and Score Processing Order
When Gravity retrieves headers, processing takes place as follows:
1. The headers are downloaded from your news server.
2. Gravity checks to see if scoring needs to be applied to this newsgroup,
and if so, applies the values. It does this by examining all of the
groups (possibly wildcard expressions) in the list of groups to be
scored, and if the newsgroup matches, then the scores are evaluated.
Any scores that have expired are also removed during this phase.
3. Gravity then runs any rules that are enabled for the newsgroup. Rules
are processed in the order they appear in the Rules Dialog.
Score processing occurs before rule processing, meaning that you can use
a score condition in rules for incoming articles (the score is calculated >first).
A rule specifies one or more conditions and one or more actions to apply
when the conditions are met. You can create as many rules as you wish.
Rules are created and edited in the Main Rules Dialog.
The best way to learn what rules can do is to review the Rules Editor >Conditions and Actions Tabs.
Applying Rules
Rules can be applied in two ways:
* Automatically - If you "enable" a rule for incoming articles, the rule
evaluates and acts on all incoming articles as they arrive.
* Manually - You can also apply a rule manually, either to a newsgroup,
or to selected articles at any time. Use the "Apply a Rule Manually"
command and dialog or the Rule Bar to do so. See the Manually Apply
Rules topic for more information.
Notes:
* Rule order has meaning, which means rules are applied in the order
they are listed in the main rules dialog.
* Scoring is applied internally before rules are processed (except for
scores in the article Body, if storing headers only).
Rule Statistics
View - Other Windows - Rule Statistics
You can track how many times your rules evaluate articles and fire with
the Rule Statistics.
Creating Rules - The Rules Editor
You create (Add) new rules and edit existing rules in the Rules Editor.
To Create (Add) a New Rule
This is a summary of the basic steps.
Open the main rules dialog (Tools - Rules)
1. Add (create) and name the rule
2. Set the rule conditions
3. Set the rule actions
4. Specify to which groups the rule will apply and expiration (optional)
5. Enable* the rule for incoming, if desired
6. Adjust the rule in the list order, if necessary
* If you want the rule to apply to all incoming articles, you must
"enable" the rule.
HOW-TO Test Rules and Pattern Matches
Gravity does not have a built in PCRE or Rule tester, but you can use
some tools. This page contains four suggestions to test effects of PCREs, >plain text strings, or Rule Conditions. (Before you create a rule to
perform a delete action and risk deleting all articles, you should test!) >Test PCRE or Plain Text Expressions with the Quick Filter
Quick Filter (CONTROL + Q or "/")
The Quick Filter is a very fast way to test PCREs (or plain text strings) >within the current newsgroup.
* Remember to check the Regular Expression box, if testing PCREs
If you select both Subject and From, the logic is OR (in Subject OR in
From).
Results depend on the current display filter - set your filter to "All >Articles" to test across all articles in the group. To restore the
display, re-apply the main filter, or press F5 (after setting focus in
the main window with a mouse click).
* Do NOT use a filter that is set to "Include entire thread if any
article matches filter"
Also see the Quick Filter Topic
Test PCRE, Plain Text, or Rule Conditions with Filters
(Useful for previewing Rule actions)
Create a new display filter using the advanced dialog to create the PCRE
or plain text patterns and conditions similar to your rule and view the >filtered results.
The advantage is - you can save the filter and COMBINE filter conditions
with most Rule Conditions, if wanted, which you can not do with the Quick >Filter (and you do not risk deleting articles).
* Do not use "Include entire thread if any article matches filter" in
the filter.
Use the Search Window
Search (Ctrl+Shft+F) (also in the Search Menu)
The Search Window is powerful way to search.
You can optionally search across ALL subscribed groups, rather than just
one, and view the matches in the bottom window.
You can search Bodies and Headers. Usually, you should limit BODY or
HEADERS searches to Local Articles Only. If you do not, and are storing >headers only, Gravity will begin fetching ALL the article bodies from the >server (and not store them).
* Remember to check the Regular Expression check box, if testing PCREs
See Searching for Articles and the Search Window
Use the Rule Itself to Test
The advantage is that you are testing the actual rule.
Create your new rule, but before using a delete or other action (s)action, >set the rule action to tag the article for download. Then run the rule >manually.
You can see in the group(s) what was tagged. This is nice to see what >articles were hit but also what articles were NOT hit, and shows what
will actually happen when you apply the rule.
* Note: Articles with stored local bodies will *not* be tagged (Gravity
will not let you tag an article if the body is stored). If you store
article bodies, this will not work for you.
Alternately, use the graphic Important Flag (if you are not marking
articles important).
You can also enable the rule for incoming articles and watch it for few
days to be sure it works, then change the actions to do what you want. >Cleanup/Reset
This method leaves tagged or important flags in the group. To reset or
clear the tags quickly for another test:
* Switch to a "All Tagged Articles" filters (you might have to make one)
* CONTROL-A (select all) you might need to click in the thread pane to
set focus
* Press "T" once (T is a toggle so will UN-tag everything selected)
Apply a Rule Manually (Control + Shift + M)
If you "enable" a rule, it applies to all incoming articles. However, you
can also run a rule manually. You may not want some rules to apply to all >incoming articles. If your rule will only be run manually, do not Enable
it for incoming articles in the Main Rules Dialog.
You can also manually apply a rule that has been enabled, see Examples
Uses below to see practical applications of this.
Tip: You can apply a rule manually against only selected articles within
a group and not the entire group.
* Be aware when running a rule with a BODY condition manually; Gravity
may begin fetching all article bodies from the server for the selected
group(s), unless the body is stored locally, (and the bodies are not
stored). If you are OFFLINE, Gravity may tag the articles for download
and not evaluate the rule (postpone it).
There two ways to run a rule manually:
* From the dialog shown below, or
* From the Rules Bar
Manually Apply a Rule
Tools - Apply a Rule Manually. Also available in the group pane right-
click menu.
Run a rule manually
* Select the rule that you want to apply
* Select the newsgroup(s) to which the rule should apply
* Select if you want the rule to apply to all articles or selected
articles only (this option will not be available if you select
multiple groups)
* Click the Start button to begin applying the rule
* Click the Stop button if you want to interrupt the rule
* Click the Reset button to prepare the rule you want to re-apply
* Click the Close button when you're finished.
Tip: If you select multiple newsgroups before opening the dialog, the >multiple groups will be selected (checked) for you.
Apply a Rule Manually Using the Rule Dialog Bar
If you do not see the Rule Bar, turn it on with View - Toolbars -
Rule Bar.
This is another (fast) way to apply a manual rule to the current group,
or multiple groups, if more than one group are selected.
* Open the newsgroup to which the rule will apply. You should see the
newsgroup's article list in the thread pane. If you want the rule to
apply to selected articles only, select them first.
* In the Rule Bar, select the rule you want to run.
* Click the "Run" button on the Rule Bar. The rule is applied to all
displayed headers unless you have selected more than one article in
the thread pane. Then the rule applies only to the selected articles.
With the manual Rule Bar method, if you select zero or one article,
Gravity applies the rule to every article in the group. If more than one >article is selected, Gravity applies the rule only to the selected
articles.
When you use the Rule Bar, Gravity immediately runs the rule.
Manually Running Rules with BODY Conditions
If you are online, and use a "BODY Contains .." Rules condition, Gravity
will fetch all newsgroup articles, including bodies, from the server and >search them. Note that the article bodies are not saved after the rule >finishes. Be aware that this can be a server intensive operation for
large groups.
If you are offline, Gravity will warn that you are offline and do nothing
if you proceed.
* You should NOT use a BODY condition in binary groups, for obvious
reasons.
Manually Running Rules that Fetch Bodies
If a rule action includes fetching the article BODY and you are offline, >Gravity will tag the article(s) for manual download instead of fetching
the article(s). If you are online, it works as expected.
Example Uses
Refresh and Update the Ignored and Watched Threads - When you add
articles to the Ignore or Watch List with an automatic rule, the current >articles and future descendants are ignored or watched. However, previous >articles are not marked. You can run the Ignore Thread (or Watch Thread)
Rule and all articles in the thread will be flagged.
You can make one or more custom "catch-up" rules like our little example >rule.
In binary groups, you can make a rule that deletes decoded articles. Or,
make rules that delete articles and binaries from authors, file
extensions or subjects.
Example: A Custom Catch-up Rule
This is a very simple rule. It will mark articles more than x days old as >"read"
Open the Rules Editor (Tools - Rules)
1. Conditions: Add a condition with "Article was posted more than x days
ago" so it looks like this:
Posted > 7 days ago
2. Action: Mark as Read
3. Do NOT enable this rule for incoming articles.
When you are ready to catch-up - run the rule manually on the current
group from the Rule Bar. You could also run it manually on multiple groups
at once.
* Important note about manually running rules from the Rules Bar:
If you select zero or one article, Gravity applies the rule to every
article in the current group. If more than one article is selected,
Gravity applies the rule only to the selected articles.
Another way to run the rule is to use the command Manually Apply a Rule
with the button or from the right click menu in the group pane. You have
more options, but the Rules Bar is the fastest way to manually run a rule
on the current newsgroup.
Also See Manually Apply Rules
Rule Examples
Rule Examples and Tutorials
Rule Tutorial: Create a Kill by Score Rule
Kill Low-Scored Articles
This rule will mark low scored articles as "Read" - Scoring does not do
this, but we can use article scores in rules. We will "Enable' this rule
so that it works automatically on incoming articles.
First, select a score threshold value to "Kill" articles. We will use -999. >With this rule, incoming articles scored -999 or less (more negative) will
be marked read.
For this rule to do anything, we assume there are score entries in the >Scoring dialog that will add up to the threshold value.
1. graphic Open the Rules Editor (Tools - Rules)
2. Create ("Add") a Rule and give it a name
3. On the Conditions Tab:
Enter -999 in "Article score is more than .."
Press the "NOT" Button
ADD the condition with the "Add Condition" button
It should look like this in the editor window:
Not
Score > -999
If you "Added" the score first, don't worry. Press the NOT button and then >move "NOT" to the top with the "Line Up" button.
4. On the "Actions" Tab: Select an action, we will use this:
* mark as read
3. Optional: On the "General" tab, specify which groups will be affected
by the rule (or leave it to apply to all articles)
4. Important Step: For this rule to function automatically, when get back
to the main rule page, click the button Enable/Disable (we want it
enabled) so that the rule applies to incoming articles.
Additional Notes:
Gravity performs scoring internally before rules are evaluated so this
works, however;
* If you have a Rule that adjusts articles scores, it should be placed
before this rule in the rule order. Remember, Rules are evaluated in
order.
Some more example options for a rule like this:
* Set the rule to apply only to certain groups (in the General Tab)
* Delete (discard) the articles (BE VERY CAREFUL that you know the rule
working properly - it is better to mark articles read until you are
satisfied that it works as intended).
You do not have to enable this rule. You could browse through articles
first and run this manually.