[rt-users] Creating a customer drop-down multi-select menu with a remote SQL query

mike mike at bseder.org
Tue May 8 18:41:23 EDT 2007


Yeah, I was afraid of it being a potentially Really Stupid Idea - I'm no
Perl idiot, nor am I a real Perl hacker, so I am definitely concerned about
this perhaps not being the best solution to the problem I'm trying to
solve.  I am going to chew this over and wait for some more feedback from
the devs and generally more clueful RT folk.  I have a test RT box that I
can break six ways to Sunday, so this would absolutely go through a good
hammering in test before ever seeing our production RT system...I'm pretty
sure I'd be strung up if I hurt the prod system, the upgrade to 3.6.3 was
interesting enough (too much magic sledged in the old version from previous
employees :)).  The lack of linkage between the two disparate DBs isn't too
large a problem, but I would definitely need to find a clever way of keeping
it updated at least two or three times per day, so I'll need to do some more
thinking on that, too.  at first glace, rt-crontool doesn't seem to be my
answer to that, but i had great hope for about 30 seconds :)  Thanks for the
great response, I clearly have a lot more thinking to do!

cheers,
mike



On 5/8/07, Gene LeDuc <gleduc at mail.sdsu.edu> wrote:
>
> WARNING - Trying this might be a Really Stupid idea
>
> This might work, but it messes with the RT database directly, so before
> doing anything else you should (in this order):
>   1) wait about a week to see how badly this idea gets flailed by the
> developers and the more experienced users;
>   2) consider it carefully a couple dozen times before doing it;
>   3) cross your fingers;
>   4) cover your ears in case it explodes
>
> That said, _I'd_ certainly try it.  But I've always been kind of a thrill
> seeker.
>
> When you set up a "select multiple values" CF in RT, an entry for it is
> added to the CustomFields table of the rt3 database.  After you've created
> your CF and given it at least 1 value, go into that table and find the
> "id"
> value that goes with your CF.  Write it down here: _________
>
> The CustomFieldValues table of the rt3 database has a record for each
> "select multiple values" entry.  What I would do is write a 27-line perl
> script that adds an entry to this table for each of the names you pulled
> from your other database with the 5-liner you wrote.  The fields you need
> to be concerned with are:
>   CustomField: A constant, the number you got from looking at the
> CustomFields table and that you wrote down above
>   Name: This is what shows up in the pull-down menu for your CF, put the
> names you extracted here
>   Description: I'm not sure what this text field is used for or where it
> shows up other than the page used for creating custom fields
>   SortOrder: Integer determines what order the items appear in your
> pull-down list
>
> To be complete, you should also fill these fields:
>   Creator: A constant - your user id (an integer) goes here
>   Created: Today's date
>   LastUpdatedBy: Same as Creator
>   LastUpdated: Same as Created
>
> Downsides:
>   1.  It might explode.
>   2.  You only get a snapshot of your other database, there's no linkage
> to keep the CF values in synch with the other database.
>   3.  It might explode.
>
> Before trying this, go back and repeat steps 1 and 2 from my first list,
> paying particular attention to step 1.
>
> Good luck!
> Gene
>
>
> At 01:04 PM 5/8/2007, mike wrote:
> >Still trying to feel my way around RT, and couldn't find a definitive
> >answer in any of the docs/wiki...what I aim to do is enforce some
> >consistency in customer names used in the Subject lines of tickets...I
> >figure this should make things like reporting chronic issues/customers
> >with endless problems rather simply if they're all listed the same rather
> >than the multiple abbreviations that get used.
> >
> >I've written a quick and nasty 5-liner in Perl that queries a MySQL table
> >on a different box, and returns a complete list of customer
> >names.  Assuming that these names will live in a drop-down custom field
> >that allows multi-selects, how would I kick off this script and feed the
> >results in to that drop-down?  I'm trying very, very hard to not sledge
> >this directly in to the RT code itself, but to bolt it in based on the
> >current frame-work so that future ugprades won't be as much a trainwreck
> >as our last one was (due to lots of customization inside RT itself).  Any
> >clues or steers in the right direction would be appreciated :)
>
>
> --
> Gene LeDuc, GSEC
> Security Analyst
> San Diego State University
>
>


-- 
--
One way or another, everyone stops bleeding.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20070508/b51e22ea/attachment.htm>


More information about the rt-users mailing list