<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Transferring CustomField Values from old to new on all tickets in a queue</TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3492" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>Ken Thanks for your suggestions. Just thought of sharing
the path we took to fix this issue...</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>1. Basically we identified that one unique CF that we want
across all queues</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>2. Added it to the Queue</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>3. Ran a script to copy data from the old CF to the new CF
on all tickets in this queue. This we did it using a template that we found in
RT wiki</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2><A
href="http://wiki.bestpractical.com/view/ImportCustomFieldValues">http://wiki.bestpractical.com/view/ImportCustomFieldValues</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>and basically used the HasEntry, AddCustomFieldValue
methods from objectcustomfieldvalues to accomplish this.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>4. Detached the old CF from the Queue.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>What we are planning is to do the same for all dup'ed CFs
on all the queue. Many one time effort but could pay us in long run on ease of
maintenance.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>Thanks</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009><FONT face="Trebuchet MS"
color=#0000ff size=2>Subba</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=530124017-26032009></SPAN> </DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Ken Crocker [mailto:kfcrocker@lbl.gov]
<BR><B>Sent:</B> Friday, March 20, 2009 2:21 PM<BR><B>To:</B> Venkateswaran,
Subbaraman<BR><B>Cc:</B> rt-users@lists.bestpractical.com<BR><B>Subject:</B> Re:
[rt-users] Transferring CustomField Values from old to new on all tickets in a
queue<BR></FONT><BR></DIV>
<DIV></DIV>Subbaraman,<BR><BR><BR> Yes. I've been thru this
several times. Each time I found a better way to do it. First off, you have to
decide what the CF name will be for ALL the queues that will be using it.
Secondly, you have to have a consensus on the values you will allow. Third, you
create the NEW CF and it's values. Now, if you have a CF that already exists and
you want to use it, then you still need to set up all the values. The last step
is to APPLY this particular CF to all the queues that will be using it. Once
that is done, set up some scripts (NOT scrips) that detail which OLD CF"s should
be WHAT VALUE for the NEW CF. Once that is done, you execute each of those
scripts for EACH queue by running a query to pull ALL tickets of each queue (1
queue at a time) and use the "bulk update" feature to set the new value for the
new CF based on the script/selection criteria for the OLD
CF.<BR> For example. Let's say I have 3 CF's that are similar.
I take CF1 and set up all the values I want it to have. If there are any values
I want to get rid of, I add the news ones first, then run a Search/Bulk Update
to change the values I want to get rid of to the new values. Select all tickets
where CF1 value = "X". Bulk Update the results to be CF1 value = "Y". This would
be the basic routine you walk thru for EACH and EVERY value of CF2 and CF3 for
Each Queue that uses CF2 and CF3, 1 Queue at a time.<BR> That
should do it. There are no real shortcuts that I know of for this kind of thing.
You COULD use SQL and do this DIRECTLY to the DataBase, but that get REAL messy
and I do NOT recommend it.<BR> Hope this
helps.<BR><BR><BR>Kenn<BR>LBNL<BR><BR>On 3/20/2009 7:42 AM, Venkateswaran,
Subbaraman wrote:
<BLOCKQUOTE
cite=mid:D025D0AB92335E4B90B7ADA30FA3D59504570C62@PCCPMEXV02.na.blkint.com
type="cite">
<META content="MS Exchange Server version 6.5.7654.12" name=Generator><!-- Converted from text/rtf format -->
<P><FONT face="Trebuchet MS" color=#0000ff size=2>We are using RT 3.6.4 and
what we are trying to do is to synchronize custom field across all queues and
basically have one unique custom field and type. Currently we have some CFs
with the same name and different types dupe'ed across all the queues. Is there
a way we can script around to move all the values from oldCF to new CF on all
tickets in a Queue ?</FONT></P>
<P><FONT face="Trebuchet MS" color=#0000ff size=2>For e.g.: </FONT><BR><FONT
face="Trebuchet MS" color=#0000ff size=2>CF Name XYZ, Type: Enter multiple
values</FONT> <BR><FONT face="Trebuchet MS" color=#0000ff size=2>CF Name XYZ,
Type: Text</FONT> <BR><FONT face="Trebuchet MS" color=#0000ff size=2>Move all
the values on XYZ(enter multiple values) to the CF XYZ(Text) on all tickets in
a Queue.</FONT> </P>
<P><FONT face="Trebuchet MS" color=#0000ff size=2>Once this is done we will
disconnect the old CF XYZ(Enter multiple values) from the Queue.</FONT> </P>
<P><FONT face="Trebuchet MS" size=2>Thanks for your help</FONT> </P><BR>THE
INFORMATION CONTAINED IN THIS MESSAGE AND ANY ATTACHMENT MAY BE PRIVILEGED,
CONFIDENTIAL, PROPRIETARY OR OTHERWISE PROTECTED FROM DISCLOSURE. If the
reader of this message is not the intended recipient, you are hereby notified
that any dissemination, distribution, copying or use of this message and any
attachment is strictly prohibited. If you have received this message in error,
please notify us immediately by replying to the message and permanently delete
it from your computer and destroy any printout thereof.<BR><PRE wrap=""><HR width="90%" SIZE=4>
_______________________________________________
<A class=moz-txt-link-freetext href="http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users">http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users</A>
Community help: <A class=moz-txt-link-freetext href="http://wiki.bestpractical.com">http://wiki.bestpractical.com</A>
Commercial support: <A class=moz-txt-link-abbreviated href="mailto:sales@bestpractical.com">sales@bestpractical.com</A>
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at <A class=moz-txt-link-freetext href="http://rtbook.bestpractical.com">http://rtbook.bestpractical.com</A></PRE></BLOCKQUOTE></BODY></HTML>
<br>
THE INFORMATION CONTAINED IN THIS MESSAGE AND ANY ATTACHMENT MAY BE PRIVILEGED, CONFIDENTIAL, PROPRIETARY OR OTHERWISE PROTECTED FROM DISCLOSURE. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, copying or use of this message and any attachment is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and permanently delete it from your computer and destroy any printout thereof.<br>