The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RT::BugTracker::Public - Adds a public, user-friendly bug tracking and reporting UI to RT

DESCRIPTION

RT::BugTracker::Public depends on RT::BugTracker.

RT::BugTracker::Public depends on RT::Authen::Bitcard and Authen::Bitcard for external authentication through Bitcard.

NB: External authentication through Bitcard is broken in RT 4.2 and 4.4. The authors may eventually deprecate this functionality.

This extension adds a public interface for searching and reporting bugs through an RT with RT::BugTracker installed. The public reporting UI is disabled, by default.

The public interface entrypoint is on the RT login page. Click the public interface link to access the public bug search page. The public search functionality is identical to the private interface in RT::BugTracker.

To enable public bug reporting, follow the documentation for WebPublicUserReporting, in the CONFIGURATION section, below. To report bugs, public users must create a new ticket using the New ticket in button, or click Report a new bug from the bug list page for a distribution.

INSTALLATION

perl Makefile.PL
make
make install

May need root permissions

make initdb
Edit your /opt/rt5/etc/RT_SiteConfig.pm

Add this line:

    Plugin('RT::BugTracker::Public');
Clear your mason cache
    rm -rf /opt/rt5/var/mason_data/obj
Restart your webserver

CONFIGURATION

You can find local/etc/BugTracker-Public/RT_SiteConfig.pm with example of configuration and sane defaults. Add require in the main RT_SiteConfig.pm or define options there.

WebPublicUser

Create the public user in your RT system through Admin \ Users \> Create> in RT. The public user must be able to access RT, and it must be privileged so it can have rights. Do not enter an email address for the public user.

Add the line below to RT_SiteConfig.pm and replace 'guest' with the name of the RT user you just created.

    Set( $WebPublicUser, 'guest' );

The public user needs the following rights on public distribution queues to search bugs:

    SeeCustomField
    SeeQueue
    ShowTicket

The pubic user needs the following rights on public distribution queues to report bugs:

    CreateTicket
    ModifyCustomField
    ReplyToTicket

WebPublicUserReporting

By default, the web public user cannot create bug reports through the web UI. To allow this, add this line:

    Set($WebPublicUserReporting, 1);

WebPublicUserQueryBuilder

By default, the web public user cannot use RT's fully-featured query builder and is limited instead to simple search. To allow access to the query builder, add this line:

    Set($WebPublicUserQueryBuilder, 1);

WebPublicUserSortResults

By default, the web public user cannot click column headers to re-sort search results due to performance implications. To permit this, add this line:

    Set($WebPublicUserSortResults, 1);

ScrubInlineArticleContent

By default, inline articles such as AfterLoginForm are scrubbed for unsafe HTML tags just like ticket correspondence. If your articles are modifiable only by trusted users, you may set this to 0 to pass through article content unscrubbed.

See the documentation below for "GetArticleContent" for more information.

    Set($ScrubInlineArticleContent, 0);

GetArticleContent

Searches in articles for content for various configurable pages in the BugTracker interface. The article names are available for adding custom content in the listed locations. To customize, create or edit the article with the listed name.

  • AfterLoginForm

    Location: Login page, below username/password fields

AUTHOR

Best Practical Solutions, LLC <modules@bestpractical.com>

BUGS

All bugs should be reported via email to

    L<bug-RT-BugTracker-Public@rt.cpan.org|mailto:bug-RT-BugTracker-Public@rt.cpan.org>

or via the web at

    L<rt.cpan.org|http://rt.cpan.org/Public/Dist/Display.html?Name=RT-BugTracker-Public>.

LICENSE AND COPYRIGHT

This software is Copyright (c) 2021 by Best Practical Solutions

This is free software, licensed under:

  The GNU General Public License, Version 2, June 1991