NAME
RT::Extension::ShareSearchLink - Shorter links for ticket searches
DESCRIPTION
This extension adds a "Share" item to the menu on the search results page, and a "Share a link" button to the bottom of the results.
Both of these will show a pop-up box containing a short link to the current search, with all the search terms and formatting stored in a database entry in RT.
This is useful when your search URL is very long.
RT VERSION
Known to work with RT 4.2.16, 4.4.4, and 5.0.1.
REQUIREMENTS
Requires Data::GUID
.
INSTALLATION
perl Makefile.PL
make
make install
-
May need root permissions.
- Set up the database
-
After running
make install
for the first time, you will need to create the database tables for this extension. Useetc/schema-mysql.sql
for MySQL or MariaDB, oretc/schema-postgresql.sql
for PostgreSQL. - Edit your /opt/rt4/etc/RT_SiteConfig.pm
-
Add this line:
Plugin('RT::Extension::ShareSearchLink');
- Clear your mason cache
-
rm -rf /opt/rt4/var/mason_data/obj
- Restart your web server
- Set up database pruning
-
Add a cron job similar to the ones you will already have for other RT maintenance jobs like
rt-email-dashboards
to clear down expired shared search links, like this:4 4 * * * root /opt/rt4/bin/rt-crontool --search RT::Extension::ShareSearchLink --action RT::Extension::ShareSearchLink
This way, shared search links will expire 90 days after they have last been viewed, and will expire within 7 days of creation if they aren't viewed at least twice in that time.
AUTHOR
Andrew Wood
All bugs should be reported via email to bug-RT-Extension-ShareSearchLink@rt.cpan.org or via the web at rt.cpan.org.
LICENSE AND COPYRIGHT
This software is Copyright (c) 2021 by Andrew Wood
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991
Internal package RT::ShareSearchLink::SharedSearchLink
This package provides the shared search link object.
Create Parameters => { ... }, [ UUID => 'xxx' ]
Creates a new shared search link for a search with the given parameters, and returns ($id, $message). If a UUID is not supplied, a new one is generated.
Load $id|$UUID
Load a shared search link by numeric ID or by string UUID, returning the numeric ID or undef.
Delete
Delete this shared search link from the database.
Parameters
Return a hash of the parameters stored in this shared search link.
AddView
Increment the view counter for this shared search link, and set its last viewed date.
_CoreAccessible
Private method which defines the columns in the database table.
Internal package RT::ShareSearchLink::SharedSearchLinks
This package provides the group class for shared search links.