NAME
   RT::Extension::ExternalStorage - Store attachments outside the database

SYNOPSIS
       Set( @Plugins, 'RT::Extension::ExternalStorage' );

       Set(%ExternalStorage,
           Type => 'Disk',
           Path => '/opt/rt4/var/attachments',
       );

DESCRIPTION
   By default, RT stores attachments in the database. This extension moves
   all attachments that RT does not need efficient access to (which include
   textual content and images) to outside of the database. This may either
   be on local disk, or to a cloud storage solution. This decreases the
   size of RT's database, in turn decreasing the burden of backing up RT's
   database, at the cost of adding additional locations which must be
   configured or backed up.

   The files are initially stored in the database when RT receives them;
   this guarantees that the user does not need to wait for the file to be
   transferred to disk or to the cloud, and makes it durable to transient
   failures of cloud connectivity. The provided bin/extract-attachments
   script, to be run regularly via cron, takes care of moving attachments
   out of the database at a later time.

INSTALLATION
   perl Makefile.PL
   make
   make install
       May need root permissions

   Edit your /opt/rt4/etc/RT_SiteConfig.pm
       If you are using RT 4.2 or greater, add this line:

           Plugin('RT::Extension::ExternalStorage');

       For RT 4.0, add this line:

           Set(@Plugins, qw(RT::Extension::ExternalStorage));

       or add RT::Extension::ExternalStorage to your existing @Plugins
       line.

       You will also need to configure the %ExternalStorage option,
       depending on how and where you want your data stored; see
       "CONFIGURATION".

   Restart your webserver
       Restarting the webserver before the next step (extracting existing
       attachments) is important to ensure that files remain available as
       they are extracted.

   Extract existing attachments
       Run bin/extract-attachments; this may take some time, depending on
       the existing size of the database. This task may be safely cancelled
       and re-run to resume.

   Schedule attachments extraction
       Schedule bin/extract-attachments to run at regular intervals via
       cron. For instance, the following /etc/cron.d/rt entry will run it
       daily, which may be good to concentrate network or disk usage to
       times when RT is less in use:

           0 0 * * * root /opt/rt4/local/plugins/RT-Extension-ExternalStorage/bin/extract-attachments

CONFIGURATION
   This module comes with a number of possible backends; see the
   documentation in each for necessary configuration details:

   RT::Extension::ExternalStorage::Disk
   RT::Extension::ExternalStorage::Dropbox
   RT::Extension::ExternalStorage::AmazonS3

AUTHOR
   Best Practical Solutions, LLC <[email protected]>

BUGS
   All bugs should be reported via email to

       L<[email protected]|mailto:[email protected]>

   or via the web at

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

COPYRIGHT
   This extension is Copyright (C) 2009-2015 Best Practical Solutions, LLC.

   This is free software, licensed under:

     The GNU General Public License, Version 2, June 1991