<div>Thanks for the offer Julian, I will wait till next week. Letting me loose in the engine might be interesting but risky - a bit like releasing a well intentioned bull in a china shop!</div><div><br></div><div>Yes Dave, all the pages are based on the new individual rlm and xwd files.<br>
</div><div>Xerte builds an array with an entry for each page, but by the time the first page runs only the entry for the first page has been populated. However if you add an Interaction with a time delay to the Entry Frame then you can wait until the array has been populated - but how long to wait? It would be better to be able to act on an event.</div>
<div><br></div><div>I have been re-thinking my approach. Initially I thought to add the code for the capture of the url parameter and the redirection to the title page, but I think it might be better to add it to the rlo. I believe I could use the same approach in a XOT project (different array though) which could make it possible to open existing projects at a specific page based on either a page name or page ID.</div>
<div><br></div><div>I will test this out further once we get the beta releases of Xerte and XOT available.</div><div><br></div><div>Kind regards</div><div><br></div><div>Johnathan</div><br><div class="gmail_quote">On 10 April 2012 18:26, Dave Burnett <span dir="ltr"><<a href="mailto:d_b_burnett@hotmail.com">d_b_burnett@hotmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">
Maybe the banana peel is here:<div><span style="font-size:8pt">.extXML</span><span style="font-size:10pt"> </span></div><div><span style="font-size:10pt">The page is inited, but the external xml has not been parsed?</span></div>
<div><span style="font-size:10pt">I take it these are all pages that are models/templates, not built within desktop itself.</span></div><div><br></div><div><br><div><hr>From: <a href="mailto:Julian.Tenney@nottingham.ac.uk" target="_blank">Julian.Tenney@nottingham.ac.uk</a><br>
To: <a href="mailto:xerte-dev@lists.nottingham.ac.uk" target="_blank">xerte-dev@lists.nottingham.ac.uk</a><br>Date: Tue, 10 Apr 2012 17:15:15 +0100<div><div class="h5"><br>Subject: [Xerte-dev] Re: How to wait while Xerte populates rootIcon.pages<br>
<br>







<div style="font-size:x-small;color:#000000;direction:ltr;font-family:Tahoma">
<div>wait till next week and I'll investgate further. Or look in the engine source to see when that onInit is being fired</div>
<div dir="ltr"> </div>
<div style="direction:ltr">
<hr>
<font face="Tahoma" color="#000000"><b>From:</b> <a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk" target="_blank">xerte-dev-bounces@lists.nottingham.ac.uk</a> [<a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk" target="_blank">xerte-dev-bounces@lists.nottingham.ac.uk</a>] On Behalf Of Kemp Johnathan [<a href="mailto:johnathan.kemp@ntlworld.com" target="_blank">johnathan.kemp@ntlworld.com</a>]<br>

<b>Sent:</b> 10 April 2012 14:30<br>
<b>To:</b> For Xerte technical developers<br>
<b>Subject:</b> [Xerte-dev] Re: How to wait while Xerte populates rootIcon.pages<br>
</font><br>
</div>

<div>
<div>If I have an interaction as a child of the entry frame and add a time limit with a wait of 1 second and hang a script of the time limit icon with the contents</div>
<div>debug("last page id is " + rootIcon.pages[2].extXML.firstChild.childNodes[0].<a href="http://attributes.name" target="_blank">attributes.name</a>);
<br>
debug("first page id is " + rootIcon.pages[0].extXML.firstChild.childNodes[0].attributes.pageID);<br>
debug("second page id is " + rootIcon.pages[1].extXML.firstChild.childNodes[0].attributes.pageID);
<br>
</div>
<div><br>
</div>
<div>I see values reported back for each debug line.</div>
<div><br>
</div>
<div>If I have an interation as a child of the entry frame and add an event icon with eventName = onInit and icon = rootIcon and then attach the same script as above to it each of the three entries returns undefined e.g.</div>

<div><br>
</div>
<div>last page id is undefined.</div>
<div><br>
</div>
<div>This suggests that the onInit event fires before the population of the pages array has completed?</div>
<div><br>
</div>
<div>Kind regards</div>
<div><br>
</div>
<div>Johnathan</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div>On 10 April 2012 13:01, Julian Tenney <span dir="ltr"><<a href="mailto:Julian.Tenney@nottingham.ac.uk" target="_blank">Julian.Tenney@nottingham.ac.uk</a>></span> wrote:<br>
<blockquote style="padding-left:1ex;border-left:#ccc 1px solid">
Listen for rooticon.onInit, it fires once the initial parse is complete<br>
________________________________________<br>
From: <a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk" target="_blank">xerte-dev-bounces@lists.nottingham.ac.uk</a> [<a href="mailto:xerte-dev-bounces@lists.nottingham.ac.uk" target="_blank">xerte-dev-bounces@lists.nottingham.ac.uk</a>] On Behalf Of Kemp Johnathan [<a href="mailto:johnathan.kemp@ntlworld.com" target="_blank">johnathan.kemp@ntlworld.com</a>]<br>

