Aaaah URL references, I guess everyone with Domino and XPages have struggled with them. At first you think you have tackled them, but then you open your app from another perspective (e.g. web browser launch – open designated xpage) and you discover the references did no work like you thought they would.
So how do they work? I made an xpage to demonstrate their working:
I made 6 types of references:
/.ibmxspres/domino -> this brings me back to the root of the server (or data directory)
/.ibmxspres/global -> this brings me to the folder domjava/xsp/ on the server. This is where for example server-side themes are installed
/.ibmxspres/dojoroot -> this brings me back to the folder /xsp/.ibmxspres/dojoroot-1.9.7/ on the server. This is the installation folder of dojo.
/ -> this brings me to the root of the nsf (when standing on an xpage ofcourse).
./ -> this brings me also to the root of my nsf.
../ -> a step to much, the filename is cut off, so I am standing in the installation folder of my nsf.
Can you fix the broken ones? Ofcourse:
/.ibmxspres/domino -> compute: return “/.ibmxspres/domino/” + database.getFilePath() + “/” + the resource where you want to point to.
/.ibmxspres/global -> compute: “/.ibmxspres/global/” + “../../” + database.getFilePath() + “/” + the resource where you want to point to.
/.ibmxspres/dojoroot -> compute: “/.ibmxspres/dojoroot/” + “../../../” + database.getFilePath() + “/” + the resource where you want to point to.
../ -> “../” + database.getFileName() + “/” + the resource where you want to point to.
If you have a custom stylesheet called custom.css in your nsf you can refer to it in a Theme design element as followed:
<resource>
<content-type>text/css</content-type>
<href>/.ibmxspres/domino/css/custom.css</href>
</resource>
I made the sample available on Github. Hopefully next time I do not make the same mistakes with URL references. Happy development =)
Add 20 years of experience to your workforce
You can 20 years of experience within IBM Notes and Web development to your workforce by hiring me.
Interested? Read my curriculum vitae on LinkedIn: http://www.linkedin.com/in/patrickkwinten and get in contact.
I am happy to work WITH you !