RQL Commands

166 views
Skip to first unread message

tonyg

unread,
Dec 14, 2009, 9:38:51 AM12/14/09
to RedDot CMS Users
Im currectly writing a .net wrapper for RQL and after the first
iteration have hit a small problem.

If I use RQL to login I get the XML response, all well and good as it
has the session and login guids etc. However; how do I get these guids
for a user that has already logged in?

I cant find the the way to get login guids in the RQL manual, I know
you can log people out using rql but to do this you still need the
login guid!! There must be a way to either log a user off using
username or a way to get the guids for a currently logged in user?
Surely?

Thanks in advance
Tony

reddotrich

unread,
Dec 14, 2009, 11:16:12 AM12/14/09
to RedDot CMS Users
I know its not an answer to your question, but to stop you re-
inventing the wheel, there already is a wrapper in .Net for RQL by
RustyLogic. We are using it ourselves and you can download the files
from this site, I think that more work can be done on it, but we have
only needed to do small bits that were missing, otherwise it has been
very good and has simplified our development no end. As for your
issue, I have not thought about it yet, and this is only stating the
obvious, but I assume you have checked the RQL Doku manual? Or tried
checking the common log after logging someone off using server
manager?

Rich.

Killingsworth, Chad A

unread,
Dec 14, 2009, 11:29:49 AM12/14/09
to reddot-c...@googlegroups.com
Login GUIDS and Session GUIDs are stored in ASP Session variables.

Now for the fun part where you realize that since ASP.Net and ASP do not share the same session objects - you have a tricky problem.

Chad Killingsworth
Assistant Director of Web & New Media
Missouri State University
--

You received this message because you are subscribed to the Google Groups "RedDot CMS Users" group.
To post to this group, send email to reddot-c...@googlegroups.com.
To unsubscribe from this group, send email to reddot-cms-use...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/reddot-cms-users?hl=en.


TonyGayter

unread,
Dec 14, 2009, 11:32:47 AM12/14/09
to RedDot CMS Users
Thanks for the info, I have had a look at that .net wrapper and it is
pretty much along the lines of how mine is, however he doesnt seem to
handle the 'already logged in' problem in this code either. And the
code isnt defined enough for us although it has given me an excellant
referance to many functions.
> > Tony- Hide quoted text -
>
> - Show quoted text -

TonyGayter

unread,
Dec 14, 2009, 11:35:17 AM12/14/09
to RedDot CMS Users
Hmmm, I had forgotton that, Surely they store it somewhere though?
This is goin got drive me nuts.

On Dec 14, 4:29 pm, "Killingsworth, Chad A"
> For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.- Hide quoted text -

Killingsworth, Chad A

unread,
Dec 14, 2009, 12:12:35 PM12/14/09
to reddot-c...@googlegroups.com
Well if you're willing to work for it, you can get the LoginGUID using the following RQL (there are several other ways as well):

<IODATA user="[!current_user_login_name!]" loginguid="[!guid_login!]"><ADMINISTRATION><USERS action="connectlist" userguid="[!user_to_query_user_guid!]"/></ADMINISTRATION></IODATA>

As for session GUID - I've never seen how to query this directly. Were I tackling the problem, I would add template code that displayed in SmartEdit only which makes an AJAX call and stores the user guid, project guid and session key triplet in an external database. This is definitely a hack though.

Just remember that session key is project specific and it's possible for a user to have more than one session.

kimdezen

unread,
Dec 14, 2009, 10:04:42 PM12/14/09
to RedDot CMS Users
Pass the sessionkey & loginguid from the CMS to your .NET pages via
querystring variables. Both the loginguid and sessionkey can be
obtained via 'info' placeholders.

We too are using the RustyLogic .NET wrapper.. Each time a page is
called, I check to see if the sessionkey and loginguid for the current
user has been passed through - if not, then I log in using an
'external' user account (login details of which are set within the
web.config file).

Hope that helps...
Kim

RustyLogic

unread,
Dec 15, 2009, 3:15:36 AM12/15/09
to RedDot CMS Users
You can log off a user easily (I used to do it by default in my
wrapper but later removed it).
Try to login as the user and if you receive a rderror 101 (user
already logged in) you will also receive their login guid which you
can use to log them out.

Ta,
John

TonyGayter

