[Rt-commit] r5255 - in RT-Extension-CommandByEmail: . lib/RT/Extension

ruz at bestpractical.com ruz at bestpractical.com
Thu May 18 21:02:30 EDT 2006


Author: ruz
Date: Thu May 18 21:02:29 2006
New Revision: 5255

Modified:
   RT-Extension-CommandByEmail/META.yml
   RT-Extension-CommandByEmail/lib/RT/Extension/CommandByMail.pm
   RT-Extension-CommandByEmail/lib/RT/Interface/Email/Filter/TakeAction.pm

Log:
* docs update

Modified: RT-Extension-CommandByEmail/META.yml
==============================================================================
--- RT-Extension-CommandByEmail/META.yml	(original)
+++ RT-Extension-CommandByEmail/META.yml	Thu May 18 21:02:29 2006
@@ -12,4 +12,4 @@
     - t
 requires: 
   UNIVERSAL::require: 0
-version: 0.001
+version: 0.01

Modified: RT-Extension-CommandByEmail/lib/RT/Extension/CommandByMail.pm
==============================================================================
--- RT-Extension-CommandByEmail/lib/RT/Extension/CommandByMail.pm	(original)
+++ RT-Extension-CommandByEmail/lib/RT/Extension/CommandByMail.pm	Thu May 18 21:02:29 2006
@@ -1,127 +1,45 @@
 package RT::Extension::CommandByMail;
 
-our $VERSION = '0.001';
+our $VERSION = '0.01';
 
-use warnings;
-use strict;
-use Carp;
-
-# Module implementation here
-
-
-1; # Magic true value required at end of module
+1;
 __END__
 
 =head1 NAME
 
