RTIR 3.2.0rc1 Available for testing

RTIR 3.2.0rc1 is the first release candidate of RTIR compatible with RT 4.2.

It is only compatible with RT 4.2.7 and later and will refuse to install
on earlier versions of RT 4.2.

You should be sure to review both core RT’s UPGRADING-4.2 as well as
RTIR’s UPGRADING-3.2 documentation.

http://download.bestpractical.com/pub/rt/devel/RT-IR-3.2.0rc1.tar.gz
http://download.bestpractical.com/pub/rt/devel/RT-IR-3.2.0rc1.tar.gz.asc

SHA1 sums

02e3afef82636a1474b01fdd41dbf277868f5cd1 RT-IR-3.2.0rc1.tar.gz
d1fe337868c7edad5a65ff9821c19805de147319 RT-IR-3.2.0rc1.tar.gz.asc

Numerous internal updates have been made for compatibility with RT 4.2.
If you have local modifications to RTIR you will want to ensure that you
update them for compatibility. RT 4.2 renamed many components and
introduced a new /static/ root for CSS/JS etc. As a result, many
components and callbacks in RTIR have also been modified to align with
core renames. You should be sure to review UPGRADING-4.2 in core RT.

RTIR makes use of RT’s Custom Field Grouping feature, you can read more
about it in RTIR_Config.pm and make use of it to organize both RTIR’s
core Custom Fields as well as your site-specific fields.

RTIR’s Constituencies have been refactored and will now provide better
error messages and will make better use of caching and other performance
enhancements. This release also includes recent bugfixes from 3.0 to
ensure that Constituency does not lose state during ticket creation and
editing.

RTIR’s linkification of ticket histories will be cached by default on
4.2 which will assist with ticket history rendering on second load.

RTIR now also uses RT’s delayed-load for history, causing history to be
loaded via JavaScript after the rest of the page is rendered, improving
page load times.

When linking an Incident Report to an Incident after Incident Creation,
the IR IP Custom Fields will be automatically copied. Framework now
exists to easily add new Scrips to copy other Custom Fields.
Particularly useful if you link IRs to Incidents using the API.

When splitting a ticket, you can now change Due and Starts. In addition,
you can now manually change an Incident’s Due Date.

RTIR now uses core’s Forward functionality, allowing a message to be
included with a forward, as well as forwarding of a full ticket in
addition to transactions. Forwards are recorded in the history of a
ticket.

RTIR now has access to core’s improved charting, allowing grouping by
multiple attributes and calculation of some ticket statistics.

The $RTIR_OldestRelatedTickets will now apply to tickets updated in the
last n days for any Lookup search.

In addition to GnuPG support, RTIR can now leverage RT’s S/MIME
integration. See the core RT documentation for specifics and
configuration.

Users who are members of a DutyTeam will now be redirected to the RTIR
Homepage on login.

Additionally many bugs were squashed, performance enhancements made,
doc cleaned up and new callbacks added.

A complete changelog is available from git by running:
git log 3.0.2…3.2.0rc1
or visiting
https://github.com/bestpractical/rtir/compare/3.0.2...3.2.0rc1

Hi,

I am testing the upgrade from RT 4.0.19 + RTIR 3.0.2 --> RT 4.2.7 + RTIR
3.2.0rc1, and I found a problem when updating RTIR.

The install is based on Debian packages for RT and postgresql 9.1.14. My
procedure was:

  • Upgrade distro from stable to testing (to get 4.2.7 packages)
  • Upgrade RT packages to 4.2.7 --> package update ok, but the automatic
    dbconfig-common update process was not successful. I fixed config files
    manually.
  • Upgrade database (rt-setup-database --action upgrade). --> result OK
  • Disable RTIR and delete its directory
  • Download RTIR 3.2.0rc1
    • perl Makefile.PL --> I had to install Parse::Boolean from CPAN manually
    • make
    • make upgrade-database --> this does not work if you use peer
      authentication for postgres user. However, I copy the command and execute
      it with the proper parameters for authentication (including the --package
      parameter)
      • it asks for the RT::IR version I’m upgrading from.
      • it shows all the RT versions later than RT 3.0, up to 4.2.7, instead
        of RTIR versions. When I continue (either specifying a target version or
        not), it gives the following error:
        [critical]: DBD::Pg::st execute failed: ERROR: relation
        "attributes_id_seq" already exists at
        /usr/share/request-tracker4/lib/RT/Handle.pm line 528.
        (/usr/share/request-tracker4/lib/RT.pm:389)

