Thanks, Peter, this looks like a cool way to do static pages, I'll have to give this a try. Would you consider doing a writeup on the process on the wiki?
--Hardy Sent from my iPad On May 20, 2011, at 5:03 PM, "Peter Dietz" <[email protected]<mailto:[email protected]>> wrote: Hi André, I'm guessing that your XSLT is good, you're able to modify a page, and get your changes to happen. However, if you are adding a new page that doesn't exist, you'll get a problem with the sitemap not having a match for the new page you created. The sitemaps (there are browseArtifacts, viewArtifacts, searchArtifacts) match paths such as community-list or handle/**, but not about/ so you'll end up with the error of Page Not Found, which is when it doesn't match anything. The way I fix that for custom pages that we add, is to add an AboutUs.Java file to generate some basic DRI, and configure the sitemap to use that Java file for our about page. If you build your xsl to create a static page, that partially works, but you also have to modify the sitemap<https://github.com/DSpace/DSpace/blob/master/dspace-xmlui/dspace-xmlui-api/src/main/resources/aspects/BrowseArtifacts/sitemap.xmap#L82> to add a rule to match the content you added. If there is no rule for the page in the sitemap, then Page Not Found is the exception. See this gist for a sample of how to do this: <https://gist.github.com/842301> https://gist.github.com/842301 Peter Dietz On Fri, May 20, 2011 at 10:33 AM, Pottinger, Hardy J. <<mailto:[email protected]>[email protected]<mailto:[email protected]>> wrote: Hi, here are the missing links: DRI Schema Reference: <https://wiki.duraspace.org/display/DSDOC/DRI+Schema+Reference>https://wiki.duraspace.org/display/DSDOC/DRI+Schema+Reference Debugging XMLUI hints: <https://wiki.duraspace.org/display/DSPACE/Manakin+theme+tutorial#Manakinthe metutorial-Debuggingatvariousstagesofthethemeapplicationpipeline>https://wiki.duraspace.org/display/DSPACE/Manakin+theme+tutorial#Manakinthe metutorial-Debuggingatvariousstagesofthethemeapplicationpipeline (includes info on how to see the DRI behind any page) and I was right, it is super-simple, do it by... I'm copying from the page linked above): 1. prepending DRI/ to the beginning of the page url but after the context path, i.e. http://<manakin-url>/DRI/search 2. appending the XML parameter to the end of the URL, i.e. http://<manakin-url>/search?XML or http://<manakin-url>/search?query=texas&page=2&XML As long as I'm pasting links for XMLUI theme development, here are a few more I've collected: XML How to Guides: <https://wiki.duraspace.org/display/DSPACE/XMLUI+How+To+Guides>https://wiki.duraspace.org/display/DSPACE/XMLUI+How+To+Guides Slideshow: Making Dspace XMLUI Your Own: <http://www.slideshare.net/tdonohue/making-dspace-xmlui-your-own>http://www.slideshare.net/tdonohue/making-dspace-xmlui-your-own Dryad repository's wiki of working notes on the XMLUI: <http://code.google.com/p/dryad/wiki/ManakinReference>http://code.google.com/p/dryad/wiki/ManakinReference How to create a new aspect for XMLUI: <https://wiki.duraspace.org/display/DSPACE/Create+a+new+aspect+(Manakin)>https://wiki.duraspace.org/display/DSPACE/Create+a+new+aspect+(Manakin) -- a fantastic introduction to how DSpace approaches Cocoon development. JavaDocs for the XMLUI: <http://projects.dspace.org/dspace-xmlui/dspace-xmlui-api/apidocs/index.html>http://projects.dspace.org/dspace-xmlui/dspace-xmlui-api/apidocs/index.html -- especially look at the direct known subclasses of AbstractDSpaceTransformer Cocoon documentation, starting with an overview: <http://cocoon.apache.org/2.1/userdocs/concepts/>http://cocoon.apache.org/2.1/userdocs/concepts/ There are also a couple of useful PDFs floating around on the net, google for "ManakinDevelopersGuide.pdf" and "tdl-manakin-training.pdf", or perhaps the original authors can reply with cannonical links to either PDF. Anyone else have helpful info on XMLUI development, send it my way. Thanks! -- HARDY POTTINGER <<mailto:[email protected]>[email protected]<mailto:[email protected]>> University of Missouri Library Systems <http://lso.umsystem.edu/~pottingerhj/>http://lso.umsystem.edu/~pottingerhj/ "No matter how far down the wrong road you've gone, turn back." --Turkish proverb On 5/20/11 7:27 AM, "Pottinger, Hardy J." <<mailto:[email protected]>[email protected]<mailto:[email protected]>> wrote: >Hi, André, I'm sorry I'm not at my main computer, so I can't paste >example code or provide links, but the secret to success is going to be >encoding your markup in DRI. The title and breadcrumbs links can be put >in that way. To see an example, just look at the DRI behind any page (I >always forget how, but it involves adding something to the page's URL in >you browser, look it up in the wiki). There is also an excellent >reference on the entire DRI spec on the wiki. If you can, change your >whole markup over from straight HTML to DRI, add the markup for the title >and breadcrumbs, and see if that fixes things for you. > >--Hardy > >Sent from my iPad > >On May 20, 2011, at 7:12 AM, "André" ><<mailto:[email protected]>[email protected]<mailto:[email protected]><mailto:<mailto:[email protected]>[email protected]<mailto:[email protected]>>> > wrote: > >Dear all, > >We're trying to create some info pages to our XMLUI 1.7.0 repository >using the Mirage theme. >The problem probably resides in my poor knowledge of XSLT. > >1) We've sucessfully added links to the side menu, by adding a link >inside the <xsl:template match="dri:options"> eg: ><div id="ds-search-option" class="ds-option-set"> ><a> ><xsl:attribute name="href"> ><xsl:value-of select="/dri:document/dri: >meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> ><xsl:text>/about</xsl:text> ></xsl:attribute> ><i18n:text>xmlui.dri2xhtml.structural.informacoes.sobre</i18n:text> ></a><br/> >[etc...] > > >2) We editted the Mirage.xsl overriding the <xsl:template >match="dri:body"> with conditionals for handling the call for the info >pages eg: ><xsl:template match="dri:body"> ><div id="ds-body"> ><xsl:choose> ><xsl:when >test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'] >[@qualifier='URI']='about'"> ><div> ><h1>ABOUT PAGE - THIS IS A SIMPLE TEST</h1> ><p>Lorem Ipsum dolor sit amet</p> ></div> ></xsl:when> ><xsl:otherwise> ><xsl:apply-templates /> ></xsl:otherwise> >[etc...] > > >Question 1) Everything is ok, except for the page title. When we click >the "Communities and collections" link, the title of the browser >correctly shows "Communities", but with our page we get a "Page not >found" title, despite the fact that the contents are shown correctly. >Even when we include a html page instead of hardcoding it in the xsl (eg. >see code below), the contents are showing correctly but the <title> of >the html appears not to be interpreted. > ><xsl:when >test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'] >[@qualifier='URI']='about'"> ><p><xsl:copy-of select="document('./Reference/lib/about.html')" /></p> ></xsl:when> > > >Question 2) The breadcrumbs also don't appear when accessing those info >pages we've created. > > >Any help will be very much appreciated. > >Thank you >Andre Assada >-------------------------------------------------------------------------- >---- >What Every C/C++ and Fortran developer Should Know! >Read this article and learn how Intel has extended the reach of its >next-generation tools to help Windows* and Linux* C/C++ and Fortran >developers boost performance applications - including clusters. ><http://p.sf.net/sfu/intel-dev2devmay>http://p.sf.net/sfu/intel-dev2devmay >_______________________________________________ >DSpace-tech mailing list ><mailto:[email protected]>[email protected]<mailto:[email protected]><mailto:<mailto:[email protected]>[email protected]<mailto:[email protected]> >> ><https://lists.sourceforge.net/lists/listinfo/dspace-tech>https://lists.sourceforge.net/lists/listinfo/dspace-tech >-------------------------------------------------------------------------- >---- >What Every C/C++ and Fortran developer Should Know! >Read this article and learn how Intel has extended the reach of its >next-generation tools to help Windows* and Linux* C/C++ and Fortran >developers boost performance applications - including clusters. ><http://p.sf.net/sfu/intel-dev2devmay>http://p.sf.net/sfu/intel-dev2devmay >_______________________________________________ >DSpace-tech mailing list ><mailto:[email protected]>[email protected]<mailto:[email protected]> ><https://lists.sourceforge.net/lists/listinfo/dspace-tech>https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. <http://p.sf.net/sfu/intel-dev2devmay>http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ DSpace-tech mailing list <mailto:[email protected]>[email protected]<mailto:[email protected]> <https://lists.sourceforge.net/lists/listinfo/dspace-tech>https://lists.sourceforge.net/lists/listinfo/dspace-tech ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ DSpace-tech mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-tech

