diff options
Diffstat (limited to 'rt/docs/design_docs/subscription-definitions.txt')
-rwxr-xr-x | rt/docs/design_docs/subscription-definitions.txt | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/rt/docs/design_docs/subscription-definitions.txt b/rt/docs/design_docs/subscription-definitions.txt new file mode 100755 index 000000000..deda35cda --- /dev/null +++ b/rt/docs/design_docs/subscription-definitions.txt @@ -0,0 +1,113 @@ +NEW SCRIP NOTES + + +RT Actions: + + + EmailOwnerAsComment + Send mail to the ticket owner from the queue's comment address + + EmailOwnerOrAdminWatchersAsComment + Send mail to the ticket owner, or if there is no owner, the ticket's admin watchers + from the queue's comment addresses + + EmailAdminWatchersAsComment + Send mail to the ticket's adminstrative watchers from the queue's comment address + + + + EmailOwner + Send mail to the ticket owner from the queue's correspond address + + EmailOwnerOrAdminWatchers + Send mail to the ticket owner, or if there is no owner, the ticket's admin watchers + from the queue's correspond addresses + + EmailAdminWatchers + Send mail to the ticket's adminstrative watchers from the queue's correspond address + + EmailWatchers + Send mail to the ticket watchers from the queue's correspond address + + AutoReply + Sendmail to the requestor from the queue's correspond address. + + + +RT Conditions: + OnCreate + OnEachTransaction + OnComment + OnCorrespond + + + + + +What is an Action? + +...some piece of code that can do something whenever a transaction is done. +The actions shipped with RT sends email and can handle some logic that makes +sense for some instances. site-specific modules can be dropped in to +perform special actions. + + +What can an Action do? + +- decide whether it's applicable or not +- prepare +- commit +- describe itself + +...and if it's a subclass of SendEmail, you can also override a lot. + +Currently the schema.mysql contains a list of the basic subscription-related +actions that will be bundled with RT. + + +What is a Scrip? + +...it's an entry in the database that tells that an action is to be +performed with a certain template and argument. Template and argument +doesn't make sense in all contexts. A scrip can be limited to transaction +types; the current implementation allows a comma-separated list (though for +a "cleaner" schema design, it should be a separate table for this?). It has +a name and a description. + + +What is a ScripScope? + +...an indication of what queues the different Scrips applies to. It should +be easy to remove/insert ScripScope objects by the admin tools. + + +What is a Watcher? + +...it's a request for beeing kept updated on a ticket and/or a queue +and/or whatever. It is to be used by the Actions. Watcher items can +easily be enabled/disabled through the `Quiet' attribute. `Type' might +indicate what emails the watcher wants to get and how to get them. + +The Bcc/Cc watchers should be handled by the NotifyWatchers action which is +run regardless of the Scrips. + + +What is a Template? + +...A template is a text template that is to be used for outgoing email - +or for different use for different actions. One template can be used by +several Scrips. + + +How does the system determinate whom to send mail to? + +The ScripScope table in the DB should indicate whether a Scrip is relevant +for a queue or not /* TobiX thinks that this might eventually be extended to +keywords, tickets, etc, and not only Queues */ ... the Scope table should +indicate whether the Scrip is relevant for a given transaction type ... then +the given Action should determinate whether it applies or not, and finally +the Action has to find out (via the Watchers table) whom it applies to, and +how to contact them ... and the Template tells how the mails that are sent +out should look like. + + |