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).

