Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / rt / docs / UPGRADING-4.0
index ad8d87b..0a3249c 100644 (file)
@@ -1,5 +1,8 @@
 =head1 UPGRADING FROM BEFORE 4.0.0
 
 =head1 UPGRADING FROM BEFORE 4.0.0
 
+See F<devel/docs/UPGRADING-4.0> for internals changes relevant to
+extension writers.  The following is tailored to RT administrators:
+
 =head2 Common issues
 
 RT now defaults to a database name of rt4 and an installation root of
 =head2 Common issues
 
 RT now defaults to a database name of rt4 and an installation root of
@@ -24,10 +27,18 @@ following to remove the _Overlay files:
     find /opt/rt3/lib/ -type f -name '*_Overlay*' -delete
 
 RT has also changed how web deployment works; you will need to review
     find /opt/rt3/lib/ -type f -name '*_Overlay*' -delete
 
 RT has also changed how web deployment works; you will need to review
-docs/web_deployment.pod for current instructions.  The old `fastcgi_server`,
-`webmux.pl`, and `mason_handler.*` files will not work with RT 4.0, and should
-be removed to reduce confusion.
+F<docs/web_deployment.pod> for current instructions.  The old
+`fastcgi_server`, `webmux.pl`, and `mason_handler.*` files will not
+work with RT 4.0, and should be removed to reduce confusion.
+
+If you deploy RT with mod_perl, Apache will no longer start with C<SetHandler>
+set to `perl-script`. F<docs/web_deployment.pod> contains the
+new configuration.
 
 
+RT::Extension::CustomField::Checkbox has been integrated into core, so you
+MUST uninstall it before upgrading. In addition, you must run
+/opt/rt4/etc/upgrade/4.0-customfield-checkbox-extension script to convert old
+data.
 
 =head2 RT_SiteConfig.pm
 
 
 =head2 RT_SiteConfig.pm
 
@@ -53,7 +64,7 @@ the new schema.
 
 RT4 now includes an Articles functionality, merged from RTFM.  You should not
 install and enable the RT::FM plugin separately on RT 4.  If you have existing
 
 RT4 now includes an Articles functionality, merged from RTFM.  You should not
 install and enable the RT::FM plugin separately on RT 4.  If you have existing
-data in RTFM, you can use the etc/upgrade/upgrade-articles script to upgrade
+data in RTFM, you can use the /opt/rt4/etc/upgrade/upgrade-articles script to upgrade
 that data.
 
 When running normal upgrade scripts, RT will warn if it finds existing RTFM
 that data.
 
 When running normal upgrade scripts, RT will warn if it finds existing RTFM
@@ -66,7 +77,7 @@ spectacularly.  Do *not* run this except on a fresh upgrade of RT.
 
 You can run this as
 
 
 You can run this as
 
-  etc/upgrade/upgrade-articles
+  /opt/rt4/etc/upgrade/upgrade-articles
 
 It will ouput a lot of data about what it is changing.  You should review this
 for errors.
 
 It will ouput a lot of data about what it is changing.  You should review this
 for errors.
@@ -77,14 +88,6 @@ to RT4.
 
 You must also remove RT::FM from your @Plugins line in RT_SiteConfig.pm.
 
 
 You must also remove RT::FM from your @Plugins line in RT_SiteConfig.pm.
 
-
-=head2 Removals and updates
-
-The deprecated classes RT::Action::Generic, RT::Condition::Generic and
-RT::Search::Generic have been removed, but you shouldn't have been using them
-anyway. You should have been using RT::Action, RT::Condition and RT::Search,
-respectively.
-
 =over
 
 =item *
 =over
 
 =item *
@@ -122,6 +125,14 @@ database level.
 =back
 
 
 =back
 
 
+=head2 Ticket content searches (full text search)
+
+Since 4.0.0, RT's ticket content search is disabled by default because of
+performance issues when used without full text indexing.  For details on how to
+re-enable it with (or without) full text indexing, see
+F<docs/full_text_indexing.pod>.
+
+
 
 =head1 UPGRADING FROM 4.0.5 AND EARLIER
 
 
 =head1 UPGRADING FROM 4.0.5 AND EARLIER
 
