Custom Fields - Incorrect Order on 3.8.10

Hello All,

We recently updated RT from 3.8.2 to 3.8.10 (planning to go to version 4
at a later date).

We’ve always had an issue (with 3.8.2) where the Custom Fields (under
Queue>Ticket Custom Fields) will work great for a while after they’re
added to a queue but will start to malfunction on the queue after some
time (most notably after adding additional CFs to the queue). This
behavior seems to have carried over to 3.8.10 for our environment,
though I was hopeful it would not due to the CF ordering fix in 3.8.8.

The malfunction generally consists of three things:

  1.   When trying to change the order of the CFs on a queue (using
    

the Up and Down links), RT will report that the CF was moved up or down.
The position of the “moved” custom field however will remain unchanged.

  1.   When at the create tickets page for queue with the CFs applied,
    

the order of the CFs is exactly the same as in item 1, not as I
initially had them ordered. This is the most problematic part for users
due to the chaotic order of CFs on the create ticket screen.

  1.   Once a queue is broken (i.e. the CFs have stopped responding to
    

my ordering requests using the Up/Down links), it seems to stay that way
(even if I remove all the CFs and re-add them).

There are quite a few customized pages/etc. in the /opt/rt3/local
directory (which were made using files from 3.8.2). This may be
contributing to the problem, but I’m not sure which (if any) of these
pages could be contributing to the issue.

We’re running RT 3.8.10 using an Oracle database.

Any thoughts?

-CK

Hi,

Which version of DBIx::SearchBuilder module do you use? Upgrade to
1.53 at least.

Run the following query and send results:

SELECT cf.Name, q.Name, ocf.SortOrder FROM ObjectCustomFields ocf JOIN
CustomFields cf ON cf.id = ocf.CustomField LEFT JOIN Queues q ON q.id
= ocf.ObjectId;

Enable SQL logging, open ticket’s page with custom fields and send
queries from the log that select custom fields.On Sat, Oct 1, 2011 at 12:29 AM, Charles Kugelman Charles.Kugelman@kaplan.com wrote:

Hello All,

We recently updated RT from 3.8.2 to 3.8.10 (planning to go to version 4 at
a later date).

We’ve always had an issue (with 3.8.2) where the Custom Fields (under
Queue>Ticket Custom Fields) will work great for a while after they’re added
to a queue but will start to malfunction on the queue after some time (most
notably after adding additional CFs to the queue). This behavior seems to
have carried over to 3.8.10 for our environment, though I was hopeful it
would not due to the CF ordering fix in 3.8.8.

The malfunction generally consists of three things:

  1.   When trying to change the order of the CFs on a queue (using the Up
    

and Down links), RT will report that the CF was moved up or down. The
position of the “moved” custom field however will remain unchanged.

  1.   When at the create tickets page for queue with the CFs applied, the
    

order of the CFs is exactly the same as in item 1, not as I initially had
them ordered. This is the most problematic part for users due to the chaotic
order of CFs on the create ticket screen.

  1.   Once a queue is broken (i.e. the CFs have stopped responding to my
    

ordering requests using the Up/Down links), it seems to stay that way (even
if I remove all the CFs and re-add them).

There are quite a few customized pages/etc. in the /opt/rt3/local directory
(which were made using files from 3.8.2). This may be contributing to the
problem, but I’m not sure which (if any) of these pages could be
contributing to the issue.

We’re running RT 3.8.10 using an Oracle database.

Any thoughts?

-CK


