<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
<!--
@font-face
        {font-family:Wingdings}
@font-face
        {font-family:Wingdings}
@font-face
        {font-family:Calibri}
@font-face
        {font-family:Tahoma}
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif"}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline}
p
        {margin-right:0cm;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif"}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif"}
span.emailstyle17
        {font-family:"Calibri","sans-serif";
        color:windowtext}
span.EmailStyle20
        {font-family:"Calibri","sans-serif";
        color:#1F497D}
.MsoChpDefault
        {font-size:10.0pt}
@page WordSection1
        {margin:70.85pt 2.0cm 2.0cm 2.0cm}
div.WordSection1
        {}
ol
        {margin-bottom:0cm}
ul
        {margin-bottom:0cm}
-->
</style>
</head>
<body lang="IT" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Joe,</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Thank for you your quick answer!</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I’ll take ticket #2985 as an example, which is one of those affected by the issue.</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">The scrip correctly happens in the transaction #38624, “Status changed from 'new' to 'resolved'”, as the (custom) scrip condition is (taken from the DB):</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">| 17 | On closure                 | If the status is set to inactive                                                         | StatusChange            | old: initial, active; new: inactive | Status                                  
 |       1 | 2012-05-30 15:54:19 |             1 | 2012-05-30 15:54:19 |</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Here is some output from rt.log:</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: About to think about scrips for transaction #38624 (/opt/rt4/sbin/../lib/RT/Transaction.pm:173)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: About to prepare scrips for transaction #38624 (/opt/rt4/sbin/../lib/RT/Transaction.pm:177)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Found 15 scrips for TransactionCreate stage with applicable type(s) Status for txn #38624 on ticket #2985 (/opt/rt4/sbin/../lib/RT/Scrips.pm:367)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #19 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #35 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #18 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #12 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #2 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #21 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #27 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #23 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #29 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #37 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Skipping Scrip #38 because it isn't applicable (/opt/rt4/sbin/../lib/RT/Scrips.pm:229)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: About to commit scrips for transaction #38624 (/opt/rt4/sbin/../lib/RT/Transaction.pm:197)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D; background:yellow">[Mon Sep 10 13:24:00 2012] [debug]: Committing scrip #34 on txn #38624 of ticket #2985 (/opt/rt4/sbin/../lib/RT/Scrips.pm:183)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D; background:yellow">[Mon Sep 10 13:24:00 2012] [info]: Attempting to auto assign ticket #2985 to user #3444 ((eval 3201):12)</span><span lang="EN-US" style="color:#1F497D">
</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Committing scrip #10 on txn #38624 of ticket #2985 (/opt/rt4/sbin/../lib/RT/Scrips.pm:183)</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">[Mon Sep 10 13:24:00 2012] [debug]: Calling SetRecipientDigests for transaction RT::Transaction=HASH(0xe6582b0), id 38624 (/opt/rt4/sbin/../lib/RT/Action/SendEmail.pm:6</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Attached you can find two queries I’ve just executed in my DB. It shows that the owner is correctly set as the id of the user John Doe.</span><span style="color:#1F497D"></span></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt"><span lang="EN-US" style="font-family:Wingdings; color:#1F497D"><span style="">Ø<span style="font:7.0pt "Times New Roman""> 
</span></span></span><i><span lang="EN-US">And the chart looks for the resolved transaction to get owner at the time of resolution?</span></i><i><span lang="EN-US" style="color:#1F497D"></span></i></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">I don’t think it’s a matter of transactions, as I think the chart queries tickets, not transactions.</span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"> </span></p>
<div><br>
<br>
<div align="left">
<p style="font-family:Calibri,Sans-Serif; font-size:10pt"><span style="color:#000000">Alberto Scotto</span>
<span style="color:#808080"></span><br>
<br>
<span style="color:#808080; font-weight:bold">Blue Reply</span> <br>
<span style="color:#808080">Via Cardinal Massaia, 83<br>
10147 - Torino - ITALY <br>
phone: +39 011 29100 <br>
<a href="al.scotto@reply.it" target="" style="color:blue; text-decoration:underline">al.scotto@reply.it</a>
<br>
<a title="" href="www.reply.it" target="" style="color:blue; text-decoration:underline">www.reply.it</a>
</span><br>
<br>
<span style="color:#000000"><img border="0" alt=" Blue Reply " src="cid:9859750e82bc4f81a772313a38232f17" style="margin:0px">
</span><br>
 </p>
</div>
<div style="border:none; border-top:solid #B5C4DF 1.0pt; padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-left:35.4pt"><b><span lang="EN-US" style="font-size:10.0pt; font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt; font-family:"Tahoma","sans-serif""> Joe Harris [mailto:drey111@gmail.com]
<br>
<b>Sent:</b> giovedì 4 ottobre 2012 13:37<br>
<b>To:</b> Scotto Alberto<br>
<b>Cc:</b> rt-users@lists.bestpractical.com<br>
<b>Subject:</b> Re: [rt-users] Setting owner with _Set breaks queries (may be a bug)</span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">This is a shot in the dark and I may be way off, but is there a chance your scrip to set the owner runs in a transaction that happens after the transaction that resolves the ticket?</p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">And the chart looks for the resolved transaction to get owner at the time of resolution?</p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm; margin-bottom:12.0pt; margin-left:35.4pt">
Just a thought. </p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Sent from my mobile device. </p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm; margin-bottom:12.0pt; margin-left:35.4pt">
<br>
On Oct 4, 2012, at 7:05 AM, Scotto Alberto <<a href="mailto:al.scotto@reply.it">al.scotto@reply.it</a>> wrote:</p>
</div>
<blockquote style="margin-top:5.0pt; margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Hi all,</p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">I think I found a bug.</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">I have a scrip called "On closure Auto set owner", which sets the owner while closing the ticket in case nobody has never taken it, so that I don't get resolved tickets assigned to "Nobody in
 particular".</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Everything seemed ok until today a colleague of mine noticed something weird with a chart that acts like a hall of fame, showing the top Owners. This chart is very simple: it retrieves all the
 tickets and it is grouped by Owner.RealName.</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">The weird thing is not the chart itself, but the fact that the following two queries should return the same tickets but they don’t:</span></p>
<p class="MsoListParagraph" style="margin-left:71.4pt; text-indent:-18.0pt"><span lang="EN-US">-</span><span lang="EN-US" style="font-size:7.0pt; font-family:"Times New Roman","serif"">         
</span><span lang="EN-US">Owner.RealName = 'Nobody in particular' returns 706 tickets</span></p>
<p class="MsoListParagraph" style="margin-left:71.4pt; text-indent:-18.0pt"><span lang="EN-US">-</span><span lang="EN-US" style="font-size:7.0pt; font-family:"Times New Roman","serif"">         
</span><span lang="EN-US">Owner = 'Nobody in particular' returns 369 tickets</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">The results of the former are not correct: it includes also the tickets for which the owner was set by my scrip, though the column “Owner” is correct (filled with “John Doe”, not “Nobody in
 particular”).</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Here are the relevant lines of the code of my scrip:</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"># get actor ID</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">my $Actor = $self->TransactionObj->Creator;</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">my $tkt = $self->TicketObj;</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-family:"Arial","sans-serif"; color:black"># try to change owner</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">my ($status, $msg) = $tkt->_Set(Field => 'Owner', Value => $Actor, RecordTransaction => 0);</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">I solved the problem using SetOwner instead of _Set, like this:</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">my ($status, $msg) = $tkt->SetOwner($Actor);</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">With the new code, the tickets whose owner is set by my scrip don’t get caught by the query Owner.RealName = 'Nobody in particular'.</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Looks like _Set doesn’t update correctly some field in some table in the DB. But I have no idea of what field and what table! I had a quick look at the DB, and it seems that the relation ticket-owner
 is based on an user ID, not a string (the real name).</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Finally, a weird thing with the chart: on the right side, it displays all the owners and the number of tickets associated. For “Nobody in particular”, the number is 369 (correct); but if I click
 on this number it generates the query “Owner.RealName = 'Nobody in particular'” saying “Found 706 tickets”.</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">The questions are:</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Should I file a bug?</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">How can I “convert” the tickets that were processed with the old code?</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Hope everything is clear</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-US">Thank you very much!</span></p>
