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 <nchuche@barna.be>
COPYRIGHT
Copyright 2007 by Nicolas Chuche <nchuche@barna.be>
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).