unread,
Dec 15, 2009, 3:31:25 AM12/15/09
to RedDot CMS Users
Yeah I read that in the article but Im only getting the RD error in
the exception that is thrown and lots of 0000 for the login guid?

Before I moved login to the session service I was logging in using RQL
and even there i wasnt getting the login guid back (which it says it
should in the manual)?
> > > Tony- Hide quoted text -

TonyGayter

unread,
Dec 15, 2009, 3:35:52 AM12/15/09
to RedDot CMS Users
That assumes the code is being run from the CMS which it might not.
For example, I migh twant to write an application which runs RQL to
export a number of projects, zips them up and ftps them somewhere.
This would have no integration with the CMS directly, just with the
webservices. Now if by some reason the user account used to process
this was logged in already it would fail.

RustyLogic

unread,
Dec 15, 2009, 5:29:41 AM12/15/09
to RedDot CMS Users
When I used this trick originally, I was connecting directly to the
reddot dll which gives you access to the error text and the response
text.
I never tried this functionality via web services which maybe the
problem you are having... I think the web service execute function
only returns the error text and not the response text (which contains
the guid).

However,
I have never personally had any problems with my maintenance accounts
being 'already logged in':

Make sure you have an account (or accounts) that are only used for
maintenance and each having multiple logins enabled and you should
never have an issue.

Ta,
John

Killingsworth, Chad A

unread,
Dec 15, 2009, 9:33:21 AM12/15/09
to reddot-c...@googlegroups.com
Be very very careful with this strategy. This path can make it pretty easy to obtain someone else's session.

Chad Killingsworth
Assistant Director of Web & New Media
Missouri State University


-----Original Message-----
From: reddot-c...@googlegroups.com [mailto:reddot-c...@googlegroups.com] On Behalf Of TonyGayter
Sent: Tuesday, December 15, 2009 2:36 AM
To: RedDot CMS Users
Subject: Re: RQL Commands

Kenley Capps

unread,
Dec 14, 2009, 11:41:14 AM12/14/09
to reddot-c...@googlegroups.com
I've been having issues with replying to the google groups. If this goes
through, I have the code to do it and will provide (I also created a
.NET wrapper mostly because I needed a lot more than RustyLogic's provided.)

On 12/14/09 10:35 AM, TonyGayter wrote:
> Hmmm, I had forgotton that, Surely they store it somewhere though?
> This is goin got drive me nuts.
>
> On Dec 14, 4:29 pm, "Killingsworth, Chad A"
> <ChadKillingswo...@MissouriState.edu> wrote:
>
>> Login GUIDS and Session GUIDs are stored in ASP Session variables.
>>
>> Now for the fun part where you realize that since ASP.Net and ASP do not share the same session objects - you have a tricky problem.
>>
>> Chad Killingsworth
>> Assistant Director of Web& New Media

Troy Landers

unread,
Dec 14, 2009, 9:57:12 AM12/14/09
to RedDot CMS Users
It has been a little while, but I believe that if the user is already
logged in then you will get an exception response that contains the
login GUID. I had trouble getting the GUID because of the way that my
library was handling the exception, but hopefully you'll have more
luck.

Troy

TonyGayter

unread,
Dec 16, 2009, 3:48:38 AM12/16/09
to RedDot CMS Users
If you have some code for this action that would be great, Im banging
my head against a brick wall with reddot at the moment.

Increasing the number of allowed sessions isnt really the best way to
tackle the issue, for example, what happens if I write an admin tool
and the pc crashes out a few times (leaving the user logged in) it
could still hit the session limit.
> >> For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.-Hide quoted text -

TonyGayter

unread,
Dec 16, 2009, 3:50:08 AM12/16/09
to RedDot CMS Users
Also th euser woul dprobobly be an admin, many of our clients only
have 2-3 admin logins, Im assuming each session woul duse up an admin
license which woul dcause uproar.
> > >> For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.-Hidequoted text -
>
> > >> - Show quoted text -
>
> > > --
>
> > > You received this message because you are subscribed to the Google Groups "RedDot CMS Users" group.
> > > To post to this group, send email to reddot-c...@googlegroups.com.
> > > To unsubscribe from this group, send email to reddot-cms-use...@googlegroups.com.
> > > For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.-Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -

Kenley Capps

unread,
Dec 16, 2009, 9:05:02 AM12/16/09
to reddot-c...@googlegroups.com
Ack! Terribly sorry for the double post! This google group has been acting very strangely for me, and Thunderbird decided to go ahead and send my email out instead of saving as a draft! :)

