URL Error after upgrading to rt4

Hello,

I have created a new server (RedHat 5.9 64-bit) and am running the latest
version of MySQL and RT 4.0.10. The old server was RT 3.6.6

I exported the data from the old server as follows:

mysqldump -uroot -p --opt --skip-lock-tables --max_allowed_packet=1000000000 -
-single-transaction --default-character-set=binary --databases rt3 >
RT_mysql_backup.sql

I then changed all references to the database rt3 to be rt4

I then imported the data into the new system, ran the upgrade steps as
outlined in docs/UPGRADING.mysql. (ran update from 3.6.6 to v3.7.87,
generated and ran ‘queries.sql’, ran updates from 3.7.87 to current)

With one user I can go in and select a ticket and it opens fine with the URL:
http://v20labtrack/Ticket/Display.html?id=2973

If I log in as a different user it generates this URL which comes up with
a “page not found” error:
http://v20labtrack/rt3/Ticket/Display.html?id=2973

The generation of the URL is user dependent, it is correct for some and wrong
for some. The old system was configured to require ‘/rt3’ after the system
name. The new system is not.

There is no ‘rt3’ in the RT_SiteConfig.pm file.

Any idea how to get that to stop inserting ‘/rt3’ into the URL?

Thanks

Rolf
Pace Analytical Services Inc.

Hello,

I have created a new server (RedHat 5.9 64-bit) and am running the latest
version of MySQL and RT 4.0.10. The old server was RT 3.6.6

I exported the data from the old server as follows:

mysqldump -uroot -p --opt --skip-lock-tables --max_allowed_packet=1000000000 -
-single-transaction --default-character-set=binary --databases rt3 >
RT_mysql_backup.sql

I then changed all references to the database rt3 to be rt4

I then imported the data into the new system, ran the upgrade steps as
outlined in docs/UPGRADING.mysql. (ran update from 3.6.6 to v3.7.87,
generated and ran ‘queries.sql’, ran updates from 3.7.87 to current)

With one user I can go in and select a ticket and it opens fine with the URL:
http://v20labtrack/Ticket/Display.html?id=2973

If I log in as a different user it generates this URL which comes up with
a “page not found” error:
http://v20labtrack/rt3/Ticket/Display.html?id=2973

The generation of the URL is user dependent, it is correct for some and wrong
for some. The old system was configured to require ‘/rt3’ after the system
name. The new system is not.

There is no ‘rt3’ in the RT_SiteConfig.pm file.

Any idea how to get that to stop inserting ‘/rt3’ into the URL?

Thanks

Rolf
Pace Analytical Services Inc.

Is this user dependent on the same machine? Or is each user on a
different workstation? It sounds more like something that is machine
dependent, not user dependent.

Hello,

I have created a new server (RedHat 5.9 64-bit) and am running the latest
version of MySQL and RT 4.0.10. The old server was RT 3.6.6

There were some bugs in early 3.6 RTs where it would store the full
URL so /rt3/Ticket/Display.html?id=id rather than
/WebPath/Ticket/Display.html?id=id

With one user I can go in and select a ticket and it opens fine with the URL:
http://v20labtrack/Ticket/Display.html?id=2973

If I log in as a different user it generates this URL which comes up with
a “page not found” error:
http://v20labtrack/rt3/Ticket/Display.html?id=2973

This implies some users have a version of the Format for the search
that includes WebPath and some include /rt3/ literally.

There’s a new branch that adds an upgrade script

You can grab that script and try running it on a development copy of
your data and see if it properly repairs the links for you.

Try it out and let us know how it goes? The branch needs review and
merging, but test results from the field are really helpful.

-kevin

Kevin Falcone <falcone bestpractical.com> writes:

Hello,

I have created a new server (RedHat 5.9 64-bit) and am running the latest
version of MySQL and RT 4.0.10. The old server was RT 3.6.6

There were some bugs in early 3.6 RTs where it would store the full
URL so /rt3/Ticket/Display.html?id=id rather than
/WebPath/Ticket/Display.html?id=id

With one user I can go in and select a ticket and it opens fine with the
URL:
http://v20labtrack/Ticket/Display.html?id=2973

If I log in as a different user it generates this URL which comes up with
a “page not found” error:
http://v20labtrack/rt3/Ticket/Display.html?id=2973

This implies some users have a version of the Format for the search
that includes WebPath and some include /rt3/ literally.

There’s a new branch that adds an upgrade script

fbb8

You can grab that script and try running it on a development copy of
your data and see if it properly repairs the links for you.

Try it out and let us know how it goes? The branch needs review and
merging, but test results from the field are really helpful.

-kevin

Thanks, Kevin. Not being a perl expert I need some assistance.
I managed to get my library path inserted but have one syntax to correct.
I insert as line #2
use lib "/opt/rt4/lib/RT;
I then deleted an empty line from the comment section so the code lines line
up with your example.

I am getting this back on the compile:
syntax error at ./fix-3.6-search-result-format-in-attribute.pl line 66,
near “&& $content->{Format} =~ s!(?<=href=”)"
(Might be a runaway multi-line “” string starting on line 2)
:66

