<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2655.35">
<TITLE>RE: [rt-users] RT Possibilites?</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>There are a number of ways to do this.  The one that requires the least messing about (as far as I can tell) would be to subclass Mason's resolver.  The resolver is the object that takes a component path and finds the component, among other things.  </FONT></P>

<P><FONT SIZE=2>See <A HREF="http://masonbook.com/book/chapter-12.mhtml#TOC-ANCHOR-4" TARGET="_blank">http://masonbook.com/book/chapter-12.mhtml#TOC-ANCHOR-4</A> for more info.</FONT>
</P>

<P><FONT SIZE=2>The idea would be to have the resolver determine if the component exists in a Queue specific directory.  If there is a special Queue version, return that component.  If there isn't, return the normal component.  The big question is, "How does the resolver know what queue the request is for?"  I think the resolver is initialized once and reused for multiple requests (in a mod_perl environment).  So you'll need to check the Request object ($HTML::Mason::Commands::m) to get the queue to look for.  You'll </FONT></P>

<P><FONT SIZE=2>You'll need to update the RT::Web::Interface module to use your new resolver.</FONT>
</P>

<P><FONT SIZE=2>The 1.1x versions of Mason are written with subclassing in mind, so it shouldn't be too hairy.</FONT>
</P>

<P><FONT SIZE=2>The other options I could think of required making changes to every file in the RT web interface.  This seemed like a bad idea.</FONT></P>

<P><FONT SIZE=2>I thought a bit about using multiple component roots.  This is how the local component directory is set up.  The problem is that each component root is checked in the order it is listed, and there doesn't seem to be a way for a component to decline to handle the request and force further searching of the component root list.</FONT></P>

<P><FONT SIZE=2>Good luck.</FONT>
</P>

<P><FONT SIZE=2>--Mark</FONT>
</P>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: John Gedeon [<A HREF="mailto:jgedeon@qualcomm.com">mailto:jgedeon@qualcomm.com</A>]</FONT>
<BR><FONT SIZE=2>Sent: Friday, January 17, 2003 4:56 PM</FONT>
<BR><FONT SIZE=2>To: rt-users@fsck.com</FONT>
<BR><FONT SIZE=2>Subject: Re: [rt-users] RT Possibilites?</FONT>
</P>
<BR>

<P><FONT SIZE=2>Would it be possible to have the directory structure like such</FONT>
</P>

<P><FONT SIZE=2>WebRT/html/</FONT>
<BR><FONT SIZE=2>    Default/</FONT>
<BR><FONT SIZE=2>         Ticket/</FONT>
<BR><FONT SIZE=2>         User/ ....</FONT>
<BR><FONT SIZE=2>    Queue1/</FONT>
<BR><FONT SIZE=2>         include only files I changed</FONT>
<BR><FONT SIZE=2>    Queue2/</FONT>
<BR><FONT SIZE=2>         include only files I changed</FONT>
</P>

<P><FONT SIZE=2>and have html_mason look at for the file in the queue's directory and if </FONT>
<BR><FONT SIZE=2>not found use the one in the Default?</FONT>
<BR><FONT SIZE=2>I would want this to also work for the .html files (IE so i could rearrage </FONT>
<BR><FONT SIZE=2>the forms or change some of the form names on the outside, like owner to </FONT>
<BR><FONT SIZE=2>assigned to)</FONT>
<BR><FONT SIZE=2>But I would want html mason to hide the Default or Queue1 part of the url </FONT>
<BR><FONT SIZE=2>from everything else.</FONT>
</P>

<P><FONT SIZE=2>so a link like <A HREF="http://www.example.com/Ticket/History.html?id=42" TARGET="_blank">http://www.example.com/Ticket/History.html?id=42</A></FONT>
<BR><FONT SIZE=2>would take them to the queue specific view of that ticket which would have </FONT>
<BR><FONT SIZE=2>the files in</FONT>
<BR><FONT SIZE=2>WebRT/html/Queue2/Ticket/History.html</FONT>
</P>

<P><FONT SIZE=2>Is that possible?</FONT>
</P>

<P><FONT SIZE=2>John</FONT>
</P>
<BR>

<P><FONT SIZE=2>At 02:01 PM 1/17/2003, Bruce Campbell wrote:</FONT>
<BR><FONT SIZE=2>>On Fri, 17 Jan 2003, John Gedeon wrote:</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>> > I have a request for a queue with the look of rt a little different. Thing</FONT>
<BR><FONT SIZE=2>> > is only people using that queue want the change. Is there a way to make</FONT>
<BR><FONT SIZE=2>> > different mason files show up for specific queues? Has this been done?</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>Interesting.  It certainly can be done.</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>What you want to be doing is to have your collection of files for Queue</FONT>
<BR><FONT SIZE=2>>'foo'.  For simplicity, give them the extension '.foo'.</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>Then, you can change your main pages to include files based on the queue</FONT>
<BR><FONT SIZE=2>>name, eg:</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>         <& /Elements/TitleBoxEnd.$queuename &></FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>( This is a quick example, and I'm skipping over a lot of stuff, such as</FONT>
<BR><FONT SIZE=2>>   how you're setting $queuename etc ).</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>If you wanted to be more tricky, you could have your magic include file,</FONT>
<BR><FONT SIZE=2>>like:</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>         <& /Elements/DefInclude, queue => $queuename, include =></FONT>
<BR><FONT SIZE=2>>           '/Elements/TitleBoxEnd &></FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>Where /Elements/DefInclude looked for the requested_file.$queuename, or</FONT>
<BR><FONT SIZE=2>>the requested_file in the former's absence.</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>> > Main point is how complex is it to have it done?</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>Its not that complex, it would just be annoying to set this up (in</FONT>
<BR><FONT SIZE=2>>changing all the files that did includes in the appropriate manner).</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>--</FONT>
<BR><FONT SIZE=2>>                              Bruce Campbell                            RIPE</FONT>
<BR><FONT SIZE=2>>                    Systems/Network Engineer                             NCC</FONT>
<BR><FONT SIZE=2>>                  www.ripe.net - PGP562C8B1B             Operations/Security</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>rt-users mailing list</FONT>
<BR><FONT SIZE=2>>rt-users@lists.fsck.com</FONT>
<BR><FONT SIZE=2>><A HREF="http://lists.fsck.com/mailman/listinfo/rt-users" TARGET="_blank">http://lists.fsck.com/mailman/listinfo/rt-users</A></FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>Have you read the FAQ? The RT FAQ Manager lives at <A HREF="http://fsck.com/rtfm" TARGET="_blank">http://fsck.com/rtfm</A></FONT>
</P>
<BR>

<P><FONT SIZE=2>--</FONT>
<BR><FONT SIZE=2><>< Proverbs 3:5 "Trust in the Lord with all your heart and lean not on </FONT>
<BR><FONT SIZE=2>your own understanding;"</FONT>
</P>

<P><FONT SIZE=2>_______________________________________________</FONT>
<BR><FONT SIZE=2>rt-users mailing list</FONT>
<BR><FONT SIZE=2>rt-users@lists.fsck.com</FONT>
<BR><FONT SIZE=2><A HREF="http://lists.fsck.com/mailman/listinfo/rt-users" TARGET="_blank">http://lists.fsck.com/mailman/listinfo/rt-users</A></FONT>
</P>

<P><FONT SIZE=2>Have you read the FAQ? The RT FAQ Manager lives at <A HREF="http://fsck.com/rtfm" TARGET="_blank">http://fsck.com/rtfm</A></FONT>
</P>

</BODY>
</HTML>