</div>
<p class="MsoNormal" style="margin-right:0cm; margin-bottom:12.0pt; margin-left:35.4pt">
<span style="font-size:12.0pt; font-family:"Times New Roman","serif""> </span></p>
<p style="margin-left:35.4pt"><span style="font-size:10.0pt; font-family:"Calibri","sans-serif"; color:black">Alberto Scotto</span><span style="font-size:10.0pt; font-family:"Calibri","sans-serif"">
<br>
<br>
<b><span style="color:gray">Blue Reply</span></b> <br>
<span style="color:gray">Via Cardinal Massaia, 83<br>
10147 - Torino - ITALY <br>
phone: +39 011 29100 <br>
<a href="al.scotto@reply.it">al.scotto@reply.it</a> <br>
<a href="www.reply.it" title="">www.reply.it</a> </span><br>
<br>
<span style="color:black"><blue.png> </span><br>
 </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt; font-family:"Times New Roman","serif""> </span></p>
<div class="MsoNormal" align="center" style="margin-left:35.4pt; text-align:center">
<span style="font-size:12.0pt; font-family:"Times New Roman","serif"">
<hr size="2" width="100%" align="center">
</span></div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:7.5pt; font-family:"Arial","sans-serif"; color:gray"><br>
--<br>
The information transmitted is intended for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information
 by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.</span><span style="font-size:12.0pt; font-family:"Times New Roman","serif""></span></p>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt; margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><span style="font-size:12.0pt; font-family:"Times New Roman","serif""><br>
--------<br>
Final RT training for 2012 in Atlanta, GA - October 23 & 24<br>
 <a href="http://bestpractical.com/training">http://bestpractical.com/training</a><br>
<br>
We're hiring! <a href="http://bestpractical.com/jobs">http://bestpractical.com/jobs</a></span></p>
</div>
</blockquote>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
--<br>
The information transmitted is intended for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information
 by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.<br>
</font>
</body>
</html>