My URL is generating (for example):
http://v20labtrack/rt3/Ticket/xxxxxxxx
and I want it to be:
http://v20labtrack/Ticket/xxxxxxxx

so I changed this line to rt3:
my $path = shift @ARGV || ‘rt3’;

how do I need to change this one?
&& $content->{Format} =~ s!(?<=href=")/$path(?=/|$)!WebPath!ig )

thanks Rolf

Hi Rolf,

It looks like you are missing the closing quotes on the line you inserted:

    I insert as line #2
    use lib "/opt/rt4/lib/RT;

should be

    use lib "/opt/rt4/lib/RT";

The error message eludes to this by:

    (Might be a runaway multi-line "" string starting on line 2)

Regards

Regards

Chris O’Kelly
Systems & Web Administrator

Minecorp Australia
P: 07 3723 1000
M: 0450 586 190

Minecorp Australia
37 Murdoch Circuit
Acacia Ridge QLD 4110

www.minecorp.com.auFrom: rt-users-bounces@lists.bestpractical.com [mailto:rt-users-bounces@lists.bestpractical.com] On Behalf Of Rolf Krogstad
Sent: Wednesday, 20 February 2013 8:05 AM
To: rt-users@lists.fsck.com
Subject: Re: [rt-users] URL Error after upgrading to rt4

Kevin Falcone <falcone bestpractical.com> writes:

Hello,

I have created a new server (RedHat 5.9 64-bit) and am running the latest
version of MySQL and RT 4.0.10. The old server was RT 3.6.6

There were some bugs in early 3.6 RTs where it would store the full
URL so /rt3/Ticket/Display.html?id=id rather than
/WebPath/Ticket/Display.html?id=id

With one user I can go in and select a ticket and it opens fine with the
URL:
http://v20labtrack/Ticket/Display.html?id=2973

If I log in as a different user it generates this URL which comes up with
a “page not found” error:
http://v20labtrack/rt3/Ticket/Display.html?id=2973

This implies some users have a version of the Format for the search
that includes WebPath and some include /rt3/ literally.

There’s a new branch that adds an upgrade script

fbb8

You can grab that script and try running it on a development copy of
your data and see if it properly repairs the links for you.

Try it out and let us know how it goes? The branch needs review and
merging, but test results from the field are really helpful.

-kevin

Thanks, Kevin. Not being a perl expert I need some assistance.
I managed to get my library path inserted but have one syntax to correct.
I insert as line #2
use lib "/opt/rt4/lib/RT;
I then deleted an empty line from the comment section so the code lines line
up with your example.

I am getting this back on the compile:
syntax error at ./fix-3.6-search-result-format-in-attribute.pl line 66,
near “&& $content->{Format} =~ s!(?<=href=”)"
(Might be a runaway multi-line “” string starting on line 2)
:66

My URL is generating (for example):
http://v20labtrack/rt3/Ticket/xxxxxxxx
and I want it to be:
http://v20labtrack/Ticket/xxxxxxxx

so I changed this line to rt3:
my $path = shift @ARGV || ‘rt3’;

how do I need to change this one?
&& $content->{Format} =~ s!(?<=href=")/$path(?=/|$)!WebPath!ig )

thanks Rolf

RT training in Amsterdam, March 20-21: http://bestpractical.com/services/training.html

Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T

Tim Wiley <tim marchex.com> writes:

Is this user dependent on the same machine? Or is each user on a
different workstation? It sounds more like something that is machine
dependent, not user dependent.

This happens if I log in as both users from the same machine.
Rolf

Hi Rolf,

It looks like you are missing the closing quotes on the line you inserted:

    I insert as line #2
    use lib "/opt/rt4/lib/RT;

should be

    use lib "/opt/rt4/lib/RT";

The lib line should point only to “/opt/rt4/lib” not the “RT/” directory
beneath it.

Chris O’Kelly <Chris.okelly minecorp.com.au> writes:

Hi Rolf,

It looks like you are missing the closing quotes on the line you inserted:

    I insert as line #2
    use lib "/opt/rt4/lib/RT;

should be

    use lib "/opt/rt4/lib/RT";

The error message eludes to this by:

    (Might be a runaway multi-line "" string starting on line 2)

Regards

Regards

Chris O’Kelly
Systems & Web Administrator
Minecorp Australia

Thanks - that and taking RT out of the lib path fixes the compile.
.
.
.
.
.

Thomas Sibley <trs bestpractical.com> writes:

Hi Rolf,

It looks like you are missing the closing quotes on the line you inserted:

    I insert as line #2
    use lib "/opt/rt4/lib/RT;

should be

    use lib "/opt/rt4/lib/RT";

The lib line should point only to “/opt/rt4/lib” not the “RT/” directory
beneath it.

RESOLVED

Thanks, those two suggestions got me a clean compile.
I am not sure if the script made a difference or not.
Here is what I am seeing:
Ticket 2792 when run from the Quick Search pane - I click on the Queue and
then on the Ticket it works.

If I click on Ticket 2792 from a personal Query of the user then it inserts
the “rt3” in the URL. This user has a query to look for open Queries.
Running that generated the wrong URL.

So I deleted the Query and regenerated it and now it works.

Thanks to all for your assistance

Rolf

NR0T)