Sent: 10 April 2012 11:17<br>
To: For Xerte technical developers<br>
Subject: [Xerte-dev] Re: How to wait while Xerte populates rootIcon.pages<br>
<div><br>
Thanks for that Dave.<br>
<br>
A wait makes for a slightly untidy start since the title page loads but has undefined displayed until the timer has finished, but it does give time for the array to build.<br>
<br>
I guess the optimal solution would be for Xerte to broadcast an event when the array has been built, then it might be possible to limit the delay to the minimum.<br>
<br>
Kind regards<br>
<br>
Johnathan<br>
<br>
</div>
<div>On 9 April 2012 23:18, Dave Burnett <<a href="mailto:d_b_burnett@hotmail.com" target="_blank">d_b_burnett@hotmail.com</a><mailto:<a href="mailto:d_b_burnett@hotmail.com" target="_blank">d_b_burnett@hotmail.com</a>>> wrote:<br>

What does a wait interaction in the entryframe do?<br>
<br>
________________________________<br>
Date: Mon, 9 Apr 2012 23:06:32 +0100<br>
</div>
From: <a href="mailto:johnathan.kemp@ntlworld.com" target="_blank">johnathan.kemp@ntlworld.com</a><mailto:<a href="mailto:johnathan.kemp@ntlworld.com" target="_blank">johnathan.kemp@ntlworld.com</a>><br>
To: <a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a><mailto:<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a>><br>

<div>Subject: [Xerte-dev] How to wait while Xerte populates rootIcon.pages<br>
<br>
<br>
Hello everyone - a little puzzle for Easter,<br>
<br>
I don't know if anyone can throw any light on this little problem I have hit.<br>
<br>
Xerte desktop creates an array rootIcon.pages<br>
<br>
By the time a learning object setup script runs rootIcon.pages has not been defined as it has undefined length.<br>
By the time a script off an Entry Frame runs it has length 0, so it has been created but not populated.<br>
By the time a script in a page runs its length is the number of pages in the project.<br>
<br>
For each entry in the array Xerte will place the details of a page including the extXML data so you can get at the values set in an xwd form for any page in your project. However at the time the first page has loaded only the details of the xml for the first
 page have loaded. By the time the next page of a project is loaded the array is fully populated.<br>
<br>
This effectively means that my Connector pages which use this array for desktop projects (but not for XOt projects) cannot work as the first page of a project, because they cannot look up the pages they are set up to connect to.<br>

<br>
However it appears that the loading of the style sheet in my entryFrame's setup script effectively causes the first page to load twice. This is invisible to the end user but any debug statements will be repeated, showing the page loaded twice.<br>

<br>
This has the benefit that in Xerte preview mode, or if the published project is viewed in Internet Explorer or Firefox a connector page can operate as the first page of a project, because by the time the page has reloaded the rootIcon.pages array is fully populated.<br>

<br>
The twist is I have been trying to use this to make it possible to open a Xerte project at a specific page by adding<br>
<br>
?pageID=myTargetPage<br>
<br>
to the url of an external link to the project. I achieve this by adding some Connector page like code to the title page. A project then uses this form of Title page as the first page of the project.  When the project opens in the browser it opens at the first
 page and the pageID value if one is passed in the Url gets captured. The Title page then uses the same method as a standard connector page to go to the page specified by the pageID.<br>
<br>
I have this working in Firefox and Internet Explorer. However in Opera the url parameter captures perfectly but for some reason the rootIcon.pages array is still not populated with the extXML data for any of the other pages, so the redirect fails. If I use
 the Xerte navigation to move to page 2 and then go back to the title page it will redirect to the page specified in the url, so the principle works in Opera.<br>
<br>
So is there a way I can force the rootIcon.pages array to fully populate before I move on to compare the url pageID. I tried a while loop but just looping until the array has time to populate does not work. I guess because the array stops populating whilst
 the loop is running. I am sure this would be a feature many people would find useful, so any ideas as to how I get the page to wait until the array is populated would be much appreciated.<br>
<br>
Kind regards<br>
<br>
Johnathan<br>
<br>
<br>
<br>
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information
 contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.<br>
This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be
 monitored as permitted by UK legislation.<br>
<br>
</div>
_______________________________________________ Xerte-dev mailing list <a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">
Xerte-dev@lists.nottingham.ac.uk</a><mailto:<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a>>
<a href="http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev" target="_blank">
http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev</a> This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately
 delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has
 been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted
 by UK legislation.<br>
<br>
_______________________________________________<br>
Xerte-dev mailing list<br>
<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a><mailto:<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a>><br>

<div>
<div><a href="http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev" target="_blank">http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev</a><br>
<br>
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information
 contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.<br>
<br>
This message has been checked for viruses but the contents of an attachment<br>
may still contain software viruses which could damage your computer system:<br>
you are advised to perform your own checks. Email communications with the<br>
University of Nottingham may be monitored as permitted by UK legislation.<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Xerte-dev mailing list<br>
<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a><br>
<a href="http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev" target="_blank">http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>



<br></div></div>_______________________________________________
Xerte-dev mailing list
<a href="mailto:Xerte-dev@lists.nottingham.ac.uk" target="_blank">Xerte-dev@lists.nottingham.ac.uk</a>
<a href="http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev" target="_blank">http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev</a>

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.</div></div>                                         </div></div>
<br>_______________________________________________<br>
Xerte-dev mailing list<br>
<a href="mailto:Xerte-dev@lists.nottingham.ac.uk">Xerte-dev@lists.nottingham.ac.uk</a><br>
<a href="http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev" target="_blank">http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev</a><br>
<br>
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.<br>

<br>
This message has been checked for viruses but the contents of an attachment<br>
may still contain software viruses which could damage your computer system:<br>
you are advised to perform your own checks. Email communications with the<br>
University of Nottingham may be monitored as permitted by UK legislation.<br>
<br>
<br></blockquote></div><br>