Thanks a lot, Hardy, Peter and Mark.
I tried following Hardy's and Peter's directions and also studied the
wikis/guides (thank you for the links, Hardy!)
I still can't figure out how to make it work (page title still "Page not
found", no breadcrumbs and no contents showing)
That's what I've got so far:
1) on
[dspace-src]/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/artifactbrowser
created an AboutPage.java file, very similar to the one by Peter Dietz, with
the 2 methods:
addPageMeta()
to make the title and the breadcrumbs:
pageMeta.addMetadata("title").addContent(T_title);
pageMeta.addTrailLink(contextPath + "/",T_dspace_home);
pageMeta.addTrail().addContent(T_trail);
addBody()
Division division = body.addDivision("about-page", "primary");
division.setHead(T_head);
division.addPara(T_para);
[ the T_para would be the text content of the page, which should fit
internationalization. ]
2)
[dspace-src]/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/themes/Mirage/lib/xsl/core/navigation.xsl
we create the link under <xsl:template match="dri:options">
<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>
<!-- e aqui o label descritivo -->
<i18n:text>xmlui.dri2xhtml.structural.static.about</i18n:text>
</a><br/>
3) the messages_[LOCALE].xsl files, containing the text of the "About" page,
translated in many languages
4)
[dspace-src]/dspace-xmlui/dspace-xmlui-api/src/main/resources/aspects/ArtifactBrowser/sitemap.xmap
--> under:
<map:components>
<map:transformers>
added:
<map:transformer name="AboutPage"
src="org.dspace.app.xmlui.aspect.artifactbrowser.AboutPage" />
--> and under:
<map:pipelines>
<map:pipeline>
added:
<map:match pattern="about">
<map:transform type="AboutPage"/>
<map:serialize type="xml"/>
</map:match>
5)
[dspace-src]/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/themes/Mirage/Mirage.xsl
the override of <xsl:template match="dri:body">
(How should I call for the contents? is that correct?)
<xsl:when
test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']='about'">
<div>
<h1>Simple ABOUT page</h1>
<xsl:apply-templates />
</div>
</xsl:when>
After mvn, ant, tomcat stop, clear tomcat cache, tomcat start: doesn't work.
What am I missing?
Thank you again for your patience and help!
Best regards,
Andre Assada
2011/5/20 Pottinger, Hardy J. <[email protected]>
> 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+%28Manakin%29>
> >https://wiki.duraspace.org/display/DSPACE/Create+a+new+aspect+(Manakin)<https://wiki.duraspace.org/display/DSPACE/Create+a+new+aspect+%28Manakin%29>--
> 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
>
>
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery,
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now.
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech