[Dspace-tech] Embargo

102 views
Skip to first unread message

Sean Carte

unread,
Aug 25, 2015, 12:25:18 PM8/25/15
to dspac...@lists.sourceforge.net
I've been trying to get embargoes working using DSpace 1.5.1, but I'm
not getting very far. Please could someone give me a push in the right
direction.

I've been following the instructions at:

http://wiki.dspace.org/index.php/User:Emetsger:Embargo:Downloads_here

1) Start postgres and create new database (the patch uses the default
database settings)

2) Check out 1.5.1 from
https://dspace.svn.sourceforge.net/svnroot/dspace/tags/dspace-1_5_1

3) Apply the DSpace Media:Embargo-151.patch.gz file from the base
dspace source directory (You'll need to gzip -d the file first).
[patch -p0 < Embargo-151.patch]

4) cd dspace && mvn package assembly:assembly

I get as far as mvn package asssembly:assembly, which downloads all
the ~/.m2 files but then fails to compile:

dspace@esal-lr:~/dspace-1_5_1/dspace$ mvn -e package assembly:assembly
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] DSpace XML-UI (Manakin)
[INFO] DSpace XML-UI (Manakin) :: Wing-Framework
[INFO] DSpace Kernel :: API and Implementation
[INFO] DSpace XML-UI (Manakin) :: API and Core Aspects
[INFO] DSpace XML-UI (Manakin) :: Web Application Resources
[INFO] DSpace Addon Modules
[INFO] DSpace XML-UI (Manakin) :: Web Application
[INFO] DSpace LNI
[INFO] DSpace LNI :: Core Implementation
[INFO] DSpace LNI :: Web Application Resources
[INFO] DSpace LNI :: Web Application
[INFO] DSpace OAI
[INFO] DSpace OAI :: API and Implementation
[INFO] DSpace OAI :: Web Application Resources
[INFO] DSpace OAI :: Web Application
[INFO] DSpace JSP-UI
[INFO] DSpace JSP-UI :: API and Implementation
[INFO] DSpace JSP-UI :: Web Application Resources
[INFO] DSpace JSP-UI :: Web Application
[INFO] DSpace SWORD
[INFO] DSpace SWORD :: API and Implementation
[INFO] DSpace SWORD :: Web Application Resources
[INFO] DSpace SWORD :: Web Application
[INFO] DSpace LNI :: CLI Client Application
[INFO] DSpace Assembly and Configuration
[INFO] Searching repository for plugin with prefix: 'assembly'.
[INFO] ------------------------------------------------------------------------
[INFO] Building DSpace XML-UI (Manakin)
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [site:attach-descriptor]
[INFO] ------------------------------------------------------------------------
[INFO] Building DSpace XML-UI (Manakin) :: Wing-Framework
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-wing/src/main/resources
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-wing/src/test/resources
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[INFO] ------------------------------------------------------------------------
[INFO] Building DSpace Kernel :: API and Implementation
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] Copying 3 resources
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory
/home/dspace/dspace-1_5_1/dspace/../dspace-api/src/test/resources
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [dependency:copy {execution: jmockit-copy}]
[INFO] Configured Artifact: jmockit:jmockit:0.94:jar
[INFO] jmockit:jmockit:0.94:jar already exists in
/home/dspace/dspace-1_5_1/dspace/../dspace-api/target/dependency
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[INFO] ------------------------------------------------------------------------
[INFO] Building DSpace XML-UI (Manakin) :: API and Core Aspects
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent!
[INFO] Copying 10 resources
[INFO] [compiler:compile]
[INFO] Compiling 14 source files to
/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/target/classes
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java:[39,0]
class, interface, or enum expected

/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java:[41,0]
class, interface, or enum expected

/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java:[42,0]
class, interface, or enum expected

/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java:[43,0]
class, interface, or enum expected

[lots of this ...]

/home/dspace/dspace-1_5_1/dspace/../dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/administrative/item/ConfirmEmbargoItemForm.java:[129,0]
class, interface, or enum expected


[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Compilation failure
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:560)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.CompilationFailureException:
Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
... 16 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10 seconds
[INFO] Finished at: Tue Feb 10 14:41:58 SAST 2009
[INFO] Final Memory: 24M/44M
[INFO] ------------------------------------------------------------------------


dspace@esal-lr:~/dspace-1_5_1/dspace$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
dspace@esal-lr:~$ uname -r
2.6.24-16-server

Ubuntu 8.04.

Postgres 8.3.

Sean
--
Sean Carte
esAL Library Systems Manager
+27 72 898 8775
+27 31 373 2490
fax: 0866741254
http://esal.dut.ac.za/

Sean Carte

unread,
Aug 25, 2015, 12:25:50 PM8/25/15
to dspac...@lists.sourceforge.net
On a different machine, I managed to successfully follow all the steps at:
But I don't see any way to add embargo data to a collection.

I did see in the document that 'currently you have to edit the
embargoselectprofile database table'.

But what do I change? Mine looks like this:

dspace=> SELECT * FROM embargoselectprofile;
profile_id | profile_type | name | values_in_months
------------+--------------+------+------------------
1 | 1 | JHU | 6|12|24|120|180
(1 row)

Reuben Pasquini

unread,
Aug 25, 2015, 12:26:04 PM8/25/15
to Sean Carte, dspac...@lists.sourceforge.net
Hi Sean,

We have a simple embargo setup working on a repository with
a single collection and a simple embargo model.
I can give you a dspace-1.5.1ish-api.jar that implements this
if you like.

Good luck!
Reuben

1. Modify input-submission forms so that a submitter
can set dc:date-available and dc:rights to indicate
an embargo's duration and type (Global or Local).
config/input-forms.xml