I guess it’s trying to re-apply RT upgrades instead of RTIR’s, and failing
because they are already applied.
Is there a manual database upgrade progress that I can use? Shoud I use the
scripts in $RTIR-HOME/etc/upgrade? In that case how?

If I ignore the errors and enable RTIR, there are several errors:

  • When trying to Edit an RTIR ticket:

[19654] [Thu Oct 23 18:12:38 2014] [error]: Can’t call method “Name” on an
undefined value at
/usr/local/share/request-tracker4/plugins/RT-IR/lib/RT/IR.pm line 642.

Stack:
[/usr/local/share/request-tracker4/plugins/RT-IR/lib/RT/IR.pm:642]

[/usr/local/share/request-tracker4/plugins/RT-IR/html/RTIR/Elements/EditConstituency:83]
[/usr/share/request-tracker4/html/Elements/EditCustomField:111]

[/usr/local/share/request-tracker4/plugins/RT-IR/html/RTIR/Elements/EditRTIRField:48]
[/usr/local/share/request-tracker4/plugins/RT-IR/html/RTIR/Edit.html:119]
[/usr/share/request-tracker4/html/Widgets/TitleBox:56]
[/usr/local/share/request-tracker4/plugins/RT-IR/html/RTIR/Edit.html:130]
[/usr/share/request-tracker4/lib/RT/Interface/Web.pm:681]
[/usr/share/request-tracker4/lib/RT/Interface/Web.pm:369]
[/usr/share/request-tracker4/html/autohandler:53]
(/usr/share/request-tracker4/lib/RT/Interface/Web/Handler.pm:209)

I have found that this is due to the Constituency CustomField type set to
"Select multiple values" instead of the default “Select one value”. This
used to work in RTIR 3.0.2.
If you reset it back to “Select one value”, Edit works.

Note: our constituencies are created from the web gui, not using the cli
tool, since we don’t need the advanced ACL features.

  • When displaying Incident Report, when loading the History area:

[19654] [Thu Oct 23 18:12:45 2014] [error]: Wide character in subroutine
entry at
/usr/local/share/request-tracker4/plugins/RT-IR/html/Callbacks/RTIR/Elements/MakeClicky/Default
line 252.

Stack:

[/usr/local/share/request-tracker4/plugins/RT-IR/html/Callbacks/RTIR/Elements/MakeClicky/Default:252]
[/usr/share/request-tracker4/html/Elements/ShowTransactionAttachments:205]
[/usr/share/request-tracker4/html/Elements/ShowTransactionAttachments:81]
[/usr/share/request-tracker4/html/Elements/ShowTransaction:72]
[/usr/share/request-tracker4/html/Elements/ShowHistory:121]
[/usr/share/request-tracker4/html/Helpers/TicketHistory:48]
[/usr/share/request-tracker4/html/Helpers/autohandler:51]
[/usr/share/request-tracker4/lib/RT/Interface/Web.pm:681]
[/usr/share/request-tracker4/lib/RT/Interface/Web.pm:369]
[/usr/share/request-tracker4/html/autohandler:53]
(/usr/share/request-tracker4/lib/RT/Interface/Web/Handler.pm:209)

I have tried leaving MakeClicky options as default with no luck.

Thank you in advance for any hints about the problem!

Kind regards,
Marcos.2014-10-06 23:13 GMT+02:00 Kevin Falcone falcone@bestpractical.com:

RTIR 3.2.0rc1 is the first release candidate of RTIR compatible with RT
4.2.

It is only compatible with RT 4.2.7 and later and will refuse to install
on earlier versions of RT 4.2.

You should be sure to review both core RT’s UPGRADING-4.2 as well as
RTIR’s UPGRADING-3.2 documentation.

http://download.bestpractical.com/pub/rt/devel/RT-IR-3.2.0rc1.tar.gz
http://download.bestpractical.com/pub/rt/devel/RT-IR-3.2.0rc1.tar.gz.asc

SHA1 sums

02e3afef82636a1474b01fdd41dbf277868f5cd1 RT-IR-3.2.0rc1.tar.gz
d1fe337868c7edad5a65ff9821c19805de147319 RT-IR-3.2.0rc1.tar.gz.asc

Numerous internal updates have been made for compatibility with RT 4.2.
If you have local modifications to RTIR you will want to ensure that you
update them for compatibility. RT 4.2 renamed many components and
introduced a new /static/ root for CSS/JS etc. As a result, many
components and callbacks in RTIR have also been modified to align with
core renames. You should be sure to review UPGRADING-4.2 in core RT.

