Its added to the "pageMeta" as a <trail>, you might look at ItemViewer and
copy that code, then maybe add "Tombstone" on the end of it...
Mark
On Fri, Jul 29, 2011 at 7:45 AM, Blanco, Jose <[email protected]> wrote:
> Mark, I'm pretty much finished with this. I just want to run it by Jim
> next time we meet, but I do have one question. The Tombstone page shows a
>
> ->
>
> In the area where normally you have links that take you back to where you
> came from, like
>
> DSpace Home >
> Archive Test Area >
> University of Michigan Transportation Research Institute Reports >
> View Item >
>
> How do I get this to show up? I've tried a couple of things but can't find
> the mechanism that handles this.
>
> Thank you!
> Jose
>
> -----Original Message-----
> From: Blanco, Jose [mailto:[email protected]]
> Sent: Friday, July 22, 2011 3:15 PM
> To: Mark Diggory
> Cc: [email protected]; Mark H. Wood
> Subject: Re: [Dspace-tech] from aspect to theme
>
> Mark, I think I understand your directions. Sorry if I'm being hard headed
> about this, but I'm hoping that making this change will help me get smarter
> about Manakin and Cocoon.
>
> So, I created the selector. I think it does what is suppose to do.
>
> I've changed the sitemap in the ArtifactBrowse as you suggested. BTW, I
> don't quite understand what the difference is between ArtifactBrowse,
> BrowseArtifacts, and ViewArtifacts. Can you explain it without too much
> trouble?
>
> Here is a the change to the sitemap file. I think it's what you suggested:
>
> <map:match type="HandleAuthorizedMatcher" pattern="!READ">
> <map:select type="WithdrawnSelector">
> <map:when test="true">
> <map:transform type="TombstoneView"/>
> <map:serialize type="xml"/>
> </map:when>
> <map:otherwise>
> <map:select type="AuthenticatedSelector">
> <map:when test="eperson">
> <map:transform type="RestrictedItem"/>
> <map:serialize/>
> </map:when>
> <map:otherwise>
> <map:act type="StartAuthentication">
> <map:parameter name="header"
> value="xmlui.ArtifactBrowser.RestrictedItem.auth_header"/>
> <map:parameter name="message"
> value="xmlui.ArtifactBrowser.RestrictedItem.auth_message"/>
> </map:act>
> <map:serialize/>
> </map:otherwise>
> </map:select>
> </map:otherwise>
> </map:match>
>
> Now, I have my new transformer aspect/artifactbrowse/TombstoneView.java,
> and I'm not exactly sure how to change it. I copied the ItetemViewer.java
> file to TombsotneView.java, but how do I change the output of the body that
> is output? What needs to be output so that the themes know what to do?
>
> Thank you so much for this help!!!!
>
> -Jose
>
> -----Original Message-----
> From: Mark Diggory [mailto:[email protected]]
> Sent: Friday, July 22, 2011 1:48 PM
> To: Blanco, Jose
> Cc: [email protected]; Mark H. Wood
> Subject: Re: [Dspace-tech] from aspect to theme
>
> On Fri, Jul 22, 2011 at 10:28 AM, Blanco, Jose <[email protected]> wrote:
> >
> > Mark, I was kind of trying to do this. I started by creating an
> ItemViewerNew ( transformer ) using the esiting ItemViewer that was already
> there but modifying as necessary to have the reason for withdraw show up on
> the short display. According to what you are saying I should be able to
> create this new ItemViewerNew transformer without ( hopefully ) impacting
> the theme, but I’m not seeing it. Don’t I need a new theme to put the
> reason code just above where the bitstreams are listed, and how do I
> eliminate the capability to click on the link that lets you go to the
> bitstream.
>
> Not if you use the ArtifactBrowser aspect to generate the message,
> basically, your writing the DRI elements in Java rather than looking
> up the METS doc in XML/XSLT calls. You would be doing something like:
>
> Item item = (Item) HandleManager.getObject(handle)
>
> DCValue[] values = item.getMetadata(….).
>
> and then creating a DRI div to hold the message you retrieved.
>
> ------
>
> What I am proposing eliminates your working in the theming layer and
> creating a separate view for rendering the Tombstone that is not
> subject to the complexities your finding in the ItemViewer. For this
> you would be doing the following:
>
> a.) Creating a Transformer and adding DRI sections in its body method
> b.) Looking up the DSpace Item via the provided handle.
> c.) Rendering the message by getting the metadata out of the item for
> the view that is of interest in this case.
>
> This would be the simplest approach to rendering a view and would be
> useful in the next release. You would add:
>
> 1.) TombstoneView.java as a transformer
>
> 2.) Add a section before the "restricted" sections in ArtifactBrowser
> site maps.
>
> 3.) Write a "WithdrawnSelector" that will allow the site map to have
> conditional logic to determine if the item is withdrawn or not.
>
> 4.) Wrap the following section with that selector so that you can
> execute the WithdrawnView on the handle prior to the restricted view
> being evaluated.
>
> <map:select type="AuthenticatedSelector">
> >
> > <map:when
> test="eperson">
> >
> >
> <map:transform type="RestrictedItem"/>
> >
> >
> <map:serialize/>
> >
> > </map:when>
> >
> > <map:otherwise>
> >
> > <map:act
> type="StartAuthentication">
> >
> >
> <map:parameter name="header"
> value="xmlui.ArtifactBrowser.RestrictedItem.auth_header"/>
> >
> >
> <map:parameter
> name="message" value="xmlui.ArtifactBrowser.RestrictedItem.auth_message"/>
> >
> >
> </map:act>
> >
> >
> <map:serialize/>
> >
> > </map:otherwise>
> >
> > </map:select>
>
>
> >
> >
> >
> > From: Mark Diggory [mailto:[email protected]]
> > Sent: Friday, July 22, 2011 11:32 AM
> > To: Blanco, Jose
> > Cc: [email protected]; Mark H. Wood
> >
> > Subject: Re: [Dspace-tech] from aspect to theme
> >
> >
> >
> > Jose,
> >
> >
> >
> > Storing the reason for the withdraw in the metadata is sensible for the
> moment.
> >
> >
> >
> > I'm not so sure you would need to create the second view/DSpaceObject
> type to attain rendering the output of a tombstone page.
> >
> >
> >
> > <xsl:when test="@LABEL='DSpace Item 2'">
> > <xsl:call-template name="itemSummaryList-DIM-2"/>
> > </xsl:when>
> >
> >
> >
> > If a tombstone is put into place when the item is in a withdrawn state.
> AuthorizationManager and the XMLUI are going to try to block access to
> render the item for users without READ permissions on the Item, forcing them
> to view a password login or 403/401 error page that they do not have the
> correct permissions to view the item.
> >
> >
> >
> > I would extend at this point of the XMLUI so that there is another option
> to only render the Tombstone when the XMLUI makes the decision to redirect
> to an error page or a login page. The conditions would then be
> >
> >
> >
> > a.) Withdrawn? forward to tombstone page
> >
> > b.) Restricted? forward to restricted page with choice to login
> >
> >
> >
> > You can just write this tombstone page as a JAVA Transformer and get the
> Item directly. This will allow you to avoid heavily altering the
> DSpaceObject type in the mets generation and the controller logic.
> >
> >
> >
> > By using this approach, you avoid going deep into making rendering
> decisions and having to alter java code and most of the implementation
> should just be in cocoon site maps and xslts.
> >
> >
> >
> > See this decision making in the ArtifactBrowser…
> >
> >
> http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-api/src/main/resources/aspects/ArtifactBrowser/sitemap.xmap
> >
> >
> >
> >
> >
> > <!-- restricted resource -->
> >
> > <map:match pattern="restricted-resource">
> >
> > <map:transform type="RestrictedItem"/>
> >
> > <map:serialize type="xml"/>
> >
> > </map:match>
> >
> >
> >
> >
> >
> > <!-- Handle specific features -->
> >
> > <map:match pattern="handle/*/**">
> >
> >
> >
> > <!-- Inform the user that the item they
> are viewing is a restricted resource -->
> >
> > <map:match
> pattern="handle/*/*/restricted-resource">
> >
> > <map:transform
> type="RestrictedItem"/>
> >
> > <map:serialize type="xml"/>
> >
> > </map:match>
> >
> >
> >
> > and further down the behavior that renders the restricted-resource view.
> >
> >
> >
> > <map:match type="HandleAuthorizedMatcher" pattern="!READ">
> >
> > <map:select
> type="AuthenticatedSelector">
> >
> > <map:when
> test="eperson">
> >
> >
> <map:transform type="RestrictedItem"/>
> >
> >
> <map:serialize/>
> >
> > </map:when>
> >
> > <map:otherwise>
> >
> > <map:act
> type="StartAuthentication">
> >
> >
> <map:parameter name="header"
> value="xmlui.ArtifactBrowser.RestrictedItem.auth_header"/>
> >
> >
> <map:parameter
> name="message" value="xmlui.ArtifactBrowser.RestrictedItem.auth_message"/>
> >
> >
> </map:act>
> >
> >
> <map:serialize/>
> >
> > </map:otherwise>
> >
> > </map:select>
> >
> > </map:match>
> >
> >
> >
> >
> >
> > Augmenting these with further conditional logic to handle that case where
> the item is withdrawn would be to create another selector in java that
> tested if the item was withdrawn and using it to render a transformer that
> got that detail from the DSpace Item directly and rendered it as DRI
> elements without actually retrieving the METS representation. This would be
> something that could be added into the site maps and codebase of the
> ArtifactBrowser aspect without it impacting the theming tier much at all,
> thus other institutions can immediately get the feature on the next upgrade
> without altering their theming.
> >
> >
> >
> > Best,
> >
> > Mark
> >
> >
> >
> > On Fri, Jul 22, 2011 at 7:05 AM, Blanco, Jose <[email protected]> wrote:
> >
> > Mark,
> >
> > I'm working on trying to get tombstone behavior to work in the xmlui
> environment. I have it working on in the jspui webapp.
> >
> > So, I have successfully changed an aspect so that when an item is
> withdrawn a pick list of 3 options ( reasons ) for withdrawing the items is
> presented to the user. I have also changed the code so that the "reason" is
> stored in a newly created dc element ( description.withdrawalreason ). Now
> what I want is for when the user goes to the item, instead of getting an
> authentication request, he/she gets an item view page that looks just like
> the short display but shows the reason just above the where the bitstreams
> are listed and disable the ability to view the bitstream. Here is an
> example from the jspui area:
> >
> >
> > http://deepblue.lib.umich.edu/handle/2027.42/34788
> >
> > So I created a new aspect which is a copy of ItemViewer.pm and have it
> called from the sitemap when there is no READ permission on an Item ( this
> will have to fine tuned to be more specific - like the item has a dc element
> with a withdrawalreason, but for now I can work with this ), so I'm trying
> to change my new ItemViewer file to create a DRI object that will render
> such a page.
> >
> > Does this help better understand where I'm at? This change was fairly
> straight forward in the JSPUI world.
> >
> > -Jose
> >
> > -----Original Message-----
> > From: Mark H. Wood [mailto:[email protected]]
> > Sent: Friday, July 22, 2011 9:15 AM
> > To: [email protected]
> >
> > Subject: Re: [Dspace-tech] from aspect to theme
> >
> > Part of the point of XMLUI's design is that Aspects and Themes aren't
> directly connected. Aspects put stuff into the DRI for any Theme to use (or
> not) as it sees fit.
> >
> > A Theme is selected by the URI path to the page to be composed. An
> Aspect can leave hints upon which a Theme can base decisions, but that's
> about all it can do in that direction.
> >
> > I agree that it would help if we heard more about the behavior you want
> the user to see, not in terms of DSpace components but rather of content,
> composition, and action.
> >
> > --
> > Mark H. Wood, Lead System Programmer [email protected]
> > Asking whether markets are efficient is like asking whether people are
> smart.
> >
> >
> ------------------------------------------------------------------------------
> > 10 Tips for Better Web Security
> > Learn 10 ways to better secure your business today. Topics covered
> include:
> > Web security, SSL, hacker attacks & Denial of Service (DoS), private
> keys,
> > security Microsoft Exchange, secure Instant Messaging, and much more.
> > http://www.accelacomm.com/jaw/sfnl/114/51426210/
> >
> > _______________________________________________
> > DSpace-tech mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/dspace-tech
> >
> >
> > --
> > Mark R. Diggory
> > @mire - www.atmire.com
> > 2888 Loker Avenue East - Suite 305 - Carlsbad - CA - 92010
> > Esperantolaan 4 - Heverlee 3001 - Belgium
>
>
> --
> Mark R. Diggory
> @mire - www.atmire.com
> 2888 Loker Avenue East - Suite 305 - Carlsbad - CA - 92010
> Esperantolaan 4 - Heverlee 3001 - Belgium
>
> ------------------------------------------------------------------------------
> 10 Tips for Better Web Security
> Learn 10 ways to better secure your business today. Topics covered include:
> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys,
> security Microsoft Exchange, secure Instant Messaging, and much more.
> http://www.accelacomm.com/jaw/sfnl/114/51426210/
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
> ------------------------------------------------------------------------------
> 10 Tips for Better Web Security
> Learn 10 ways to better secure your business today. Topics covered include:
> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys,
> security Microsoft Exchange, secure Instant Messaging, and much more.
> http://www.accelacomm.com/jaw/sfnl/114/51426210/
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
> ------------------------------------------------------------------------------
> Got Input? Slashdot Needs You.
> Take our quick survey online. Come on, we don't ask for help often.
> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
> http://p.sf.net/sfu/slashdot-survey
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
--
Mark R. Diggory
@mire - www.atmire.com
2888 Loker Avenue East - Suite 305 - Carlsbad - CA - 92010
Esperantolaan 4 - Heverlee 3001 - Belgium
------------------------------------------------------------------------------
Got Input? Slashdot Needs You.
Take our quick survey online. Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech