Hi Pablo,

Ideally we'd like to be validating that dc.date.* are all valid ISO8601
dates, but using non-standard values is quite widespread. dc.date.issued:
WWI, or Circa 1950, or Sept 2014, or 2014 Summer, or Unknown.

In your case, the item view / collection view should have some error
handling that prevents the site from crashing in the event of really bad
value. In terms of validating that the value conforms to some normal
convention, I'm not sure what the right thing to do is. Maybe have
metadata-import turn orange (warning) when a date.* value is not ISO8601?

I've had lunch at the Google campus, and they use this power of suggestion
to encourage people to do the right thing. i.e. you have all you can eat,
but fruits and vegetables have a green dot, and fried foods have a red dot.
This could be enough indication for the metadata import to let the user
know that DSpace won't be happy with that value.

________________
Peter Dietz
Longsight
www.longsight.com
[email protected]
p: 740-599-5005 x809

On Fri, Sep 26, 2014 at 3:25 AM, Pablo Buenaposada <
[email protected]> wrote:

>  Hi, in dspace 4.1 when I import an item using the dspace binary there is
> something that I think dspace should check before uploading the item,
> If in dublin_core.xml of the item I put the date issued like this:
>
> <dcvalue element="date" qualifier="issued">&amp;gt;</dcvalue>
>
> It doesn't says nothing about is not a valid date value, it uploads the
> item without problem:
>
> ./dspace import -a -e [email protected] -c 123456789/315 -s importacio
> -m mapfile
> Destination collections:
> Owning  Collection: collection 1
> Adding items from directory: importacio
> Generating mapfile: mapfile
> Adding item from directory item_000
>     Loading dublin core from importacio/item_000/dublin_core.xml
>     Schema: dc Element: identifier Qualifier: doi Value: &gt;
>     Schema: dc Element: identifier Qualifier: uri Value: &gt;
>     Schema: dc Element: title Qualifier: none Value: àá&gt;
>     Schema: dc Element: date Qualifier: issued Value: &gt;
>     Schema: dc Element: identifier Qualifier: citation Value: &gt;
>     Schema: dc Element: publisher Qualifier: none Value: &gt;
>     Schema: dc Element: type Qualifier: none Value: &gt;
>     Schema: dc Element: contributor Qualifier: authors Value: &gt;
>     Processing contents file: importacio/item_000/contents
>     Bitstream: file1.txt
> Processing handle file: handle
> It appears there is no handle file -- generating one
> 0 item_000
> Started: 1411657506117
> Ended: 1411657509036
> Elapsed time: 2 secs (2919 msecs)
>
> But when you try to acces the entire collection it returns an interal
> error page because he can't parse the date issued of the new item:
>
> r:-- URL Was: http://portalrecerca3-dev.csuc.cat/handle/123456789/315
> -- Method: GET
> -- Parameters were:
>
> javax.servlet.ServletException: org.apache.jasper.JasperException:
> java.lang.NullPointerException
>         at
> org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:85)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>         at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>         at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
>         at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>         at org.dspace.app.webui.util.JSPManager.showJSP(JSPManager.java:60)
>         at
> org.dspace.app.webui.servlet.HandleServlet.collectionHome(HandleServlet.java:714)
>         at
> org.dspace.app.webui.servlet.HandleServlet.doDSGet(HandleServlet.java:230)
>         at
> org.dspace.app.webui.servlet.DSpaceServlet.processRequest(DSpaceServlet.java:119)
>         at
> org.dspace.app.webui.servlet.DSpaceServlet.doGet(DSpaceServlet.java:67)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
> org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>         at
> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>         at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:724)
> Caused by: org.apache.jasper.JasperException:
> java.lang.NullPointerException
>         at
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
>         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at
> org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
>         ... 32 more
> Caused by: java.lang.NullPointerException
>         at org.dspace.content.DCDate.getMonthUTC(DCDate.java:368)
>         at org.dspace.content.DCDate.displayUTCDate(DCDate.java:520)
>         at org.dspace.content.DCDate.displayDate(DCDate.java:487)
>         at org.dspace.app.webui.util.UIUtil.displayDate(UIUtil.java:249)
>         at
> org.dspace.app.webui.util.DateDisplayStrategy.getMetadataDisplay(DateDisplayStrategy.java:27)
>         at
> org.dspace.app.webui.util.ASimpleDisplayStrategy.getMetadataDisplay(ASimpleDisplayStrategy.java:60)
>         at
> org.dspace.app.webui.jsptag.BrowseListTag.doStartTag(BrowseListTag.java:689)
>         at
> org.apache.jsp.collection_002dhome_jsp._jspService(collection_002dhome_jsp.java:637)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
>         ... 38 more
>
>
> Should not the import command check the date issue valued before importing
> the item?
>
> ------------------------------
>
>
>
> Pablo Buenaposada
>
> Tècnic de Càlcul i Aplicacions
>
> Consorci de Serveis Universitaris de Catalunya (CSUC)
>
>
>
> Gran Capità, 2 (Edifici Nexus) ● 08034 Barcelona
>
> T. 93 551 6220 ● F. 93 205 6979 ● [email protected]
>
>
>
> www.csuc.cat ● Twitter @CSUC_info ● Facebook ● Linkedin
>
> Subscriu-te al butlletí (www.csuc.cat/butlleti)
>
>
> ------------------------------
>
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> DSpace-tech mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
> List Etiquette:
> https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette
>
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Reply via email to