RTIR makes use of RT’s Custom Field Grouping feature, you can read more
about it in RTIR_Config.pm and make use of it to organize both RTIR’s
core Custom Fields as well as your site-specific fields.

RTIR’s Constituencies have been refactored and will now provide better
error messages and will make better use of caching and other performance
enhancements. This release also includes recent bugfixes from 3.0 to
ensure that Constituency does not lose state during ticket creation and
editing.

RTIR’s linkification of ticket histories will be cached by default on
4.2 which will assist with ticket history rendering on second load.

RTIR now also uses RT’s delayed-load for history, causing history to be
loaded via JavaScript after the rest of the page is rendered, improving
page load times.

When linking an Incident Report to an Incident after Incident Creation,
the IR IP Custom Fields will be automatically copied. Framework now
exists to easily add new Scrips to copy other Custom Fields.
Particularly useful if you link IRs to Incidents using the API.

When splitting a ticket, you can now change Due and Starts. In addition,
you can now manually change an Incident’s Due Date.

RTIR now uses core’s Forward functionality, allowing a message to be
included with a forward, as well as forwarding of a full ticket in
addition to transactions. Forwards are recorded in the history of a
ticket.

RTIR now has access to core’s improved charting, allowing grouping by
multiple attributes and calculation of some ticket statistics.

The $RTIR_OldestRelatedTickets will now apply to tickets updated in the
last n days for any Lookup search.

In addition to GnuPG support, RTIR can now leverage RT’s S/MIME
integration. See the core RT documentation for specifics and
configuration.

Users who are members of a DutyTeam will now be redirected to the RTIR
Homepage on login.

Additionally many bugs were squashed, performance enhancements made,
doc cleaned up and new callbacks added.

A complete changelog is available from git by running:
git log 3.0.2…3.2.0rc1
or visiting
https://github.com/bestpractical/rtir/compare/3.0.2...3.2.0rc1


RT Training - November 4-5 Los Angeles
http://bestpractical.com/training

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Marcus,On 24/10/14 09:06, Marcos Orallo wrote:

  • it asks for the RT::IR version I’m upgrading from. - it shows all
    the RT versions later than RT 3.0, up to 4.2.7, instead of RTIR
    versions.

We have just been through this ourselves (albeit with mysql rather
than postgres), and we are now successfully running on RTIR 3.0.2
using Debian packages also.

Here is the relevant portion of our procedure:

Upgrade RT data:

rt-setup-database-4 --action upgrade --dba rt-system

  • –prompt-for-dba-password

    On Mysql we then log in to the RTDB server to add some new
    indexes. Not sure if this is needed with Postgess…:

CREATE INDEX UPGRADE_TRANSACTIONS_TYPE ON Transactions (Type, Field);
CREATE INDEX UPGRADE_TRANSACTIONS_NEW ON
Transactions(Field,ObjectType, Type, NewReference);
CREATE INDEX UPGRADE_TRANSACTIONS_OLD on
Transactions(Field,ObjectType, Type, OldReference);
CREATE INDEX UPGRADE_OCFV_STATUS ON
ObjectCustomFieldValues(Content,Disabled,CustomField);

If using Request-Tracker-4 Debian packages, you can do the

following to update the RTIR data:

cd /usr/src/RT-IR-3.0.2
rt-setup-database-4 --action insert --datafile etc/upgrade/2.6.2/content
rt-setup-database-4 --action insert --datafile etc/upgrade/2.9.0/content
rt-setup-database-4 --action insert --datafile
etc/upgrade/3.0.0rc2/content

On Mysql, you then log in to the RTDB server and remove the

temporary indexes:

DROP INDEX UPGRADE_TRANSACTIONS_TYPE ON Transactions;
DROP INDEX UPGRADE_TRANSACTIONS_NEW ON Transactions;
DROP INDEX UPGRADE_TRANSACTIONS_OLD ON Transactions;
DROP INDEX UPGRADE_OCFV_STATUS ON ObjectCustomFieldValues;

Your data should now be fully updated


Jamie Mcloughlin 0870 850 2340 PGP: FF7746C1
JANET CSIRT (+44 1235 822 340)
Lumen House, Library Avenue, Didcot, Oxfordshire, OX11 0SG
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlRKHp4ACgkQk+nTdv93RsHBrgCg6x6TzH8O0Kf3gkIl8ng4EUVq
j2IAoJJprnj7nEy2G2hQ31aC8ejSboRj
=gnAs
-----END PGP SIGNATURE-----

