NAME
RTx::EmailCompletion - Add auto completion on RT email fields
VERSION
This document describes version 0.02 of RTx::EmailCompletion.
DESCRIPTION
I'm so tired to type email address by hand that I've done this module to
add AJAX autocompletion on all email field of RT. As adding completion
is dynamic, it should work on most RT releases (see later if it's not
the case).
There's 3 things :
* a small web service `html/Ajax/EmailCompletion' which search in all
known users in the database ;
* prototype library to manipulate DOM and scriptaculous library to
autocomplete ;
* a small javascript which parse html pages and add autocomplete on
known input tags.
INSTALLATION
if upgrading from 0.01, see later UPGRADE FROM 0.01.
Install it like a standard perl module :
RTHOME=/opt/rt3 perl Makefile.PL
make
make install
CONFIGURATION
By default, completion works only for privileged users.
You can activate it for unprivileged users (in the SelfService) by
setting $EmailCompletionUnprivileged in RTHOME/etc/RT_SiteConfig.pm.
There's three ways :
* show everybody
Set($EmailCompletionUnprivileged,"everybody");
* show only privileged users
Set($EmailCompletionUnprivileged,"privileged");
* show only email matching a regexp
Set($EmailCompletionUnprivileged, qr/\@my\.corp\.domain$/ );
HOW TO ADD FIELD TO AUTOCOMPLETION
If you find email field without autocomplete, you can modify
`html/NoAuth/js/emailcompletion.js' to handle this field (and email me
to patch this module).
At the beginning of this file you will find two global vars
`multipleCompletion' and `singleCompletion'. They are array of regexp.
Regexp must match all the word because `^' and `$' are added for
matching. So if you want to match `Field1' and `Field2' you must add
something like `Field.' or better `Field[12]'.
To verify javascript find your input tag, you can uncomment the line
just after the "DEBUGGING PURPOSE" one. All input tags find by the
script will appear with a big red border.
UPGRADE FROM 0.01
As directory structure has change, If you upgrade from 0.01, you must
delete :
RTHOME/local/html/Ajax/EmailCompletion
RTHOME/local/html/NoAuth/js/emailcompletion.js
RTHOME/local/html/NoAuth/js/
Be careful of you have other javascripts in RTHOME/local/html/NoAuth/js/
HISTORY
The first version (unreleased) modify html pages. The better method
actually used allow this module to be compatible with, virtually, all RT
release.
AUTHORS
Nicolas Chuche <
[email protected]>
COPYRIGHT
Copyright 2007 by Nicolas Chuche <
[email protected]>
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See
http://www.perl.com/perl/misc/Artistic.html
All Scriptaculous and Prototype program are placed under MIT licence and
are copyrighted by their owners (see top of files).