Upgrade to 4.0.8 with mod of ExternalAuth + absolute paths to ticket-menu.
[usit-rt.git] / docs / UPGRADING-3.8
CommitLineData
dab09ea8 1=head1 UPGRADING FROM 3.8.8 AND EARLIER
84fb5b46 2
dab09ea8
MKG
3Previous versions of RT used a password hashing scheme which was too easy to
4reverse, which could allow attackers with read access to the RT database to
5possibly compromise users' passwords. Even if RT does no password
6authentication itself, it may still store these weak password hashes -- using
7ExternalAuth does not guarantee that you are not vulnerable! To upgrade
8stored passwords to a stronger hash, run:
84fb5b46
MKG
9
10 perl etc/upgrade/vulnerable-passwords
11
dab09ea8
MKG
12We have also proved that it's possible to delete a notable set of records from
13Transactions table without losing functionality. To delete these records, run
14the following script:
84fb5b46
MKG
15
16 perl -I /opt/rt4/local/lib -I /opt/rt4/lib etc/upgrade/shrink_transactions_table.pl
17
dab09ea8
MKG
18If you chose not to run the shrink_cgm_table.pl script when you upgraded to
193.8, you should read more about it below and run it at this point.
84fb5b46 20
dab09ea8
MKG
21The default for $MessageBoxWrap is now SOFT and $MessageBoxWidth is now unset
22by default. This means the message box will expand to fill all the available
23width. $MessageBoxWrap is also overridable by the user now. These changes
24accommodate the new default two column layout for ticket create and update
25pages. You may turn this layout off by setting $UseSideBySideLayout to 0. To
26retain the original behavior, set $MessageBoxWrap to HARD and $MessageBoxWidth
27to 72.
84fb5b46
MKG
28
29
dab09ea8 30=head1 UPGRADING FROM 3.8.7 AND EARLIER
84fb5b46 31
dab09ea8
MKG
32RT's ChartFont option has been changed from a string to a hash which lets you
33specify per-language fonts. RT now comes with a better default font for
34charts, too. You should either update your 'ChartFont' option to match the
35new format, or consider trying the new default.
84fb5b46 36
dab09ea8
MKG
37RT now gives you more precise control over the order in which custom fields
38are displayed. This change requires some small changes to your currently
39saved custom field orders. RT will automatically clean up your existing
40custom fields when you run the standard database upgrade steps. After that
41cleanup, you should make sure that custom fields are ordered in a way that you
42and your users find pleasing.
84fb5b46
MKG
43
44
dab09ea8 45=head1 UPGRADING FROM 3.8.6 AND EARLIER
84fb5b46 46
dab09ea8
MKG
47For MySQL and Oracle users: if you upgraded from a version of RT earlier than
483.7.81, you should already have a CachedGroupMembers3 index on your
49CachedGroupMembers table. If you did a clean install of RT somewhere in the
503.8 release series, you most likely don't have this index. You can add it
51manually with:
84fb5b46
MKG
52
53 CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (MemberId, ImmediateParentId);
54
55
dab09ea8 56=head1 UPGRADING FROM 3.8.5 AND EARLIER
84fb5b46
MKG
57
58You can now forward an entire Ticket history (in addition to specific
dab09ea8
MKG
59transactions) but this requires a new Template called "Forward Ticket". This
60template will be added as part of the standard database upgrade step.
84fb5b46 61
dab09ea8
MKG
62Custom fields with categories can optionally be split out into hierarchical
63custom fields. If you wish to convert your old category-based custom fields,
64run:
84fb5b46
MKG
65
66 perl etc/upgrade/split-out-cf-categories
67
dab09ea8
MKG
68It will prompt you for each custom field with categories that it finds, and
69the name of the custom field to create to store the categories.
84fb5b46 70
dab09ea8
MKG
71If you were using the LocalizedDateTime RT::Date formatter from custom code,
72and passing a DateFormat or TimeFormat argument, you need to switch from the
73strftime methods to the cldr methods; that is,
84fb5b46
MKG
74'full_date_format' becomes 'date_format_full'.
75
76You may also have done this from your RT_SiteConfig.pm, using:
dab09ea8 77
84fb5b46
MKG
78 Set($DateTimeFormat, {
79 Format => 'LocalizedDateTime',
80 DateFormat => 'medium_date_format',
81 );
dab09ea8 82
84fb5b46 83Which would need to be changed to:
dab09ea8 84
84fb5b46
MKG
85 Set($DateTimeFormat, {
86 Format => 'LocalizedDateTime',
87 DateFormat => 'date_format_medium',
88 );
89
90
dab09ea8 91=head1 UPGRADING FROM 3.8.3 AND EARLIER
84fb5b46
MKG
92
93Arguments to the NotifyGroup Scrip Action will be updated as part of the
94standard database upgrade process.
95
96
dab09ea8 97=head1 UPGRADING FROM 3.8.2 AND EARLIER
84fb5b46
MKG
98
99A new scrip condition, 'On Reject', has been added.
100
101
dab09ea8 102=head1 UPGRADING FROM 3.8.1 AND EARLIER
84fb5b46 103
dab09ea8
MKG
104When using Oracle, $DatabaseName is now used as SID, so RT can connect without
105environment variables or tnsnames.ora file. Because of this change, your RT
106instance may loose its ability to connect to your DB; to resolve this, you
107will need to update RT's configuration and restart your web server. Example
108configuration:
84fb5b46
MKG
109
110 Set($DatabaseType, 'Oracle');
111 Set($DatabaseHost, '192.168.0.1');
112 # undefined port => will try both 1526 and 1521
113 Set($DatabasePort, undef);
114 # ORACLE SID
115 Set($DatabaseName, 'XE');
116 # user for RT in Oracle, RT's tables in his schema
117 Set($DatabaseUser, 'test');
118 # above user's password
119 Set($DatabasePassword, 'test');
120
121If you want a user to be able to access the Approvals tools (a.k.a. the
122Approvals tab), you must grant that user the "ShowApprovalsTab" right.
123
124
dab09ea8 125=head1 UPGRADING FROM 3.8.0 AND EARLIER
84fb5b46 126
dab09ea8
MKG
127The TicketSQL syntax for bookmarked tickets has been changed. Specifically,
128the new phrasing is "id = '__Bookmarked__'", rather than the old
129"__Bookmarks__". The old form will remain, for backwards compatibility. The
130standard database upgrade process will only automatically change the
131global 'Bookmarked Tickets' search
84fb5b46
MKG
132
133
dab09ea8 134=head1 UPGRADING FROM 3.7.85 AND EARLIER
84fb5b46 135
dab09ea8
MKG
136We have proved that it is possible to delete a large set of records from the
137CachedGroupMembers table without losing functionality; in fact, failing to do
138so may result in occasional problems where RT miscounts users, particularly in
139the chart functionality. To delete these records run the following script:
84fb5b46
MKG
140
141 perl -I /opt/rt4/local/lib -I /opt/rt4/lib etc/upgrade/shrink_cgm_table.pl
142
dab09ea8
MKG
143After you run this, you will have significantly reduced the number of records
144in your CachedGroupMembers table, and may need to tell your database to
145refresh indexes/statistics. Please consult your DBA for specific instructions
146for your database.
84fb5b46
MKG
147
148
dab09ea8 149=head1 UPGRADING FROM 3.7.81 AND EARLIER
84fb5b46 150
dab09ea8
MKG
151RT::Extension::BrandedQueues has been integrated into core, and the handling
152of subject tags has changed as a consequence. You will need to modify any of
153your email templates which use the $rtname variable, in order to make them
154respect the per-queue subject tags. To edit your templates, log into RT as
155your administrative user, then click:
84fb5b46
MKG
156
157 Configuration -> Global -> Templates -> Select -> <Some template name>
158
dab09ea8
MKG
159The only template which ships with RT which needs updating is the "Autoreply"
160template, which includes this line:
84fb5b46 161
dab09ea8
MKG
162 "There is no need to reply to this message right now. Your ticket has
163 been assigned an ID of [{$rtname} #{$Ticket->id()}]."
84fb5b46
MKG
164
165Change this line to read:
166
dab09ea8
MKG
167 "There is no need to reply to this message right now. Your ticket has
168 been assigned an ID of { $Ticket->SubjectTag }."
84fb5b46 169
dab09ea8
MKG
170If you were previously using RT::Extension::BrandedQueues, you MUST uninstall
171it before upgrading. In addition, you must run the
84fb5b46
MKG
172'etc/upgrade/3.8-branded-queues-extension' perl script. This will
173convert the extension's configuration into the new format. Finally, in
174templates where you were using the Tag method ($Ticket->QueueObj->Tag),
175you will need to replace it with $Ticket->SubjectTag
176
dab09ea8
MKG
177RT::Action::LinearEscalate extension has been integrated into core, so you
178MUST uninstall it before upgrading.
84fb5b46 179
dab09ea8
MKG
180RT::Extension::iCal has been integrated into core, so you MUST uninstall it
181before upgrading. In addition, you must run etc/upgrade/3.8-ical-extension
84fb5b46
MKG
182script to convert old data.
183
184
dab09ea8 185=head1 UPGRADING FROM 3.7.80 AND EARLIER
84fb5b46 186
dab09ea8
MKG
187Added indexes to CachedGroupMembers for MySQL and Oracle. If you have
188previously installed RTx-Shredder, you may already have these indexes. You
189can see the indexes by looking at etc/upgrade/3.7.81/schema.*
84fb5b46
MKG
190
191These indexes may take a very long time to create.