[Xerte-dev] Re: navigating to page name
Kemp Johnathan
johnathan.kemp at ntlworld.com
Tue Feb 14 14:35:42 GMT 2012
I don't know if you have had a chance to work with the version of the Xerte
interface that includes Tom's modifications for individual page templates,
but it has really enhanced desktop Xerte as a development environment.
I can pick a page from a menu and see hints and thumbnails, just as you do
in XOT or a page templates project. When I select a page from the menu it
creates a folder for the page, copies the page's xwd to the folder and
automatically generates the xml for the page based on the xwd, saving it in
the page's folder. In addition it adds a new page to the project tree using
the page's rlm file.
This then leaves me in the desktop xerte environment with each page having
its own xwd and xml contained in its own folder. I can tinker with the
page's icon structure or just consume the page as originally specified,
whilst populating the page's data using the xwd form.
I can edit the page's xwd in FlashDevelop to add extra features and update
the page's structure to consume them. I have full access to all the
project's pages and every page's icons.
In desktop Xerte using individual page templates, once a page has been
created any change to Xerte's copy of the xwd file or rlm file does not
affect the page in the project, unlike in XOT where template.xwd and the
set of rlm files are accessed when the project runs, thus resulting in any
changes to these files affecting all projects.
It is a great environment in which to develop new pages from existing ones.
Can you see any problem with the approach I am intending to take with
respect to the routed paging? Are you happy for me to continue with this
proposed solution to the issue?
Kind regards
Johnathan
On 14 February 2012 14:09, Julian Tenney <Julian.Tenney at nottingham.ac.uk>wrote:
> OK, maybe we’re just in slightly different worlds, me toolkits, you xerte.
> You paste in models through the editor? (I can’t remember) and then
> essentially don’t care about that model ever again: it’s just there waiting
> for some xml payload to drive it?
>
>
>
> Do you actually add the child icons (i.e. essentially the same thing as
> pasting in the model manually at design time? Or do you create a reference
> to an external model file a la toolkits?
>
>
>
> I can see it is tricky to set the icon property at design time.
>
>
>
> There must be a way to set the name property at runtime, but maybe not so
> easy of you’ve pasted the whole set of icons into the main piece – which is
> what I think you do..?
>
>
>
> *From:* xerte-dev-bounces at lists.nottingham.ac.uk [mailto:
> xerte-dev-bounces at lists.nottingham.ac.uk] *On Behalf Of *Kemp Johnathan
> *Sent:* 14 February 2012 14:05
>
> *To:* For Xerte technical developers
> *Subject:* [Xerte-dev] Re: navigating to page name
>
>
>
> There may be something wrong in my understanding of how things are working
> here but my reasons for not going down this route were
>
>
>
> 1) The script you quote is from templates.rlt and does not exist in an
> individual page template project - though something similar could perhaps
> be added.
>
> 2) In an individual page template project there is no project wide
> external xml file, rather each separate page has its own external xml file.
>
> 3) I am seeking to implement a solution that works for both pageTemplates
> and individual page template projects.
>
> 4) Even if this can be made to work for individual page template files I
> am still wary of using the name property (title field in the xwd form) as
> the unique identifier as I think it is already being used to meet a
> different purpose that could compromise it as a unique id. A project that
> used routing could easily be compromised by a late decision to change the
> title of a page. Which would affect every page that had been set up to
> route to it. With a separate pageID used only as the identifier for routing
> purposes this issue is avoided.
>
>
>
> Since routed pages are not yet a feature of Xerte it makes sense to get a
> solution that is robust. Have I missed something in my approach? Is there
> anything in the approach that I am proposing that would be detrimental to
> the project?
>
>
>
> I have performed some limited tests with this approach using my scenario
> page in both pageTemplates and individual page template projects and thus
> far it has worked reliably.
>
>
>
> Kind regards
>
>
>
> Johnathan
>
>
>
> On 14 February 2012 13:32, Julian Tenney <Julian.Tenney at nottingham.ac.uk>
> wrote:
>
> > Part of the problem has been the lack of a suitable identifier for each
> page that could be set within an xwd form
>
>
>
> Why can’t you set attributes on the icon in the makePages script, in these
> bits of code?
>
>
>
> if (modName == 'xerteModel'){
>
> newXML = new XML('<PG model="' +
> extXML.firstChild.childNodes[i].attributes.modelFile + '"/>');
>
> //is there an initObject...?
>
> if (extXML.firstChild.childNodes[i].attributes.initObject != undefined){
>
> newXML.firstChild.attributes.initObject =
> extXML.firstChild.childNodes[i].attributes.initObject;
>
> }
>
> } else {
>
> newXML = new XML('<PG model="templatePath + \'models/' + modName +
> '.rlm\'"/>');
>
> }
>
> newChild = newXML.firstChild;
>
> newChild.attributes.title = extXML.firstChild.childNodes[i].
> attributes.name;
>
> newChild.attributes.linkID =
> extXML.firstChild.childNodes[i].attributes.linkID;
>
>
>
> if (extXML.firstChild.childNodes[i].attributes.linkID == _level0.linkID &&
> extXML.firstChild.childNodes[i].attributes.linkID != undefined){
>
> linkIndex = i;
>
> }
>
> ifc.appendChild(newChild);
>
>
>
> newChild is the xml that is added to the interface. The engine then loads
> up the modesl identified in each page attached, but does not replace the
> page icons you create here.
>
>
>
> You won’t see the changes at design time(i.e. populate the name property
> in the xerte editor), but they can be set at runtime, and thus be used for
> navigation.
>
>
>
>
>
>
>
> *From:* xerte-dev-bounces at lists.nottingham.ac.uk [mailto:
> xerte-dev-bounces at lists.nottingham.ac.uk] *On Behalf Of *Kemp Johnathan
> *Sent:* 14 February 2012 12:36
>
>
> *To:* For Xerte technical developers
> *Subject:* [Xerte-dev] Re: navigating to page name
>
>
>
> I have considered how to implement the ability to route pages for some
> time now. Part of the problem has been the lack of a suitable identifier
> for each page that could be set within an xwd form. In page wizards I used
> the "name" field of the page icon, but this is not definable from an xwd
> form.
>
>
>
> In pageTemplates projects the xwd defined name value is used as the page
> title and there is no way to set the page Icon name property. The page
> title is a bad candidate as a unique identifier as its main function is to
> be a a page title making it potentially lengthy, potentially liable to
> change, possibly even unique and probably more prone to error in typing
> when referring to it as a page destination.
>
>
>
> As part of the move to individual page templates I am including in every
> xwd file an optional property pageID the purpose of which is to act solely
> as an identifier to enable other pages to locate it in the project.
>
>
>
> I have a number of page wizards that I will be converting to individual
> page templates that offer routing i.e. the ability to specify a target page
> which the user will be taken to on completing an action e.g. making a
> selection from a multiple choice question, clicking on a link in some text
> etc. These will use the new pageID property.
>
>
>
> This is achieved by using the following code.
>
>
>
> In the rlm file's getPageID script the following opening is used for any
> page that offers routing
>
>
>
> if (extXML == undefined){ // Page Wizard
> pageIcon.templateData = pageIcon.extXML.toObject();
> pageIcon.templateData = pageIcon.templateData.pageWizard[0];
>
> // routed pages only
> pageID_array = new Array();
> for (i = 0; i < rootIcon.pages.length; i++){
>
> pageID_array.push(rootIcon.pages[i].extXML.firstChild.childNodes[0].attributes.pageID);
> }
>
> } else { // Toolkits
> myXML = new XML(extXML.firstChild.childNodes[rootIcon.getPageIndex() -
> pgOffset]);
> pageIcon.templateData = myXML.toObject();
> rootIcon.setTitleText(templateData.learningObject[0].name);
>
> // routed pages only
> pageID_array = new Array();
> for (i = 0; i < extXML.firstChild.childNodes.length; i++){
> pageID_array.push(extXML.firstChild.childNodes[i].attributes.pageID);
> }
> }
>
>
>
> This makes available to the routed page an array of every page in the
> project with a value for pageID where it has been defined.
>
>
>
> Navigation to a page can then be handled in a manner such as
>
> // navigate to destination page
> for (i = 0; i < pageID_array.length; i++){
> if (pageID_array[i] == destPageName){
> pageFound = "true";
> destinationIndex = i;
> rootIcon.gotoPage(destinationIndex);
> break;
> } else {
> pageFound = "false";
> }
> }
>
>
>
> This will open up the potential to create a variety of "routed" pages
> which all use a standard method of page identification.
>
>
>
> Kind regards
>
>
>
> Johnathan
>
>
>
>
>
>
>
>
>
> On 14 February 2012 09:50, Julian Tenney <Julian.Tenney at nottingham.ac.uk>
> wrote:
>
> Ah, the other gotcha is that those asfunc calls need the full path to the
> object.
>
>
>
> *From:* xerte-dev-bounces at lists.nottingham.ac.uk [mailto:
> xerte-dev-bounces at lists.nottingham.ac.uk] *On Behalf Of *Ron Mitchell
> *Sent:* 14 February 2012 08:24
> *To:* 'For Xerte technical developers'
>
>
> *Subject:* [Xerte-dev] Re: navigating to page name
>
>
>
> :-)
>
> sleep worked!
>
> Got it working with _level0.engine.navToPage(pagetitletogoto);
>
>
>
> *From:* xerte-dev-bounces at lists.nottingham.ac.uk [mailto:
> xerte-dev-bounces at lists.nottingham.ac.uk] *On Behalf Of *Dave Burnett
> *Sent:* 14 February 2012 00:43
> *To:* xerte-dev at lists.nottingham.ac.uk
> *Subject:* [Xerte-dev] Re: navigating to page name
>
>
>
> So much for in vino veritas.
> ------------------------------
>
> From: ronm at mitchellmedia.co.uk
> To: xerte-dev at lists.nottingham.ac.uk
> Date: Tue, 14 Feb 2012 00:31:28 +0000
> Subject: [Xerte-dev] Re: navigating to page name
>
> Thanks for the suggestion Dave
>
> but I've pretty much tried that but it's not working e.g. if I
> debug(myPageIndex); it's coming up undefined.
>
> Time to shut down and have another look in the morning.
>
> Cheers
>
> Ron
>
>
>
> *From:* xerte-dev-bounces at lists.nottingham.ac.uk [
> mailto:xerte-dev-bounces at lists.nottingham.ac.uk<xerte-dev-bounces at lists.nottingham.ac.uk>]
> *On Behalf Of *Dave Burnett
> *Sent:* 14 February 2012 00:22
> *To:* xerte-dev at lists.nottingham.ac.uk
> *Subject:* [Xerte-dev] Re: navigating to page name
>
>
>
>
> http://lists.nottingham.ac.uk/pipermail/xerte/2010-April/004972.html
>
> ??
>
>
>
> I've had a couple pints, so I may be missing the point.
>
> :-)
>
>
> ------------------------------
>
> From: ronm at mitchellmedia.co.uk
> To: xerte-dev at lists.nottingham.ac.uk
> Date: Tue, 14 Feb 2012 00:10:31 +0000
> Subject: [Xerte-dev] navigating to page name
>
> Hi
>
> I think I'm missing something silly here :-(
>
> In a script icon in a page templates project I want to dynamically pass a
> page title to navigate to that page.
>
>
>
> I know <a href="asfunction:_level0.engine.navToPage,yourpagetitle">Click
> here or some other wording</a> works in xot as a hyperlink but haven't
> managed to call the same function in a script icon?
>
>
>
> Or is there another/easier way of doing this e.g. navigating to a page
> title in a page templates project?
>
>
>
> Cheers
>
> Ron
>
>
>
>
>
>
> 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.
>
> _______________________________________________ Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev 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.
>
>
> _______________________________________________ Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev 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.
>
>
> _______________________________________________
> Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev
>
> 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.
>
>
>
>
> _______________________________________________
> Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev
>
> 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.
>
>
>
> _______________________________________________
> Xerte-dev mailing list
> Xerte-dev at lists.nottingham.ac.uk
> http://lists.nottingham.ac.uk/mailman/listinfo/xerte-dev
>
> 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.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nottingham.ac.uk/pipermail/xerte-dev/attachments/20120214/2faf16dc/attachment-0001.html>
More information about the Xerte-dev
mailing list