Thank you James!

On Mysql we then log in to the RTDB server to add some new

indexes. Not sure if this is needed with Postgess…:

I never messed with the db indexes, nothing was mentioned in the
corresponding UPGRADING docs.

If using Request-Tracker-4 Debian packages, you can do the

following to update the RTIR data:

cd /usr/src/RT-IR-3.0.2
rt-setup-database-4 --action insert --datafile etc/upgrade/2.6.2/content
rt-setup-database-4 --action insert --datafile etc/upgrade/2.9.0/content
rt-setup-database-4 --action insert --datafile
etc/upgrade/3.0.0rc2/content

I have successfully run the rt-setup-database-4 with the corresponding
datafiles, and I can already see the new scrip (On Linking To Incident Copy
IPs) :slight_smile:

However, my problems with History display and MakeClicky are still there :frowning:

We are considering switching to vanilla RT since we don’t actually benefit
from many of the features in RTIR, because or workflow doesn’t fit
completely. I wonder if it would be possible to import some features to RT
as standalone (IP parsing or Lookup tools, for example), without being
restricted to RTIR workflow.

Cheers,

Marcos.

Hi all,

However, my problems with History display and MakeClicky are still there
:frowning:

I think I found the problem and the fix. I created a bug report [1] and
sent a pull request in Github [2].

Cheers,
Marcos.

[1] - http://issues.bestpractical.com/Ticket/Display.html?id=30469
[2] - https://github.com/bestpractical/rtir/pull/22014-10-24 15:29 GMT+02:00 Marcos Orallo m_orallo@yahoo.es:

Thank you James!

2014-10-24 11:40 GMT+02:00 James Mcloughlin james.mcloughlin@ja.net:

On Mysql we then log in to the RTDB server to add some new

indexes. Not sure if this is needed with Postgess…:

I never messed with the db indexes, nothing was mentioned in the
corresponding UPGRADING docs.

If using Request-Tracker-4 Debian packages, you can do the

following to update the RTIR data:

cd /usr/src/RT-IR-3.0.2
rt-setup-database-4 --action insert --datafile etc/upgrade/2.6.2/content
rt-setup-database-4 --action insert --datafile etc/upgrade/2.9.0/content
rt-setup-database-4 --action insert --datafile
etc/upgrade/3.0.0rc2/content

I have successfully run the rt-setup-database-4 with the corresponding
datafiles, and I can already see the new scrip (On Linking To Incident Copy
IPs) :slight_smile:

However, my problems with History display and MakeClicky are still there
:frowning:

We are considering switching to vanilla RT since we don’t actually benefit
from many of the features in RTIR, because or workflow doesn’t fit
completely. I wonder if it would be possible to import some features to RT
as standalone (IP parsing or Lookup tools, for example), without being
restricted to RTIR workflow.

Cheers,

Marcos.

However, I copy the command and execute it with the proper
parameters for authentication (including the --package parameter)
I guess it’s trying to re-apply RT upgrades instead of RTIR’s, and failing
because they are already applied.
Is there a manual database upgrade progress that I can use? Shoud I use the
scripts in $RTIR-HOME/etc/upgrade? In that case how?

I believe you sorted this by following Jamie’s instructions, but the
most common cause of this is errors with your --datadir.

I have found that this is due to the Constituency CustomField type set to
"Select multiple values" instead of the default “Select one value”. This used
to work in RTIR 3.0.2.
If you reset it back to “Select one value”, Edit works.

This appears to be a regression caused by fixing another bug around
losing the setting of Constituency during reloads.

However, Multiple Value Constituency has never been supported, and I
can think of a number of places that assume a single value. It
will definitely not work at all in the next major version of RTIR
which will be removing a number of the problematic backend pieces of
Constituencies.

Note: our constituencies are created from the web gui, not using the cli tool,
since we don’t need the advanced ACL features.

If you don’t need the ACL features, why are you using the Constituency
field at all?

Your RTIR install will actually perform much better if you rename that
field to something else instead and treat it as a standard RT Custom
Field instead of one freighted with years of magical baggage.

  • When displaying Incident Report, when loading the History area:

[19654] [Thu Oct 23 18:12:45 2014] [error]: Wide character in subroutine entry
at /usr/local/share/request-tracker4/plugins/RT-IR/html/Callbacks/RTIR/Elements
/MakeClicky/Default line 252.

You would have seen this in 3.0.2 but you happened to have an older
verison of RT, we’ll fix it there and merge up.

-kevin