Gary,

In the DSpace 1.5 XMLUI, the entire "configurable" submission process is 
controlled by the Cocoon flowscript (javascript) in:

[dspace-src]/dspace-xmlui/dspace-xmlui-api/src/main/resources/Submission/submission.js

The final step that is processed within any configurable Submission 
process (JSPUI or XMLUI) is the "Complete" step.  In particular, the 
processing class at:

org.dspace.submit.step.CompleteStep

Essentially, there are two steps which must *always* exist to allow 
DSpace to function properly: SelectCollectionStep and CompleteStep. 
These two steps are auto-loaded when your /config/item-submission.xml 
configuration file is read by org.dspace.app.util.SubmissionConfigReader

That's all a bit of background...now to your actual question.  There are 
two routes to adding this ID to your "umrestricted" table after an item 
has been submitted:

(1) Change the default CompleteStep to add this ID.  The disadvantage 
here is that the ID will be added *BEFORE* any workflow approval takes 
place (assuming you have collections which may have approval workflows). 
  So, there's still a chance the item may not be approved, and never 
make it into "archived" state in DSpace.

(2) Change the org.dspace.content.InstallItem class to add this ID. 
This 'InstallItem' class is what is called on completion of the workflow 
approval process (if one exists).  It's role is to actually "install" an 
item into DSpace (and assign the official handle, etc).  This is where 
I'd recommend you add your embargo code, as it is only called once an 
item is fully "archived" within DSpace, and it is called once for 
*every* item coming into DSpace.

Hopefully that helps some!

- Tim

Gary McGath wrote:
> I previously asked about general information on finding one's way around 
> Manakin, without success. Taking that to mean that there aren't any 
> overall road maps available, I'll recast my question in terms of what 
> I'm trying to do.
> 
> I am attempting to implement an embargo feature on the XMLUI side of 
> DSpace 1.5. For this, I'm making some use of "Embargo V2" 
> (http://wiki.dspace.org/index.php/Embargo_on_Bitstream_v2_%28JSP%29), 
> but that's oriented toward the JSP user interface, so a lot has to be 
> re-invented. I've figured out large parts of it, and even added Oracle 
> SQL to that page, but need some help on the remaining bits.
> 
> I've added an embargo date to the license page. My code subclasses 
> dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/aspect/submission/submit/LicenseStep.java
> to put the embargo date field into the page, and
> dspace-api/src/main/java/org/dspace/submit/step/LicenseStep.java
> to process the embargo date.
> 
> This ultimately needs to add the ID of the created item to the 
> "umrestricted" table which is defined by Embargo V2, and put the embargo 
> date into the "date.available" metadata for the item. This can only be 
> done at the conclusion of creating the item (or so I assume), but I'm 
> having an oddly hard time figuring out where that final step is done.
> 
> Can someone give me a pointer on that?
> 

-- 
Tim Donohue
Research Programmer, Illinois Digital Environment for
Access to Learning and Scholarship (IDEALS)
University of Illinois at Urbana-Champaign
[EMAIL PROTECTED] | (217) 333-4648

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to