i've not experienced the same problems after updating a RedDot
Version.
What specific problems did appear?
Greetings,
Ingo
A problem that appeared is that after copying a page using the RQL-
instruction, the following RQL-instruction is no longer able to change
the headline of the page to remove the 'Copy of' part that RedDot so
nicely puts in. (and no error message is returned).
Does the asynchronously execution of the copy job has anything to do
with it?
I thought not, since it worked fine before the upgrade.
Another problem is that I'm no longer able to read the GUID of a
structural element on the newly created page.
I need the GUID of the element to place a reference to another list.
The instruction to read this info is the following:
<IODATA loginguid="746BE54F474A49898BF1464CBCF7B04B"
sessionkey="E4D10907B8D34DD7807104ED39202E3E"> <PAGE
guid="CF6471A80B8E4B57BDABC9AD94ABE4E0">
<LINKS action="load"/> </PAGE></IODATA>
This normally returns a node containing all the stuff I need to know,
but this does no longer work (all the time).
Grtz,
Bart
Are you preexecuting the RQL or rdexecuting the RQL? If you are
preexecuting the RQL, then it is actually against RedDot best practice
because then the page is waiting for RQL to finish, and RQL waits for
the pages to finish loading before executing, hence a dead lock. Try
to offload that RQL into an ASP page in the plugins folder, and then
call the ASP page via AJAX.
And the page will load a lot faster too.
as far as I am aware of, there has been no RQL changes from 7.5.0.22
to 7.5.2.35.
I assume then at this point that you are RDExecuting the code. Can
you remove the RDExecute statement and see if CMS outputs all your RQL
+ VBScript code?
Assuming that it would output all the code, can you then put in
response.write in various steps and triangulate where it fails?
If you are still having problem, please feel free to email me your
code.
Sent from my Nokia phone
-----Original Message-----
From: Bart
Sent: 02/22/2010 7:21:06 AM
To: RedDot CMS Users
Subject: Re: RQL: problem after upgrading from 7.5.0.22 to 7.5.2.35
The problem is linked to the asynchronous execution of the RQL
statements.
When I copy and connect a page using RQL, the headline information of
this page is not immediately accessible, but the page guid is.
I use the following instructions to copy a existing page, and then I
read the guid of this newly created page.
'Copy and Connect Page
xmlFile = sendXML(RQLObject, "<IODATA sessionkey="""+SessionKey+""">"
+ _
" <LINK action=""assign"" guid="""+LinkGUID+""">" + _
" <PAGE action=""copy""
guid="""+SourcePageGUID+""" copymode="""+COPY_MODE+""" />" + _
" </LINK>" + _
"</IODATA>" )
xmlDoc.LoadXML (xmlFile)
Set NodeList = xmlDoc.selectNodes("/IODATA/LINK/PAGE")
CreatedPageGUID = NodeList.item(0).getAttributeNode("guid").value
I subsequently try to modify the headline to remove the 'Copy of' that
is added by RedDot, but this doesn't work, even if I use the new
parameter sync.
xmlFile = sendXML(RQLObject, "<IODATA sessionkey="""+SessionKey
+""">" + _
" <PAGE action=""save"" guid="""+CreatedPageGUID+"""
headline="""+escapeXml(SourceHeadline)+""" sync=""1"" />" + _
"</IODATA>" )
Other RQL-instructions also do not work as you'd expect: I'm not able
to read a certain element GUID present on the newly created page.
In the release notes of the CMS version 7.5.2.35 OpenText states
clearly that a rapid succession of RQLs can cause problems because of
the asynchronous behavior, as you can read for yourself:
"With RQL it is now possible to save a page entirely synchronously.
So far, a part of the saving process had been carried out
asynchronously. In certain situations, this led to problems with the
page versions if several RQLs that all affected this page were sent in
rapid succession."
The thing that causes me a huge headache is the fact that the new
attribute sync does not do the job for me.
On Feb 19, 6:32 pm, Bart <bartmaes...@gmail.com> wrote:
> The r
Email truncated to 2,000 characters
1. Read the "jobguid" from the newly created page.
2. Check the job status frequently, like a loop till status is done.
For that use RQL
xmlString = "" _
& "<IODATA loginguid='" & session("LoginGuid") & "' sessionkey='"
& session("SessionKey") & "'>" & Vbcrlf _
& " <PAGE><PAGEDEFINITION action='getstatus' jobguid='" & jobguid
& "'/></PAGE>" & VbCrLf _
& "</IODATA>" & Vbcrlf
in a function like
Function fckGetJobStatus(jobguid)
End Function
and do
If objIO.GetAttribute("PAGEDEFINITION","finished",resXML) <> "1"
Then fckGetJobStatus(jobguid)
fckGetJobStatus =
objIO.GetAttribute("PAGEDEFINITION","finished",resXML)
inside.
3. If done, do whatever you want to do with your newly created page.
Like changing the headline.
Best from Hamburg,
-alex