<field>
<dc-schema>dc</dc-schema>
<dc-element>date</dc-element>
<dc-qualifier>available</dc-qualifier>
<repeatable>false</repeatable>
<label>Embargo</label>
<input-type
value-pairs-name="etd_embargo">dropdown</input-type>
<hint>
An embargo prevents access to a thesis for a period of time
while the author resolves some issue like a pending patent,
security restriction, or other similar constraint on public
access.
</hint>
<required></required>
</field>
<field>
<dc-schema>dc</dc-schema>
<dc-element>rights</dc-element>
<repeatable>false</repeatable>
<label>Embargo Type</label>
<input-type
value-pairs-name="etd_embargo_type">dropdown</input-type>
<hint>A normal Embargo prevents unauthenticated access to the

thesis, but allows access to members of the
Auburn community that login to the ETD server.
A global embargo also prevents access by Auburn logins.
</hint>
<required></required>
</field>
...
<value-pairs value-pairs-name="etd_embargo_type" dc-term="rights">
<pair>
<displayed-value>Outside Auburn Embargo</displayed-value>
<stored-value>EMBARGO_NOT_AUBURN</stored-value>
</pair>
<pair>
<displayed-value>Global Embargo</displayed-value>
<stored-value>EMBARGO_GLOBAL</stored-value>
</pair>
</value-pairs>

<value-pairs value-pairs-name="etd_embargo" dc-term="date.available">
<pair>
<displayed-value>No embargo - immediate access to
thesis</displayed-value>
<stored-value>NO_RESTRICTION</stored-value>
</pair>
<pair>
<displayed-value>Access to thesis in 6 months</displayed-value>
<stored-value>MONTHS_WITHHELD:6</stored-value>
</pair>
<pair>
<displayed-value>Access to thesis in 1 year</displayed-value>
<stored-value>MONTHS_WITHHELD:12</stored-value>
</pair>
<pair>
<displayed-value>Access thesis in 2 years</displayed-value>
<stored-value>MONTHS_WITHHELD:24</stored-value>
</pair>
<pair>
<displayed-value>Access to thesis in 3 years</displayed-value>
<stored-value>MONTHS_WITHHELD:36</stored-value>
</pair>
<pair>
<displayed-value>Access to thesis in 4 years</displayed-value>
<stored-value>MONTHS_WITHHELD:48</stored-value>
</pair>
<pair>
<displayed-value>Access thesis in 5 years</displayed-value>
<stored-value>MONTHS_WITHHELD:60</stored-value>
</pair>
</value-pairs>


2. Modify
src/main/java/org/dspace/authorize/AuthorizeManager.java
to call out to an EmbargoManager to check if an embargo
is active on an object, but ignore the embargo if the user
has WRITE permission.
svn diff:
Index: src/main/java/org/dspace/authorize/AuthorizeManager.java
===================================================================
---
src/main/java/org/dspace/authorize/AuthorizeManager.java (revision
2942)
+++ src/main/java/org/dspace/authorize/AuthorizeManager.java (working
copy)
@@ -40,11 +40,19 @@
package org.dspace.authorize;

import java.sql.SQLException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;