On Wed, Dec 16, 2009 at 8:02 AM, Kenley Capps <kenle...@gmail.com> wrote:
Finally! My messages are going through! OK.

First off, let me preface that I currently use the webservices (for flexibility.) If you're using a page in SmartEdit or just a standalone page on the server, you can still make use of RQL to achieve the same thing.

LOGGING IN (WEBSERVICES)
The guid is passed back as the response from the webservice, if successful. I'll use a .NET example (assuming you've added the webservice to your solution):

                if (service == null)
                {
                    service = new YourCompany.RedDot.CMS.RQL.SessionService.SessionService();
                    service.Timeout = SERVICE_TIMEOUT;
                }

                guid = service.Login(username, password);
                Console.WriteLine("Successful login with loginid {0}", guid);

LOGGING IN (RQL)
The guid is passed back along with some information when you send the proper request:

Login Request:
<IODATA>
  <ADMINISTRATION action="login" name="admin" password="password"/>
</IODATA>


Example response:
<IODATA>
  <LOGIN guid="[!guid_login!]" server="MyServer"
   serverguid="[!guid_server!]" userkey="[!key_user!]"
   usertoken="[!key_token!]"/>
  <USER guid="[!guid_user!]" name="admin" fullname="Admin" id="1
   flags1="0" flags2="32768" dialoglanguageid="ENU
   dialogtextdirection="" languageid="ENU" showstarthelp="0" lcid="1031
   navigationtype="0" preferrededitor="0" invertdirectedit="0">
    <MODULES>
      <MODULE guid="[!guid_module!]" id="cms" name="0">
        <MODULES>
          <MODULE guid="[!guid_module!]" id="smarttree" name="13769"/>
          ...
        </MODULES>
      </MODULE>
      <MODULE guid="[!guid_module!]" id="ccs" name="0" repository="xcms1">
        <MODULES>
          <MODULE guid="[!guid_module!]" id="dms" name="13774"/>
          ...
        </MODULES>
      </MODULE>
      ...
    </MODULES>
    <LASTMODULES>
      <MODULE project="[!guid_project!]" projectname="Project name
       id="smarttree" guid="[!guid_module!]" lastid="smarttree
       lastguid="[!guid_!]" last="0"/>
      ...
    </LASTMODULES>
  </USER>
</IODATA>

You're looking specifically for the value of guid attribute from that response.


OK. We've got our login guid. However, if our app ever crashes or leaves a session hanging, then we need to be able to log that stale session off! Unfortunately the only way to accomplish this is to increase the number of allowed concurrent sessions to 2 or more for the "RQL" user, so it can login and logoff the other concurrent sessions. Otherwise, you'll just receive an error back (from the webservices it says RDE101 if I recall correctly.)

So in order to do this, we have to perform the following (after logging in):
1. Get a list of all online users
2. Loop through and find the one that has the same username as you
3. Log that session off

STEP 1: List all online users:
<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <USERS action="connectlist"/>
  </ADMINISTRATION>
</IODATA>


Example response:
<IODATA>
  <USERS>
    <USER  guid="[!guid_user!]" id="1" name="name"
     fullname="First name Last name" flags1="0" flags2="0"
     email="na...@company.com" maxlevel="1" dialoglanguageid="ENU"
     loginguid="[!guid_login!]" logindate="37551,3837384259"/>
   moduleid="servermanager" intern="0"
     moduledescription="Server Manager" projectname="Up-And-Away"
     projectguid="[!guid_project!]"/>
    ...
  </USERS>
</IODATA>


Note that you can specify a specific userguid element on the request to list all online users to retrieve only the concurrent sessions for that user. However, since we don't necessarily have the guid of the current user (if we used the webservices), then we'll just list all online users and look for our specific ones.