-RT::Extension::CommandByMail - [One line description of module's purpose here]
-
+RT::Extension::CommandByMail - Change metadata of ticket via email
 
 =head1 SYNOPSIS
 
-    use RT::Extension::CommandByMail;
-
-=for author to fill in:
-    Brief code example(s) here showing commonest usage(s).
-    This section will be as far as many users bother reading
-    so make it as educational and exeplary as possible.
-  
-  
-=head1 DESCRIPTION
-
-=for author to fill in:
-    Write a full description of the module and its features here.
-    Use subsections (=head2, =head3) as appropriate.
-
-
-=head1 INTERFACE 
-
-=for author to fill in:
-    Write a separate section listing the public components of the modules
-    interface. These normally consist of either subroutines that may be
-    exported, or methods that may be called on objects belonging to the
-    classes provided by the module.
-
-
-=head1 DIAGNOSTICS
-
-=for author to fill in:
-    List every single error and warning message that the module can
-    generate (even the ones that will "never happen"), with a full
-    explanation of each problem, one or more likely causes, and any
-    suggested remedies.
-
-=over
-
-=item C<< Error message here, perhaps with %s placeholders >>
-
-[Description of error here]
-
-=item C<< Another error message here >>
+    Status: stalled
+    Subject: change subject
+    AddAdminCc: boss at example.com
+    AddCc: dev1 at example.com
+    AddCc: dev2 at example.com
 
-[Description of error here]
-
-[Et cetera, et cetera]
-
-=back
-
-
-=head1 CONFIGURATION AND ENVIRONMENT
-
-=for author to fill in:
-    A full explanation of any configuration system(s) used by the
-    module, including the names and locations of any configuration
-    files, and the meaning of any environment variables or properties
-    that can be set. These descriptions must also include details of any
-    configuration language used.
-  
-RT::Extension::CommandByMail requires no configuration files or environment variables.
-
-
-=head1 DEPENDENCIES
-
-=for author to fill in:
-    A list of all the other modules that this module relies upon,
-    including any restrictions on versions, and an indication whether
-    the module is part of the standard Perl distribution, part of the
-    module's distribution, or must be installed separately. ]
-
-None.
-
-
-=head1 INCOMPATIBILITIES
-
-=for author to fill in:
-    A list of any modules that this module cannot be used in conjunction
-    with. This may be due to name conflicts in the interface, or
-    competition for system or program resources, or due to internal
-    limitations of Perl (for example, many modules that use source code
-    filters are mutually incompatible).
-
-None reported.
+    Here goes comment/reply
 
+=head1 DESCRIPTION
 
-=head1 BUGS AND LIMITATIONS
+This extension allows you to manage tickets via email interface.
+You put commands into beginning of a mail and extension applies
+them. See the list of commands in the
+L<RT::Interface::Email::Filter::TakeAction> docs.
 
-=for author to fill in:
-    A list of known problems with the module, together with some
-    indication Whether they are likely to be fixed in an upcoming
-    release. Also a list of restrictions on the features the module
-    does provide: data types that cannot be handled, performance issues
-    and the circumstances in which they may arise, practical
-    limitations on the size of data sets, special cases that are not
-    (yet) handled, etc.
+=head1 SECURITY
 
-No bugs have been reported.
+This extension has no extended auth system, so all security issues
+that applies to the RT in general also applies to the extension.
 
-Please report any bugs or feature requests to
-C<bug-rt-extension-commandbymail at rt.cpan.org>, or through the web interface at
-L<http://rt.cpan.org>.
+=head1 INSTALLATION AND CONFIGURATION
 
+Read L<INSTALL>. Note that you B<must patch> RT
+to use this extension, so read the file.
 
 =head1 AUTHOR
 
 Jesse Vincent  C<< <jesse at bestpractical.com> >>
+Ruslan U. Zakirov  C<< <ruz at bestpractical.com> >>
 
 
 =head1 LICENCE AND COPYRIGHT
@@ -131,26 +49,3 @@
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself. See L<perlartistic>.
 
-
-=head1 DISCLAIMER OF WARRANTY
-
-BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
-EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
-YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR, OR CORRECTION.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
-LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
-THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.

Modified: RT-Extension-CommandByEmail/lib/RT/Interface/Email/Filter/TakeAction.pm
==============================================================================
--- RT-Extension-CommandByEmail/lib/RT/Interface/Email/Filter/TakeAction.pm	(original)
+++ RT-Extension-CommandByEmail/lib/RT/Interface/Email/Filter/TakeAction.pm	Thu May 18 21:02:29 2006
@@ -11,62 +11,120 @@
 our @LINK_ATTRIBUTES    = qw(MemberOf Parents Members Children
             HasMember RefersTo ReferredToBy DependsOn DependedOnBy);
 
-=head2 COMMANDS
+=head1 NAME
+
+RT::Interface::Email::Filter::TakeAction - Change metadata of ticket via email
+
+=head1 DESCRIPTION
+
+This extension parse content of incomming messages for list commands. Format
+of commands is:
 
-This mail action supports several commands to manipulate tickets'
-metadata from emails.
+    Command: value
+    Command: value
+    ...
+
+You can find list of L</COMMANDS commands below>.
+
+Some commands (like Status, Queue and other) can be used only once. Commands
+that manage lists can be used multiple times, for example link, custom fields
+and watchers commands. Also, the latter can be used with C<Add> and C<Del>
+prefixes to add/delete values from the current list of the ticket you reply to
+or comment on.
+
+=head2 COMMANDS
 
 =head3 Basic
 
-Queue: <name> Set new queue for the ticket
-Subject: <string> Set new subject to the given string
-Status: <status> Set new status, one of new, open, stalled,
-resolved, rejected or deleted
-Owner: <username> Set new owner using the given username
-Priority: <#> Set new priority to the given value (1-99)
-FinalPriority: <#> Set new final priority to the given value (1-99)
+=over 4
+
+=item Queue: <name>
+
+Set new queue for the ticket
+
+=item Subject: <string>
+
+Set new subject to the given string
+
+=item Status: <status>
+
+Set new status, one of new, open, stalled, resolved, rejected or deleted
+
+=item Owner: <username>
+
+Set new owner using the given username
+
+=item Priority: <#>
+
+Set new priority to the given value
+
+=item FinalPriority: <#>
+
+Set new final priority to the given value
+
+=back
 
 =head3 Dates
 
-Due: <new timestamp> Set new due date/timestamp, or 0 to disable.
-Starts: <new timestamp>
-Started: <new timestamp>
+Set new date/timestamp, or 0 to unset:
+
+    Due: <new timestamp>
+    Starts: <new timestamp>
+    Started: <new timestamp>
 
 =head3 Time
 
-TimeWorked: <minutes> Replace the tickets 'timeworked' value.
-TimeEstimated: <minutes>
-TimeLeft: <minutes>
+Set new times to the given value in minutes. Note that
+on correspond/comment B<< C<TimeWorked> add time >> to the current
+value.
+
+    TimeWorked: <minutes>
+    TimeEstimated: <minutes>
+    TimeLeft: <minutes>
 
 =head3 Watchers
 
-+Requestor: <address> Set requestor(s) using the email address
-+AddRequestor: <address> Add new requestor using the email address
-+DelRequestor: <address> Remove email address as requestor
-+Cc: <address> Set Cc watcher(s) using the email address
-+AddCc: <address> Add new Cc watcher using the email address
-+DelCc: <address> Remove email address as Cc watcher
-+AdminCc: <address> Set AdminCc watcher(s) using the email address
-+AddAdminCc: <address> Add new AdminCc watcher using the email address
-+DelAdminCc: <address> Remove email address as AdminCc watcher
+Manage watchers: requestors, ccs and admin ccs. This commands
+can be used several times and/or with C<Add> and C<Del> prefixes,
+for example C<Requestor> comand set requestor(s) and the current
+requestors would be deleted, but C<AddRequestor> command adds
+to the current list.
+
+    Requestor: <address> Set requestor(s) using the email address
+    AddRequestor: <address> Add new requestor using the email address
+    DelRequestor: <address> Remove email address as requestor
+    Cc: <address> Set Cc watcher(s) using the email address
+    AddCc: <address> Add new Cc watcher using the email address
+    DelCc: <address> Remove email address as Cc watcher
+    AdminCc: <address> Set AdminCc watcher(s) using the email address
+    AddAdminCc: <address> Add new AdminCc watcher using the email address
+    DelAdminCc: <address> Remove email address as AdminCc watcher
 
 =head3 Links
 
-+DependsOn: <#> Set link(s) using ticket id
-+DependedOnBy:
-+RefersTo:
-+ReferredToBy:
-+Members:
-+MemberOf:
+Manage links. These commands are also could be used several times in one
+message.
+
+    DependsOn: <ticket id>
+    DependedOnBy: <ticket id>
+    RefersTo: <ticket id>
+    ReferredToBy: <ticket id>
+    Members: <ticket id>
+    MemberOf: <ticket id>
 
 =head3 Custom field values
 
-+CustomField.{C<CFName>}:
-+AddCustomField.{C<CFName>}:
-+DelCustomField.{C<CFName>}:
-+CF.{C<CFName>}:
-+AddCF.{C<CFName>}:
-+DelCF.{C<CFName>}:
+Manage custom field values. Could be used multiple times.
+
+    CustomField.{C<CFName>}: <custom field value>
+    AddCustomField.{C<CFName>}: <custom field value>
+    DelCustomField.{C<CFName>}: <custom field value>
+
+Short forms:
+
+    CF.{C<CFName>}: <custom field value>
+    AddCF.{C<CFName>}: <custom field value>
+    DelCF.{C<CFName>}: <custom field value>
 
 =cut
 


More information about the Rt-commit mailing list