+import org.apache.log4j.Logger;
+import org.dspace.content.Bitstream;
+import org.dspace.content.Bundle;
+import org.dspace.content.DCValue;
import org.dspace.content.DSpaceObject;
+import org.dspace.content.Item;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
@@ -70,6 +78,7 @@
*/
public class AuthorizeManager
{
+ private static final Logger log =
Logger.getLogger(AuthorizeManager.class);
/**
* Utility method, checks that the current user of the given
context can
* perform all of the specified actions on the given object. An
@@ -236,6 +245,9 @@
return isAuthorized;
}

+
+ private static final EmbargoManager mgr_embargo = new
SimpleEmbargoManager ();
+
/**
* Check to see if the given user can perform the given action on
the given
* object. Always returns true if the ignore authorization flat is
set in
@@ -266,6 +278,11 @@
return false;
}

+
+ //if (log.isDebugEnabled()) {
+ log.info( "authorizing access to object id: " + o.getID () );
+ //}
+
// is authorization disabled for this context?
if (c.ignoreAuthorization())
{
@@ -289,6 +306,18 @@
}
}

+ if ( (Constants.READ == action)
+ && (Constants.BITSTREAM == o.getType ())
+ && mgr_embargo.checkEmbargo( (Bitstream) o, userid )
+ ) {
+ if ( 0 == userid ) {
+ return false;
+ }
+ // a user with WRITE permission on the object does
+ // not need to respect the EMBARGO
+ return authorize( c, o, Constants.WRITE, e );
+ }
+
for (ResourcePolicy rp : getPoliciesActionFilter(c, o,
action))
{
// check policies for date validity


3. Implement the EmbargoManager interface to check if the item
above a bitstream has dc:date-available and dc:rights values
that indicate an active embargo.
A "local access ok" embargo does not apply to an authenticated
user.

package org.dspace.authorize;

import java.sql.SQLException;

import org.dspace.content.Bitstream;

/**
* Controller knows how to check whether an
* embargo is in place on a given thing for a given user
*/
public interface EmbargoManager {
/**
* Check whether an embargo on thing is active
* for user with id i_userid
*
* @return true if an embargo is active
*/
public boolean checkEmbargo ( Bitstream thing, int i_userid )
throws SQLException;
}

--

package org.dspace.authorize;

import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.Logger;

import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
import org.dspace.content.Item;
import org.dspace.content.DCValue;

/**
* Simple implementation of EmbargoManager.
* Hard to unittest this stuff since it's coupled
* strongly with the server environment.
*/
public class SimpleEmbargoManager implements EmbargoManager {
private static final Logger log =
Logger.getLogger(SimpleEmbargoManager.class);

/**
* Check if there's an embargo on the given item -
* dc.issued.date_available and dc.rights
* metadata needs to be checked
*
* @return true if an embargo is still in effect for
* the given item and user
*/
private boolean checkEmbargoOnItem ( Item item, int i_userid ) {
for ( DCValue dc_embargo : item.getMetadata( "dc", "date",
"available", Item.ANY ) ) {
boolean b_embargo = false;
if ( dc_embargo.value.startsWith( "MONTHS_WITHHELD:" ) ) {
DateFormat formatter = new
SimpleDateFormat("yyyy-MM-dd");
Date t_now = new Date ();
int i_months_withheld = Integer.parseInt(
dc_embargo.value.substring( "MONTHS_WITHHELD:".length () ) );

// Frick - figure out if embargo is still in effect
DCValue[] v_issued = item.getMetadata( "dc", "date",
"issued", Item.ANY );
if ( v_issued.length < 1 ) {
log.info( "embargo failed to find ISSUED date for
item: " + item.getID () );
}

for ( DCValue dc_issued : v_issued ) {
String s_date = dc_issued.value;
int i_split = s_date.indexOf( "T" );
if ( i_split > 0 ) {
s_date = s_date.substring( 0, i_split );
}
try {
Date t_issued = formatter.parse( s_date );
// Just a loose estimate - 31 days/month
Date t_embargo = new Date( t_issued.getTime ()
+
(long)
i_months_withheld*31*24*60*60*1000
);
if ( t_now.getTime () < t_embargo.getTime () )
{
// embargo is still in effect!
log.debug( "Embargo in effect on item id: "
+ item.getID () + " t_now: " + t_now + ", t_issued: " + t_issued + ",
t_embargo: " + t_embargo );
b_embargo = true;
} else {
log.debug( "Embargo expired on item: " +
item.getID() + " t_now: " + t_now + ", t_issued: " + t_issued + ",
t_embargo: " + t_embargo );
}
} catch ( java.text.ParseException e ) {
log.info( "Failed to parse date.available
embargo string: " + s_date );
}
break; // Should be exactly 1 issue date
} // endfor - dc:date.issued

if ( b_embargo ) {
if ( 0 == i_userid ) {
// anonymous users are all embargoed
return true;
}

// An authenticated user only has to respect a
// GLOBAL embargo
DCValue[] v_rights = item.getMetadata( "dc",
"rights", null, Item.ANY );
for ( DCValue dc_rights : v_rights ) {
if ( "EMBARGO_GLOBAL".equals( dc_rights.value )
) {
return true;
}
break; // only one
}
// authenticated users can access non-global
embargo items
}
break; // break out of the date.available loop!
}
} // endfor dc:date.available
// no active embargo detected during metadata scan
return false;
}

/**
* Return true if an embargo is in effect on the given thing.
* Application policy determines which users must respect an
embargo.
* Embargo is only checked for BitStream objects by crawling
* up to the Item level and checking for date.available
* metadata specifying MONTHS_WITHHELD:#
* TODO: make this method configurable via a config file
* and plugin mechanism.
*
* @param i_userid of user trying to access thing, 0 == Anonymous
* @param thing to test for embargo
* @return true if an embargo needs enforced, false otherwise
*/
public boolean checkEmbargo ( Bitstream thing, int i_userid )
throws SQLException {
log.info( "checking embargo on bitstream id: " + thing.getID ()
);

// Check for an embargo on the owning item - ugh!
for ( Bundle bundle : ((Bitstream) thing).getBundles () ) {
for ( Item item : bundle.getItems () ) {
if ( checkEmbargoOnItem( item, i_userid ) ) {
return true;
}
} // endfor item
} // endofor bundle

return false;
}
}




>>> Sean Carte <sean....@gmail.com> 2/11/2009 5:27 AM >>>
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with
Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and
code to
build responsive, highly engaging applications that combine the power
of local
resources and data with the reach of the web. Download the Adobe AIR
SDK and
Ajax docs to start building applications
today-http://p.sf.net/sfu/adobe-com
_______________________________________________
DSpace-tech mailing list
DSpac...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Sean Carte

unread,
Aug 25, 2015, 12:26:27 PM8/25/15
to Reuben Pasquini, dspac...@lists.sourceforge.net
2009/2/11 Reuben Pasquini <rdp...@auburn.edu>
>
> Hi Sean,
>
> We have a simple embargo setup working on a repository with
> a single collection and a simple embargo model.

I fear we have very different definitions of 'simple'!

> I can give you a dspace-1.5.1ish-api.jar that implements this
> if you like.

How would I use that?

I managed to follow your steps as far as applying your patch to
AuthorizeManager.java.

I'm not sure that I've managed to reconstruct the patch file with the
line-breaks in the correct places, so I've attached it. Would you mind
taking a look?

I get the following error:

dspace@seanc:~/dspace-1_5_1/dspace-api$ patch -p0 --dry-run <../../AuthMgr.patch
patching file src/main/java/org/dspace/authorize/AuthorizeManager.java
Hunk #2 FAILED at 78.
Hunk #3 FAILED at 245.
Hunk #4 FAILED at 278.
Hunk #5 FAILED at 306.
4 out of 5 hunks FAILED -- saving rejects to file
src/main/java/org/dspace/authorize/AuthorizeManager.java.rej

> Good luck!

I'm not sure that'll be enough!
AuthMgr.patch

Sean Carte

unread,
Aug 25, 2015, 12:26:28 PM8/25/15
to Reuben Pasquini, dspace-tech
2009/2/11 Reuben Pasquini <rdp...@auburn.edu>
>
> Hi Sean,
>
> We have a simple embargo setup working on a repository with
> a single collection and a simple embargo model.

I fear we have very different definitions of 'simple'!

> I can give you a dspace-1.5.1ish-api.jar that implements this
> if you like.

How would I use that?

I managed to follow your steps as far as applying your patch to
AuthorizeManager.java.

I'm not sure that I've managed to reconstruct the patch file with the
line-breaks in the correct places, so I've attached it. Would you mind
taking a look?

I get the following error:

dspace@seanc:~/dspace-1_5_1/dspace-api$ patch -p0 --dry-run <../../AuthMgr.patch
patching file src/main/java/org/dspace/authorize/AuthorizeManager.java
Hunk #2 FAILED at 78.
Hunk #3 FAILED at 245.
Hunk #4 FAILED at 278.
Hunk #5 FAILED at 306.
4 out of 5 hunks FAILED -- saving rejects to file
src/main/java/org/dspace/authorize/AuthorizeManager.java.rej

> Good luck!

I'm not sure that'll be enough!

Sean Carte

unread,
Aug 25, 2015, 12:30:17 PM8/25/15
to dspac...@lists.sourceforge.net
Sorry to resurrect this sad thread, but I'm still stuck and getting
nowhere fast.

Are there plans to include an embargo facility in a future version of DSpace?

Alternatively, has anybody implemented embargoes with an external
script that checks a field in the database. In desperation, I've been
considering doing something along those lines, but I can't find a
suitable field in the database that could be used to restrict access
to a bitstream.

susan rector

unread,
Aug 25, 2015, 12:30:18 PM8/25/15
to Sean Carte, dspac...@lists.sourceforge.net
Sean,
I have an embargo in place in our instance of Dspace. It's not ideal,
but is a workaround.
I can find the docs of what I changed and send to you if helpful. What
have you already implemented? What version of Dspace are you using?
If I'm recalling correctly, the patch I loaded was in SourceForge, and
uses an existing table date field to hold the embargo. Here's an example
of what it looks like on the front end
https://digarchive.library.vcu.edu/dspace/handle/10156/2358

I would also like to resurrect this topic as well - There are several
programs at VCU where grad students and professors alike are hesitant to
open up their work to the public. It would be great if we could
incorporate embargo into a future release of Dspace.

Thanks!
Susan Teague-Rector
Web Applications Manager
VCU Libraries
sete...@vcu.edu

Jason Fowler

unread,
Aug 25, 2015, 12:30:27 PM8/25/15
to susan rector, Sean Carte, dspac...@lists.sourceforge.net
I agree. I was in the shower this morning thinking about how helpful embargo capabilities would be. I would love for that to be included in a future release. It seems as if that would be a pretty simple adjustment to make for the project.
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H

Thornton, Susan M. (LARC-B702)[RAYTHEON TECHNICAL SERVICES COMPANY]

unread,
Aug 25, 2015, 12:30:55 PM8/25/15
to Sean Carte, dspac...@lists.sourceforge.net
Hi Sean,
If you need a field in the database to control embargo, get your
DBA to add one. We have added several custom fields to our database and
it works fine. You just have to keep track of them and make the same
changes in future releases.
Sue

-----Original Message-----
From: Sean Carte [mailto:sean....@gmail.com]
Sent: Thursday, March 05, 2009 5:31 AM
To: dspac...@lists.sourceforge.net
Subject: Re: [Dspace-tech] Embargo

------------------------------------------------------------------------
------
Open Source Business Conference (OSBC), March 24-25, 2009, San
Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the
Enterprise
-Strategies to boost innovation and cut costs with open source
participation
-Receive a $600 discount off the registration fee with the source code:
SFAD
http://p.sf.net/sfu/XcvMzF8H

Sean Carte

unread,
Aug 25, 2015, 12:32:22 PM8/25/15
to dspace-tech
Thanks to all who responded. That was sufficient motivation for me to
have another go at implementing embargoes in 1.5.1. Here's what I've
discovered, and where I'm currently stuck. I hope someone will be able
to nudge me in the right direction.

Embargo on Bitstream (JSP)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
http://wiki.dspace.org/index.php/Embargo_on_Bitstream

This looks like a very nice implementation, requiring only changes to
a few java and jsp files, and no modifications to the database as far
as I can tell. Unfortunately it is only for 1.4.2 and before. Its
author intends to re-implement it for 1.5, but has no immediate plans.

Embargo on Bitstream v2 (JSP)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
http://wiki.dspace.org/index.php/Embargo_on_Bitstream_v2_(JSP)

Officially for 1.4.2, this can be made to work in 1.5.1. The
differences involve hunting down the correct java files and making the
changes there instead of where described in the wiki page. This
implementation treats the embargoed items as withdrawn items until the
embargo period terminates. While this does work, it would be nicer to
have some indication that the item exists though it is embargoed.

User:Emetsger:Embargo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
http://wiki.dspace.org/index.php/User:Emetsger:Embargo
http://wiki.dspace.org/index.php/JHU_Embargo_Patch_Documentation
http://maven.mse.jhu.edu/embargo/faq.html

This looks like the most full-featured implementation, and a patch for
1.5.1 exists. I just wish I could get it to work.

What doesn't seem to be documented anywhere, except in the patch file,
and the item-submission.xml file that it patches, is the crucial
information that it necessary to edit this file and specify the
collection handles that will have embargoes enabled.

With the exception of '<message
key="xmlui.administrative.collection.EditCollectionEmbargo.trail">Embargo
settings</message>' in messages.xml , the patch file already seems to
add everything mentioned in
http://wiki.dspace.org/index.php/JHU_Embargo_Patch_Documentation.

When I try to submit an item, I get an Infernal System Error, the
relevant message from dspace.log seems to be:
2009-03-18 09:05:06,180 ERROR
org.dspace.app.webui.servlet.SubmissionController @ Error loading step
class'org.dspace.submit.step.EmbargoProcessor':
java.lang.ClassNotFoundException: org.dspace.submit.step.EmbargoProcessor

And sure enough, the EmbargoProcessor file is nowhere to be found in
/dspace, though it does exist in my source:

dspace@esal-lr:~$ find dspace-1_5_1/ -name EmbargoProcessor*
dspace-1_5_1/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java
dspace-1_5_1/dspace-xmlui/dspace-xmlui-api/target/classes/org/dspace/submit/step/EmbargoProcessor.class

Do I need to copy this class file file (and presumably others too)
somewhere into the /dspace/webapps tree?

Ryan Scherle

unread,
Aug 25, 2015, 12:32:32 PM8/25/15
to dspace-tech
> Thanks to all who responded. That was sufficient motivation for me to
> have another go at implementing embargoes in 1.5.1.

Yikes! I don't want you to duplicate too much work. Sorry I haven't
had time to post before....

We recently contracted with Mark Diggory and @mire to do exactly this
work. The resultant code is available from our codebase at http://dryad.googlecode.com
and full documentation is available in
http://dryad.googlecode.com/svn/trunk/docs/atMireDocumentation-2009-3.pdf

There is only one small catch: the embargo code sits alongside some
other modifications. I still need to go through the documentation to
pull out the relevant files to create a patch. I won't have time
today, but should be able to get to it later this week. (Of course, if
someone else wants to do this beforehand, you're welcome to.)

--- Ryan Scherle
--- Data Repository Architect
--- National Evolutionary Synthesis Center



Elliot Metsger

unread,
Aug 25, 2015, 12:32:33 PM8/25/15
to dspac...@lists.sourceforge.net

Hi Sean,

Sorry you're having so much trouble with the embargo module.

I've updated the wiki page at
Sean Carte wrote:
>
> This looks like the most full-featured implementation, and a patch for
> 1.5.1 exists. I just wish I could get it to work.
> <snip>
>
> When I try to submit an item, I get an Infernal System Error, the
> relevant message from dspace.log seems to be:
> 2009-03-18 09:05:06,180 ERROR
> org.dspace.app.webui.servlet.SubmissionController @ Error loading step
> class'org.dspace.submit.step.EmbargoProcessor':
> java.lang.ClassNotFoundException: org.dspace.submit.step.EmbargoProcessor
>
> And sure enough, the EmbargoProcessor file is nowhere to be found in
> /dspace, though it does exist in my source:
>
> dspace@esal-lr:~$ find dspace-1_5_1/ -name EmbargoProcessor*
> dspace-1_5_1/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/submit/step/EmbargoProcessor.java
> dspace-1_5_1/dspace-xmlui/dspace-xmlui-api/target/classes/org/dspace/submit/step/EmbargoProcessor.class
>
> Do I need to copy this class file file (and presumably others too)
> somewhere into the /dspace/webapps tree?
>

The updated documentation at
http://wiki.dspace.org/index.php/User:Emetsger:Embargo:Downloads_here should
fix this. I inserted a new step 4, where you run a 'mvn clean install'
prior to step 5 (cd dspace && mvn package assembly:assembly).

After running the ant target to install (or update) DSpace, you should be
able to cd to ${dspace.dir}/webapps/xmlui and run 'jar -tf
WEB-INF/lib/dspace-xmlui-api-1.5.1.jar |grep Embargo' and you should see the
EmbargoProcessor class in the output. Deploy this war to Tomcat. You will
need to update item-submission.xml, and I'll try to update the wiki document
further for that step.

esm:/tmp/dspace/webapps/xmlui$ jar -tf
WEB-INF/lib/dspace-xmlui-api-1.5.1.jar |grep Embargo
org/dspace/app/xmlui/aspect/administrative/collection/EditCollectionEmbargoForm.class
org/dspace/app/xmlui/aspect/administrative/FlowEmbargoUtils.class
org/dspace/app/xmlui/aspect/administrative/item/ConfirmEmbargoItemForm.class
org/dspace/app/xmlui/aspect/submission/submit/EmbargoStep.class
org/dspace/app/xmlui/cocoon/BitstreamReader$WorkflowEmbargo.class
org/dspace/submit/step/EmbargoProcessor.class
esm:/tmp/dspace/webapps/xmlui$

--
View this message in context: http://www.nabble.com/Embargo-tp21933256p22592799.html
Sent from the DSpace - Tech mailing list archive at Nabble.com.


Lyn Amery

unread,
Aug 25, 2015, 12:32:34 PM8/25/15
to dspace-tech


Lyn Amery
Web Analyst/Programmer
State Records Office
(08) 9427 3493
lyn....@sro.wa.gov.au


I'm not overly familiar with metadata schemas and their
possible uses. I'm wondering if I might make use of the
"relation" fields, e.g. dc.relation.ispartof for the
following situation.


We collect archival material from state agencies. In our
previous repository application, we were able to maintain
a linkage between current agency and its predecessors.
Government agencies often change their names and areas
of responsibility - for example, the Survey Office became
the Dept of Lands and Surveys, then it's function was
taken over by the Dept of Lands, etc... The hope is that
when someone searches for survey maps of a particular region
within the Dept of Lands and Surveys, maps from the Survey
Office and the Dept of Lands will also be listed without the
client having to stipulate these in his search or even being
aware that he needs to.

The agency name will be the name of the collection and will
also be included as a metadata field for each item in every
collection. Is it possible to use a dc.relation field at
either the collection or item level to link searches in this
way?

Cheers,
Lyn

Lyn Amery
Web Analyst/Programmer
State Records Office
(08) 9427 3493
lyn....@sro.wa.gov.au


Sean Carte

unread,
Aug 25, 2015, 12:32:35 PM8/25/15
to Ryan Scherle, dspace-tech
2009/3/18 Ryan Scherle <re...@duke.edu>:
>> Thanks to all who responded. That was sufficient motivation for me to
>> have another go at implementing embargoes in 1.5.1.
>
> Yikes! I don't want you to duplicate too much work. Sorry I haven't
> had time to post before....
>
> We recently contracted with Mark Diggory and @mire to do exactly this
> work. The resultant code is available from our codebase at http://dryad.googlecode.com
>  and full documentation is available in
> http://dryad.googlecode.com/svn/trunk/docs/atMireDocumentation-2009-3.pdf
>
> There is only one small catch: the embargo code sits alongside some
> other modifications. I still need to go through the documentation to
> pull out the relevant files to create a patch. I won't have time
> today, but should be able to get to it later this week. (Of course, if
> someone else wants to do this beforehand, you're welcome to.)

Thanks Ryan, that is excellent news. I'll look forward to this.

Sean Carte

unread,
Aug 25, 2015, 12:32:36 PM8/25/15
to Elliot Metsger, dspac...@lists.sourceforge.net
2009/3/19 Elliot Metsger <emet...@jhu.edu>:
>
> Sorry you're having so much trouble with the embargo module.
>
> I've updated the wiki page at
> http://wiki.dspace.org/index.php/User:Emetsger:Embargo:Downloads_here

Thanks Elliot, I'll have another go at this.

Andrew Marlow

unread,
Aug 25, 2015, 12:32:39 PM8/25/15
to Lyn Amery, dspace-tech
On Thu, Mar 19, 2009 at 3:38 AM, Lyn Amery <lyn....@sro.wa.gov.au> wrote:

I'm not overly familiar with metadata schemas and their
possible uses.  I'm wondering if I might make use of the
"relation" fields, e.g. dc.relation.ispartof for the
following situation.


We collect archival material from state agencies.  In our
[snip]
 
AFAIK it is possible but I dont think its desirable. I think there might be some sort of plan to use this metadata for citations. A side effect of this would be that journals could be organised by volume/issue/article. This journal organisation is something I am very interested in for my DSpace-based repository. The organisation is similar to the one used in the periodicals part of the TDL.
--
Regards,

Andrew M.
http://www.andrewpetermarlow.co.uk

Sean Carte

unread,
Aug 25, 2015, 12:32:42 PM8/25/15
to Elliot Metsger, dspac...@lists.sourceforge.net
2009/3/19 Elliot Metsger <emet...@jhu.edu>:
> The updated documentation at
> http://wiki.dspace.org/index.php/User:Emetsger:Embargo:Downloads_here should
> fix this.  I inserted a new step 4, where you run a 'mvn clean install'
> prior to step 5 (cd dspace && mvn package assembly:assembly).
>
> After running the ant target to install (or update) DSpace, you should be
> able to cd to ${dspace.dir}/webapps/xmlui and run 'jar -tf
> WEB-INF/lib/dspace-xmlui-api-1.5.1.jar |grep Embargo' and you should see the
> EmbargoProcessor class in the output.  Deploy this war to Tomcat.  You will
> need to update item-submission.xml, and I'll try to update the wiki document
> further for that step.
>
> esm:/tmp/dspace/webapps/xmlui$ jar -tf
> WEB-INF/lib/dspace-xmlui-api-1.5.1.jar |grep Embargo
> org/dspace/app/xmlui/aspect/administrative/collection/EditCollectionEmbargoForm.class
> org/dspace/app/xmlui/aspect/administrative/FlowEmbargoUtils.class
> org/dspace/app/xmlui/aspect/administrative/item/ConfirmEmbargoItemForm.class
> org/dspace/app/xmlui/aspect/submission/submit/EmbargoStep.class
> org/dspace/app/xmlui/cocoon/BitstreamReader$WorkflowEmbargo.class
> org/dspace/submit/step/EmbargoProcessor.class
> esm:/tmp/dspace/webapps/xmlui$

Sorry if I'm being dense, but I still have the same problem:

2009-03-19 11:09:15,241 ERROR
org.dspace.app.webui.servlet.SubmissionController @ Error loading step
class'org.dspace.submit.step.EmbargoProcessor':
java.lang.ClassNotFoundException: org.dspace.submit.step.EmbargoProcessor
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)

tomcat uses /dspace/webapps, so I don't think I have to move anything
after installation.

Does this mean I still have to move something somewhere:

/dspace/webapps/xmlui$ jar -tf WEB-INF/lib/dspace-xmlui-api-1.5.1.jar
|grep Embargo
org/dspace/app/xmlui/aspect/administrative/item/ConfirmEmbargoItemForm.class
org/dspace/app/xmlui/aspect/administrative/collection/EditCollectionEmbargoForm.class
org/dspace/app/xmlui/aspect/administrative/FlowEmbargoUtils.class
org/dspace/app/xmlui/aspect/submission/submit/EmbargoStep.class
org/dspace/app/xmlui/cocoon/BitstreamReader$WorkflowEmbargo.class
org/dspace/submit/step/EmbargoProcessor.class

Elliot Metsger

unread,
Aug 25, 2015, 12:32:43 PM8/25/15
to dspac...@lists.sourceforge.net



Sean Carte wrote:
>
> Sorry if I'm being dense, but I still have the same problem:
>
> 2009-03-19 11:09:15,241 ERROR
> org.dspace.app.webui.servlet.SubmissionController @ Error loading step
> class'org.dspace.submit.step.EmbargoProcessor':
> java.lang.ClassNotFoundException: org.dspace.submit.step.EmbargoProcessor
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
>
> tomcat uses /dspace/webapps, so I don't think I have to move anything
> after installation.
>

How do you know that tomcat is using /dspace/webapps? Did you modify your
Tomcat configuration?


Sean Carte wrote:
>
> Does this mean I still have to move something somewhere:
>
> /dspace/webapps/xmlui$ jar -tf WEB-INF/lib/dspace-xmlui-api-1.5.1.jar
> |grep Embargo
> org/dspace/app/xmlui/aspect/administrative/item/ConfirmEmbargoItemForm.class
> org/dspace/app/xmlui/aspect/administrative/collection/EditCollectionEmbargoForm.class
> org/dspace/app/xmlui/aspect/administrative/FlowEmbargoUtils.class
> org/dspace/app/xmlui/aspect/submission/submit/EmbargoStep.class
> org/dspace/app/xmlui/cocoon/BitstreamReader$WorkflowEmbargo.class
> org/dspace/submit/step/EmbargoProcessor.class
>

No, if Tomcat is indeed using the xmlui webapp under /dspace/webapps/xmlui,
then you shouldn't need to move anything.

But the error you're getting makes me think that Tomcat isn't using
/dspace/webapps/xmlui. First, the EmbargoProcessor class is on the xmlui
webapp classpath, because it's in your XMLUI
WEB-INF/lib/dspace-xmlui-api-1.5.1.jar file. Second, the class reporting
the error (org.dspace.app.webui.servlet.SubmissionController) is part of
JSPUI, not XMLUI, so I'm not sure how or why you're getting an error from
SubmissionController if you're using the XMLUI webapp under
/dspace/webapps/xmlui.

So, to me, there seems to be something funny with the installation itself...
I'd try a fresh install with a clean Tomcat installation?


--
View this message in context: http://www.nabble.com/Embargo-tp21933256p22601440.html

Sean Carte

unread,
Aug 25, 2015, 12:32:49 PM8/25/15
to dspace-tech
2009/3/19 Elliot Metsger <emet...@jhu.edu>
>
> How do you know that tomcat is using /dspace/webapps?  Did you modify your
> Tomcat configuration?

Yes, I changed the directory in /var/lib/tomcat5.5/conf/server.xml so
I don't have to copy everything across every time I update something.

> No, if Tomcat is indeed using the xmlui webapp under /dspace/webapps/xmlui,
> then you shouldn't need to move anything.
>
> But the error you're getting makes me think that Tomcat isn't using
> /dspace/webapps/xmlui.

Of course, you're right: I was still using the jspui. Stupid me!
Thanks for your help.

Keep well

Sean Carte

unread,
Aug 25, 2015, 12:32:51 PM8/25/15
to Elliot Metsger, dspac...@lists.sourceforge.net
Thank you so much Elliot, that works beautifully!

Massimiliano Cilurzo

unread,
Aug 26, 2015, 1:20:36 PM8/26/15
to dspac...@lists.sourceforge.net

Dear all,

 

       We have DSPACE 4.1, I would like to know if it is possible to add embargo to an item that is without it.

I tried to modify an item but in the administrator tools there isn’t the possibility to add embargo.

Could you help me?

Thanks

Best regards

Massimiliano Cilurzo

Massimiliano Cilurzo

unread,
Aug 26, 2015, 1:21:09 PM8/26/15
to dspac...@lists.sourceforge.net

Hi,

I’d like to know even if it is possible to change the date of an embargo on an item after that it is submitted.

Thanks

Massimiliano Cilurzo

 

 

 

Da: Massimiliano Cilurzo [mailto:mcil...@unisa.it]
Inviato: giovedì 10 luglio 2014 12:00
A: dspac...@lists.sourceforge.net
Oggetto: [Dspace-tech] Embargo

Allegato senza titolo 00636.txt
Allegato senza titolo 00639.txt

Terry Brady

unread,
Aug 26, 2015, 1:21:35 PM8/26/15
to Massimiliano Cilurzo, dspac...@lists.sourceforge.net
Massimiliano,

If you edit an existing item, you can set an authorization policy on it.  When you create the authorization policy, you can set an expiration.

Here is a screen shot of the authorization for one of the items in my system.  The item metadata is visible to anonymous.  The item bitstream will become visible on 8/12/2015.

Inline image 1

Since DSpace 3, when an embargo is provided, the embargo is translated into an authorization policy.

Terry


------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft

_______________________________________________
DSpace-tech mailing list
DSpac...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech



--
Terry Brady
Applications Programmer Analyst
Georgetown University Library Information Technology

Michael White

unread,
Aug 26, 2015, 1:22:43 PM8/26/15
to mcil...@unisa.it, Anthony...@uottawa.ca, dspac...@lists.sourceforge.net
Hi Massimiliano/Anthony,

I'm just back from some extended leave and have come across your recent questions to dspace-tech on Embargoes, but I'm not sure that I saw any replies, so I thought I'd chip in with some comments in case they were helpful (to you or others). Note, we are using JSPUI so if you're using XMLUI I'm not sure how much of this is transferable/applicable.

Firstly Anthony asked:
> - Is the lift date of an embargoed item displayed anywhere (either publicly or as admin)?

At Stirling, the (initial) required embargo end date is entered alongside the basic metadata during workflow by our Repository Librarian into dc.rights.embargoterms (as defined via "embargo.field.terms" in dspace.cfg) - this value is then used by the system during ingest to set the required embargo period by using it to set the Start Date of the Anonymous READ permissions for each of the bitstreams in the Item to this date - so it is obviously possible to display this metadata field on the Simple Item View page via config as an indication of the initial embargo end date for all bitstreams . . .

However, this doesn't display the information at the point it is actually needed/relevant (i.e. alongside the files/bitstreams in the bitstream list), and it also didn't make sense if the Item has multiple files with different embargo statuses (e.g. we sometimes have a version of the full text file that must be embargoed alongside a version that can be made OA, or files with different embargo end dates - see below to see how I achieved this).

Therefore I added a method to the bitstream class to return the embargo end date for a bitstream (or null if not embargoed) by looking for the Start Date for the Anonymous READ Policy for the bitstream, and then I hacked the ItemTag class (that displays the Item View page) to include this information in the bitstream list for each bitstream - you can see an example of this in my v4.1 DEV server at: http://dspace4.stir.ac.uk/handle/1893/19594.

I also added this information to the Administrator's "Authorisations" page (that displays the various Policies for the Item) as another column in the table for each bitstream (labelled "Period") so that the Admin can easily see the actual Anonymous READ Policy Start Date (and/or End Date if set) for each bitstream at a glance - for example see (for the same item as above): http://www.is.stir.ac.uk/misc/storre/DSpace4.1-Authorisations-Policy-Start-Date.png

Massimiliano asked:
> I?d like to know even if it is possible to change the date of an embargo on an
> item after that it is submitted.

- and -

> We have DSPACE 4.1, I would like to know if it is possible to add embargo
> to an item that is without it.

And Anthony asked:
> Is there a tool available to modify the lift date, say, to extend an embargo by 3 months?

This is functionality that we also required here, but I couldn't find a way to do any of this "out of the box" so I implemented my own solution by adding fields to display/modify the Policy Start and End dates on the Add New Policy/Edit Policy screen - example screenshot here: http://www.is.stir.ac.uk/misc/storre/DSpace4.1-EditPolicy-start-end-dates.png

With these fields I can now easily change the Embargo end date for a bitstream (by simply editing the Policy Start Date), or add an embargo to an existing item (by manually adding a Policy Start Date), or have different Embargo statuses or Embargo End Dates for individual bitstreams of an item (by setting different Policy Start Dates for each) - as per the example above: http://dspace4.stir.ac.uk/handle/1893/19594.

What I've done is pretty hacky (and makes assumptions based on our way of working) so it's probably not good enough to contribute back "as is", but I'd be more than happy to share what I've done with anyone interested in seeing if it can be applied in their environment with that caveat.

I think the ability to add/edit Embargo End dates (or Anonymous READ Policy Start Dates) would be a really useful enhancement to "out of the box" DSpace (as might the display of Embargo End dates alongside embargoed bitstreams), so it would be great if this feature could make it into a future version of DSpace . . . . :-)

I hope this is of interest/use.

Regards,

Mike

Michael White
eLearning Liaison and Development (eLD)
Information Services
S8, Library
University of Stirling
Stirling SCOTLAND
FK9 4LA
Email: michae...@stir.ac.uk
Tel: +44 (0) 1786 466877
Fax: +44 (0) 1786 466880
http://www.stir.ac.uk/is/staff/about/teams/aldt/#eld

> -----Original Message-----
> Date: Fri, 11 Jul 2014 08:35:56 +0200
> From: "Massimiliano Cilurzo" <mcil...@unisa.it>
> Subject: [Dspace-tech] I: Embargo
> To: <dspac...@lists.sourceforge.net>
> Message-ID: <00ba01cf9cd2$5f407a00$1dc16e00$@unisa.it>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi,
>
> I?d like to know even if it is possible to change the date of an embargo on an
> item after that it is submitted.
>
> Thanks
>
> Massimiliano Cilurzo
>
>
> Da: Massimiliano Cilurzo [mailto:mcil...@unisa.it]
> Inviato: gioved? 10 luglio 2014 12:00
> A: dspac...@lists.sourceforge.net
> Oggetto: [Dspace-tech] Embargo
>
>
> Dear all,
>
> We have DSPACE 4.1, I would like to know if it is possible to add embargo
> to an item that is without it.
>
> I tried to modify an item but in the administrator tools there isn?t the
> possibility to add embargo.
>
> Could you help me?
>
> Thanks
>
> Best regards
>
> Massimiliano Cilurzo
> _______________________________________________
> DSpace-tech mailing list
> DSpac...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
>
> End of DSpace-tech Digest, Vol 99, Issue 61
> *******************************************
>


--
The University of Stirling has been ranked in the top 12 of UK universities for graduate employment*.
94% of our 2012 graduates were in work and/or further study within six months of graduation.
*The Telegraph
The University of Stirling is a charity registered in Scotland, number SC 011159.


Massimiliano Cilurzo

unread,
Aug 26, 2015, 1:39:14 PM8/26/15
to dspac...@lists.sourceforge.net

Dear All,

   I would ask you a question.

If I put an item in Embargo in DSPACE 4.0, and then I do the harvesting of the metadata.

How I can recognize that this item is with Embargo? There is a metadata field where is written?

If I try to see full item list of metadata I can’t see any field with the embargo.

Thanks

Best regards

Massimiliano

 

Peter Dietz

unread,
Aug 26, 2015, 1:39:16 PM8/26/15
to Massimiliano Cilurzo, dspac...@lists.sourceforge.net
Hi Massimiliano,

Value's that we have used here are:
# DC metadata field to hold the user-supplied embargo terms
embargo.field.terms = dc.description.embargo

# DC metadata field to hold computed "lift date" of embargo
embargo.field.lift = dc.embargo.liftdate

So, items that were embargoed would have a lift-date that is in the future. DSpace doesn't flag the files as being currently embargoed, but it's instead something that gets computed. While it is embargoed, there will be no anonymous read permissions on the bitstreams.

One of the things I've been looking at recently is reporting what content is currently embargoed, which content's embargo has been lifted, and if there is any content in the "grey area" where the embargo isn't set properly (i.e. user-supplied embargo term is present, but the computed lift-date isn't, likely as a result of metadata editing).

________________
Peter Dietz
Longsight
www.longsight.com
pe...@longsight.com
p: 740-599-5005 x809

------------------------------------------------------------------------------


_______________________________________________
DSpace-tech mailing list
DSpac...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Massimiliano Cilurzo

unread,
Aug 26, 2015, 1:39:19 PM8/26/15
to dspac...@lists.sourceforge.net

Dear  Peter,

   I have tried to find the dc.description.embargo and dc.embargo.liftdate but doing the harvesting with OAI-PMH.

We can’t find this fields.

So how I can with OAI find an item with embargo?

Thanks

Best regards

Massimiliano

 

 

Da: Peter Dietz [mailto:pe...@longsight.com]
Inviato: giovedì 6 novembre 2014 21:18
A: Massimiliano Cilurzo
Cc: dspac...@lists.sourceforge.net
Oggetto: Re: [Dspace-tech] Embargo

Peter Dietz

unread,
Aug 26, 2015, 1:39:36 PM8/26/15
to Massimiliano Cilurzo, dspac...@lists.sourceforge.net
Hi Massimiliano,

I don't think that the OAI crosswalk will output those metadata fields. In other words, you might have metadata values in DSpace, but only certain fields (title, author, ...) have built-in crosswalks out. So, if dc.description.embargo isn't present in the OAI harvest, that might be a reason. So you would have to add an entry for each of these metadata fields to appear in the output.

________________
Peter Dietz
Longsight
www.longsight.com
pe...@longsight.com
p: 740-599-5005 x809

Reply all
Reply to author
Forward
0 new messages