RT Training Sessions (http://bestpractical.com/services/training.html)

  • San Francisco, CA, USA — October 18 & 19, 2011
  • Washington DC, USA — October 31 & November 1, 2011
  • Melbourne VIC, Australia — November 28 & 29, 2011
  • Barcelona, Spain — November 28 & 29, 2011

Best regards, Ruslan.

Hi Ruslan,

(1) We’re using DBIx::SearchBuilder 1.54.

(2) Here is the output of your query:

NAME NAME SORTORDER
Manager’s Name Add New Employee 2
Last Name Add New Employee 1
First Name Add New Employee 0

The “SORTORDER” does appear to be in the order that I had set for the CFs on this queue. The actual displayed order is: (0) Manager’s Name, (1) First Name, and then (2) Last Name.

(3) Here are the CustomFields queries from the RT log.

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001300s): SELECT main.* FROM ( SELECT main.id FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket’) GROUP BY main.id ORDER BY MIN(ObjectCustomFields_1.SortOrder) ASC ) distinctquery, CustomFields main WHERE (main.id = distinctquery.id); (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001508s): SELECT main.* FROM ( SELECT main.id FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket’) GROUP BY main.id ORDER BY MIN(ObjectCustomFields_1.SortOrder) ASC ) distinctquery, CustomFields main WHERE (main.id = distinctquery.id); (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001411s): SELECT COUNT(DISTINCT main.id) FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket-RT::Transaction’) ; (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

Thanks for your help!

-CKFrom: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] On Behalf Of Ruslan Zakirov
Sent: Friday, September 30, 2011 5:44 PM
To: Charles Kugelman
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Custom Fields - Incorrect Order on 3.8.10

Hi,

Which version of DBIx::SearchBuilder module do you use? Upgrade to
1.53 at least.

Run the following query and send results:

SELECT cf.Name, q.Name, ocf.SortOrder FROM ObjectCustomFields ocf JOIN CustomFields cf ON cf.id = ocf.CustomField LEFT JOIN Queues q ON q.id = ocf.ObjectId;

Enable SQL logging, open ticket’s page with custom fields and send queries from the log that select custom fields.

Hi,

Thanks for info. You confirmed that upgrade went well, data looks
good. Upgrade SB to 1.57 at least and it will start working. Don’t
forget to restart web server after upgrading perl module.On Thu, Oct 6, 2011 at 2:47 PM, Charles Kugelman Charles.Kugelman@kaplan.com wrote:

Hi Ruslan,

(1) We’re using DBIx::SearchBuilder 1.54.

(2) Here is the output of your query:

NAME NAME SORTORDER
Manager’s Name Add New Employee 2
Last Name Add New Employee 1
First Name Add New Employee 0

The “SORTORDER” does appear to be in the order that I had set for the CFs on this queue. The actual displayed order is: (0) Manager’s Name, (1) First Name, and then (2) Last Name.

(3) Here are the CustomFields queries from the RT log.

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001300s): SELECT main.* FROM ( SELECT main.id FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket’) GROUP BY main.id ORDER BY MIN(ObjectCustomFields_1.SortOrder) ASC ) distinctquery, CustomFields main WHERE (main.id = distinctquery.id); (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001508s): SELECT main.* FROM ( SELECT main.id FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket’) GROUP BY main.id ORDER BY MIN(ObjectCustomFields_1.SortOrder) ASC ) distinctquery, CustomFields main WHERE (main.id = distinctquery.id); (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

[Thu Oct 6 01:18:10 2011] [debug]: SQL(0.001411s): SELECT COUNT(DISTINCT main.id) FROM CustomFields main JOIN ObjectCustomFields ObjectCustomFields_1 ON ( ObjectCustomFields_1.CustomField = main.id ) WHERE (main.Disabled = ‘0’) AND (ObjectCustomFields_1.ObjectId = ‘29’ OR ObjectCustomFields_1.ObjectId = ‘0’) AND (main.LookupType = ‘RT::Queue-RT::Ticket-RT::Transaction’) ; (/opt/rt3/bin/…/lib/RT/Interface/Web.pm:982)

Thanks for your help!

-CK

-----Original Message-----
From: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] On Behalf Of Ruslan Zakirov
Sent: Friday, September 30, 2011 5:44 PM
To: Charles Kugelman
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Custom Fields - Incorrect Order on 3.8.10

