Hi Andre,

My patch might not have been perfect, especially if you're starting from
1.7.

Check your [dspace]/config/xmlui.xconf, to see which aspects are enabled.
https://github.com/DSpace/DSpace/blob/master/dspace/config/xmlui.xconf#L61

The patch I sent you patched the sitemap for the artifactBrowser artifact,
which in 1.7 is now deprecated, and we use browseArtifacts, viewArtifacts,
and searchArtifacts.
So although you fixed the sitemap for artifactBrowser/sitemap.xmap, if
xmlui.xconf doesn't use it, then the AboutPage doesn't get used. So.. make
the same change to the artifactBrowser/sitemap.xmap to
browseArtifact/sitemap.xmap.
You won't need the customization to artifactBrowser/sitemap.xmap anymore.

And I think you should be in business after that.


Peter Dietz



On Tue, May 24, 2011 at 1:47 PM, André <[email protected]> wrote:

> 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

Reply via email to