@@ -148,3 +159,89 @@ the following Mason templates, this feature will not function correctly:
     share/html/Search/Elements/BuildFormatString
     share/html/Search/Elements/PickCFs
     share/html/Search/Elements/PickCriteria
     share/html/Search/Elements/BuildFormatString
     share/html/Search/Elements/PickCFs
     share/html/Search/Elements/PickCriteria
+
+=head1 UPGRADING FROM 4.0.8 AND EARLIER
+
+=head2 Data upgrades
+
+Previously, the default lifecycle was stored in Queues.Lifecycle as
+NULL. To simplify code, RT now stores the string 'default' to match the
+name of the Lifecycle.
+
+The 3.9.2 upgrade step removed all enabled Personal Groups, but missed
+any disabled groups. We catch and clean up the disabled Personal groups
+during the 4.0.9 upgrade step.
+
+=head2 Javascript Changes
+
+If you have set a custom @JSFiles in RT_SiteConfig.pm, you will need to
+amend this to include the new jquery.cookie.js file added to
+RT_Config.pm.  If you are using an extension that requires manually
+tweaking @JSFiles, please contact the developer and ask them to use
+RT->AddJavaScript in their extension to avoid these upgrade problems.
+
+If you have @JSFiles set in your RT_SiteConfig.pm but it appears to be
+the same as RT_Config.pm (no local js files added) you can safely remove
+the whole setting from RT_SiteConfig.pm and allow our default to be
+used.
+
+=head1 UPGRADING FROM 4.0.11 AND EARLIER
+
+=head2 Data Upgrades
+
+Previous versions of RT allowed you to create Tickets with a Type of
+'Ticket', 'Approval' or 'Reminder' instead of the correct 'ticket'.
+Existing Types are updated in the database and the RT API now corrects
+these types before insertion.
+
+Site-specific custom types (anything but ticket, reminder or approval)
+are not affected by these changes.
+
+=head1 UPGRADING FROM 4.0.13 AND EARLIER
+
+=head2 Outgoing mail From: header
+
+The "Default" key of the C<$OverrideOutgoingMailFrom> config option now,
+as previously documented, only applies when no ticket is involved.
+Previously it was also used when a ticket was involved but the
+associated queue had no specific correspond address.  In such cases the
+global correspond address is now used.
+
+The config option C<$SetOutgoingMailFrom> now accepts an email address
+as a value which will act as a global default.  This covers the simple
+case of sending all bounces to a specific address, without the previous
+solution of resorting to defining all queues in
+$OverrideOutgoingMailFrom.  Any definitions in the Override option
+(including Default) still take precedence.  See
+L<RT_Config/$SetOutgoingMailFrom> for more information.
+
+=head2 Reminder statuses
+
+New reminders are now created in the "reminder_on_open" status defined in your
+lifecycles.  For the default lifecycle, this means reminders will start as
+"open" instead of "new".  This change is for consistency when a completed
+reminder is reopened at a later date.  If you use custom lifecycles and added
+further transition restrictions, you may need to adjust the L<"reminder_on_open"
+setting|RT_Config/reminder_on_open> in your lifecycles.
+
+=head2 Bookmarks
+
+Previously, the list of Bookmarks on your homepage was unlimited (if you
+had 100 bookmarked tickets, you would see a 100 item list on your RT at
+a Glance).  'Bookmarked Tickets' now uses the same size limits as any
+other search on your homepage.  This can be customized using the 'Rows
+per box' setting on your RT at a Glance configuration page.
+
+=head2 PostgreSQL 9.2
+
+If you are upgrading an RT from 3.8 (or earlier) to 4.0 on PostgreSQL
+9.2, you should make sure that you have installed DBD::Pg 2.19.3 or
+higher.  If you start your upgrade without installing a recent-enough
+version of DBD::Pg RT will stop the upgrade during the 3.9.8 step and
+remind you to upgrade DBD::Pg.  If this happens, you can re-start your
+upgrade by running:
+
+   /opt/rt4/sbin/rt-setup-database --action insert --datadir etc/upgrade/3.9.8/
+
+Followed by re-running make upgrade-database and answering 3.9.8 when
+prompted for which RT version you're upgrading from.