Hi,

Which version of DBIx::SearchBuilder module do you use? Upgrade to
1.53 at least.

Run the following query and send results:

SELECT cf.Name, q.Name, ocf.SortOrder FROM ObjectCustomFields ocf JOIN CustomFields cf ON cf.id = ocf.CustomField LEFT JOIN Queues q ON q.id = ocf.ObjectId;

Enable SQL logging, open ticket’s page with custom fields and send queries from the log that select custom fields.

On Sat, Oct 1, 2011 at 12:29 AM, Charles Kugelman Charles.Kugelman@kaplan.com wrote:

Hello All,

We recently updated RT from 3.8.2 to 3.8.10 (planning to go to version
4 at a later date).

We’ve always had an issue (with 3.8.2) where the Custom Fields (under
Queue>Ticket Custom Fields) will work great for a while after they’re
Queue>added
to a queue but will start to malfunction on the queue after some time
(most notably after adding additional CFs to the queue). This behavior
seems to have carried over to 3.8.10 for our environment, though I was
hopeful it would not due to the CF ordering fix in 3.8.8.

The malfunction generally consists of three things:

  1.   When trying to change the order of the CFs on a queue (using
    

the Up and Down links), RT will report that the CF was moved up or
down. The position of the “moved” custom field however will remain unchanged.

  1.   When at the create tickets page for queue with the CFs
    

applied, the order of the CFs is exactly the same as in item 1, not as
I initially had them ordered. This is the most problematic part for
users due to the chaotic order of CFs on the create ticket screen.

  1.   Once a queue is broken (i.e. the CFs have stopped responding
    

to my ordering requests using the Up/Down links), it seems to stay
that way (even if I remove all the CFs and re-add them).

There are quite a few customized pages/etc. in the /opt/rt3/local
directory (which were made using files from 3.8.2). This may be
contributing to the problem, but I’m not sure which (if any) of these
pages could be contributing to the issue.

We’re running RT 3.8.10 using an Oracle database.

Any thoughts?

-CK


RT Training Sessions (http://bestpractical.com/services/training.html)

  • San Francisco, CA, USA — October 18 & 19, 2011
  • Washington DC, USA — October 31 & November 1, 2011
  • Melbourne VIC, Australia — November 28 & 29, 2011
  • Barcelona, Spain — November 28 & 29, 2011


Best regards, Ruslan.

Best regards, Ruslan.

Thanks Ruslan!

I’ll upgrade to the latest version and report back.

-CKFrom: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] On Behalf Of Ruslan Zakirov
Sent: Thursday, October 06, 2011 9:15 AM
To: Charles Kugelman
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Custom Fields - Incorrect Order on 3.8.10

Hi,

Thanks for info. You confirmed that upgrade went well, data looks good. Upgrade SB to 1.57 at least and it will start working. Don’t forget to restart web server after upgrading perl module.

Hi Ruslan,

I wanted to provide an update on this.

The upgrade to DBIx::SearchBuilder 1.61 and a restart of the webserver does appear to have resolved this.

Thanks again for your help!

-CKFrom: rt-users-bounces@lists.bestpractical.com [mailto:rt-users-bounces@lists.bestpractical.com] On Behalf Of Charles Kugelman
Sent: Thursday, October 06, 2011 9:19 AM
To: Ruslan Zakirov
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Custom Fields - Incorrect Order on 3.8.10

Thanks Ruslan!

I’ll upgrade to the latest version and report back.

-CK

From: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] On Behalf Of Ruslan Zakirov
Sent: Thursday, October 06, 2011 9:15 AM
To: Charles Kugelman
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Custom Fields - Incorrect Order on 3.8.10

Hi,

Thanks for info. You confirmed that upgrade went well, data looks good. Upgrade SB to 1.57 at least and it will start working. Don’t forget to restart web server after upgrading perl module.