STEP 2: Loop through all users in that result set, and find the one that matches your username
I use the following process (actual snippet from a .NET wrapper I've worked on):

                // In the Session class
                List<User> users = User.ListOnline();
                foreach(User sessionUser in users)
                {
                    if (sessionUser.Name == username)
                    {
                        if (sessionUser.LoginGuid == guid)
                        {
                            this.user = sessionUser;
                        }
                        else if (logoutConcurrentInstances)
                        {
                            Logout(sessionUser);
                        }
                    }
                }

As you can see, if you find the user with your name and your loginguid, that's you. Otherwise, if you have opted into logging out concurrent instances, log that user out (since they have the same username, but not the same login guid)

Finally,
STEP 3: Logout user
This one is pretty basic.

LOGGING OUT (Webservices):

Following the snippet from logging in via webservices, logging out is incredibly simple:
service.Logout(guid);

LOGGING OUT (RQL):

Request:
<IODATA loginguid="[!guid_login!]">
  <ADMINISTRATION>
    <LOGOUT guid="[!guid_login!]"/>
  </ADMINISTRATION>
</IODATA>


Response:
<IODATA>
</IODATA>


And you're done! I hope this was helpful.

TonyGayter

unread,
Dec 16, 2009, 9:24:32 AM12/16/09
to RedDot CMS Users
Thanks for the reply, This does seem to be the simplest solution (kind
of) however it assumes the ability to have a free admin license to log
in with. I cant guarantee the availability of multiple admin licenses
to be able to do this (each session takes up 1). For example, if a
client has purchased 2 admin licenses and one is locked to my user,
and another to the admin of the site. How would I be able to log my
user off and back on (or indeed just get the login id ans session id)?
Using this method I would be stuck.

In the manual it says if the user account is locked out it should send
the users details (login guid etc) in the response, which it does in
certain circumstances (I can see the response I want in the common
log). If this response was return correctly via web services there
would be no problem at all.

It seems the web services have just been thrown together with no
regards to what should actually be returned!! I cant believe this
fundamental function does not work correctly. Its driving me crazy.





On Dec 16, 2:05 pm, Kenley Capps <kenleyca...@gmail.com> wrote:
> Ack! Terribly sorry for the double post! This google group has been acting
> very strangely for me, and Thunderbird decided to go ahead and send my email
> out instead of saving as a draft! :)On Wed, Dec 16, 2009 at 8:02 AM, Kenley Capps <kenleyca...@gmail.com> wrote:
> >  Finally! My messages are going through! OK.
>
> > First off, let me preface that I currently use the webservices (for
> > flexibility.) If you're using a page in SmartEdit or just a standalone page
> > on the server, you can still make use of RQL to achieve the same thing.
>
> > LOGGING IN (WEBSERVICES)
> > The guid is passed back as the response from the webservice, if successful.
> > I'll use a .NET example (assuming you've added the webservice to your
> > solution):
>
> >                 if (service == null)
> >                 {
> >                     service = new
> > YourCompany.RedDot.CMS.RQL.SessionService.SessionService();
> >                     service.Timeout = SERVICE_TIMEOUT;
> >                 }
>
> >                 guid = service.Login(username, password);
> >                 Console.WriteLine("Successful login with loginid {0}",
> > guid);
>
> > LOGGING IN (RQL)
> > The guid is passed back along with some information when you send the
> > proper request:
>
> > Login Request:
> >  <IODATA>
> >   <ADMINISTRATION action="*login*" name="*admin*" password="*password*"/>
> > </IODATA>
>
> > Example response:
> > <IODATA>
> >   <LOGIN guid="*[!guid_login!]*" server="*MyServer*"
> >    serverguid="*[!guid_server!]*" userkey="*[!key_user!]*"
> >    usertoken="*[!key_token!]*"/>
> >   <USER guid="*[!guid_user!]*" name="*admin*" fullname="*Admin*" id="*1*"
> >    flags1="*0*" flags2="*32768*" dialoglanguageid="*ENU*"
> >    dialogtextdirection="" languageid="*ENU*" showstarthelp="*0*" lcid="*
> > 1031*"
> >    navigationtype="*0*" preferrededitor="*0*" invertdirectedit="*0*">
> >     <MODULES>
> >       <MODULE guid="*[!guid_module!]*" id="*cms*" name="*0*">
> >         <MODULES>
> >           <MODULE guid="*[!guid_module!]*" id="*smarttree*" name="*13769*
> > "/>
> >           ...
> >         </MODULES>
> >       </MODULE>
> >       <MODULE guid="*[!guid_module!]*" id="*ccs*" name="*0*" repository="*
> > xcms1*">
> >         <MODULES>
> >           <MODULE guid="*[!guid_module!]*" id="*dms*" name="*13774*"/>
> >           ...
> >         </MODULES>
> >       </MODULE>
> >       ...
> >     </MODULES>
> >     <LASTMODULES>
> >       <MODULE project="*[!guid_project!]*" projectname="*Project name*"
> >        id="*smarttree*" guid="*[!guid_module!]*" lastid="*smarttree*"
> >        lastguid="*[!guid_!]*" last="*0*"/>
> >       ...
> >     </LASTMODULES>
> >   </USER>
> > </IODATA>
> > You're looking specifically for the value of guid attribute from that
> > response.
>
> > OK. We've got our login guid. However, if our app ever crashes or leaves a
> > session hanging, then we need to be able to log that stale session off!
> > Unfortunately the only way to accomplish this is to increase the number of
> > allowed concurrent sessions to 2 or more for the "RQL" user, so it can login
> > and logoff the other concurrent sessions. Otherwise, you'll just receive an
> > error back (from the webservices it says RDE101 if I recall correctly.)
>
> > So in order to do this, we have to perform the following (after logging
> > in):
> > 1. Get a list of all online users
> > 2. Loop through and find the one that has the same username as you
> > 3. Log that session off
>
> > STEP 1: List all online users:
> > <IODATA loginguid="*[!guid_login!]*">
> >   <ADMINISTRATION>
> >     <USERS action="*connectlist*"/>
> >   </ADMINISTRATION>
> > </IODATA>
>
> > Example response:
> > <IODATA>
> >   <USERS>
> >     <USER  guid="*[!guid_user!]*" id="*1*" name="*name*"
> >      fullname="*First name Last name*" flags1="*0*" flags2="*0*"
> >      email="*n...@company.com*" maxlevel="*1*" dialoglanguageid="*ENU*"
> >      loginguid="*[!guid_login!]*" logindate="*37551,3837384259*"/>
> >    moduleid="*servermanager*" intern="*0*"
> >      moduledescription="*Server Manager*" projectname="*Up-And-Away*"
> >      projectguid="*[!guid_project!]*"/>
> > <IODATA loginguid="*[!guid_login!]*">
> >   <ADMINISTRATION>
> >     <LOGOUT guid="*[!guid_login!]*"/>
> >   </ADMINISTRATION>
> > </IODATA>
>
> > Response:
> > <IODATA>
> > </IODATA>
>
> > And you're done! I hope this was helpful.
>
> > On 12/16/09 2:50 AM, TonyGayter wrote:
>
> > Also th euser woul dprobobly be an admin, many of our clients only
> > have 2-3 admin logins, Im assuming each session woul duse up an admin
> > license which woul dcause uproar.
>
> > On Dec 16, 8:48 am, TonyGayter <tonygay...@googlemail.com> <tonygay...@googlemail.com> wrote:
>
> >  If you have some code for this action that would be great, Im banging
> > my head against a brick wall with reddot at the moment.
>
> > Increasing the number of allowed sessions isnt really the best way to
> > tackle the issue, for example, what happens if I write an admin tool
> > and the pc crashes out a few times (leaving the user logged in) it
> > could still hit the session limit.
>
> > On Dec 14, 4:41 pm, Kenley Capps <kenleyca...@gmail.com> <kenleyca...@gmail.com> wrote:
>
> >  I've been having issues with replying to the google groups. If this goes
> > through, I have the code to do it and will provide (I also created a
> > .NET wrapper mostly because I needed a lot more than RustyLogic's provided.)
>
> >       On 12/14/09 10:35 AM, TonyGayter wrote:
>
> >       Hmmm, I had forgotton that, Surely they store it somewhere though?
> > This is goin got drive me nuts.
>
> >       On Dec 14, 4:29 pm, "Killingsworth, Chad A"<ChadKillingswo...@MissouriState.edu> <ChadKillingswo...@MissouriState.edu>  wrote:
> > For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.-Hidequotedtext -
>
> >         - Show quoted text -
>
> >        --
>
> >       You received this message because you are subscribed to the Google Groups "RedDot CMS Users" group.
> > To post to this group, send email to reddot-c...@googlegroups.com.
> > To unsubscribe from this group, send email to reddot-cms-use...@googlegroups.com.
> > For more options, visit this group athttp://groups.google.com/group/reddot-cms-users?hl=en.-Hidequoted text -
>

Kenley Capps

unread,
Dec 16, 2009, 9:34:22 AM12/16/09
to reddot-c...@googlegroups.com
Have you tried simply sending the equivalent RQL over the webservices? The RQL response sends back quite a bit of info.

TonyGayter

unread,
Dec 16, 2009, 9:38:32 AM12/16/09
to RedDot CMS Users
Yeah, both the session and rql services just send back the 101
error :'(

All Im asking reddot to do is what it says on the tin... I think Im
probobly asking to much lol


On Dec 16, 2:34 pm, Kenley Capps <kenleyca...@gmail.com> wrote:
> Have you tried simply sending the equivalent RQL over the webservices? The
> RQL response sends back quite a bit of info.
>
> ...
>
> read more »

Kenley Capps

unread,
Dec 16, 2009, 9:59:08 AM12/16/09
to reddot-c...@googlegroups.com
I'll try testing this later, the documentation here says that an RQL request should return details about which sessions are logged in for that specific user for CMS versions 6 and above. 

> ...
>
> read more »

Killingsworth, Chad A

unread,
Dec 16, 2009, 10:12:18 AM12/16/09
to reddot-c...@googlegroups.com
To deal with this problem, I wrote my own version of the web service which is just a wrapper for the COM object. I had problems with getting all of the necessary information from the web service as well. Of course the last time I checked this was at version 7.1.

Chad Killingsworth
Assistant Director of Web & New Media
Missouri State University


-----Original Message-----
From: reddot-c...@googlegroups.com [mailto:reddot-c...@googlegroups.com] On Behalf Of TonyGayter
Sent: Wednesday, December 16, 2009 8:39 AM
To: RedDot CMS Users

TonyGayter

unread,
Dec 16, 2009, 10:44:01 AM12/16/09
to RedDot CMS Users
Yeah, you would think the doc was correct wouldnt you haha (remember
to use the webservices)

On Dec 16, 2:59 pm, Kenley Capps <kenleyca...@gmail.com> wrote:
> I'll try testing this later, the documentation here says that an RQL request
> should return details about which sessions are logged in for that specific
> user for CMS versions 6 and above.
>
> ...
>
> read more »

TonyGayter

unread,
Dec 16, 2009, 10:46:09 AM12/16/09
to RedDot CMS Users
Im glad its not just me, surely Open Text have had numerous complaints
about this issue. Did your webservice interface with the dll I
presume, this might be a route I will have to take if no other option
is available.

On Dec 16, 3:12 pm, "Killingsworth, Chad A"
> ...
>
> read more »

Killingsworth, Chad A

unread,
Dec 16, 2009, 11:51:59 AM12/16/09
to reddot-c...@googlegroups.com
Here's the full code for the Web Service (using .NET Framework 2.0):

RDCMSXMLServer.asmx

<%@ WebService Language="C#" Class="RDCMSXMLServer" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://your.site.com/path/")]
//[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class RDCMSXMLServer : System.Web.Services.WebService
{
[WebMethod]
public string Execute(string RQLQuery, ref string RQLError)
{
Type RdXmlServerType = Type.GetTypeFromProgID("RDCMSServer.XmlServer");
object RdXmlServer = Activator.CreateInstance(RdXmlServerType);

object[] Arguments = { RQLQuery, RQLError };

return RdXmlServerType.InvokeMember("Execute", System.Reflection.BindingFlags.InvokeMethod, null, RdXmlServer, Arguments).ToString();

TonyGayter

unread,
Dec 16, 2009, 4:35:33 PM12/16/09
to RedDot CMS Users
Excellant, thank you very much, I will give it a go tommorrow and
report back.



On Dec 16, 4:51 pm, "Killingsworth, Chad A"
> ...
>
> read more »- Hide quoted text -

TonyGayter

unread,
Dec 17, 2009, 4:15:51 AM12/17/09
to RedDot CMS Users
Superb, it works, Thank you so much. You have literally saved my head
from exploding, I can now handle this problem correctly wihtout the
need for multiple logins etc. !!!!!


On Dec 16, 4:51 pm, "Killingsworth, Chad A"

> ...
>
> read more »- Hide quoted text -

Reply all
Reply to author
Forward
0 new messages