Hi, I've gotten this working. For others that may be interested, I followed Tim Donohue's recommendation of adding a line into the DSpaceMETSIngester.java file, circa line 92:
params.addProperty("dmd",[value]); e.g.: String userDmd = null; //JG 2015-04-27: Set primary mets:dMd type to PROQUEST. Forces Ethesis deposits to // be ingested using ProQuest's proprietary metadata instead of EPDCX. Other SWORD // deposits will not find PROQUEST in the METS so will go through the usual decision // making process. params.addProperty("dmd", "PROQUEST"); // add this line if (params != null) { userDmd = params.getProperty("dmd"); } ...etc. I renamed the class to DSpaceMETSIngester1.java Edited DSpace.cfg: crosswalk.submission.PROQUEST.stylesheet = crosswalks/sword-proquest-ingest.xsl <---added this line ... mets.default.ingest.crosswalk.PROQUEST = PROQUEST <---added this line ... plugin.named.org.dspace.content.packager.PackageIngester = \ org.dspace.content.packager.DSpaceAIPIngester = AIP, \ org.dspace.content.packager.PDFPackager = Adobe PDF, PDF, \ org.dspace.content.packager.DSpaceMETSIngester1 = METS, \ <----edited this line org.dspace.content.packager.RoleIngester = DSPACE-ROLES Rebuilt DSpace and now it imports EPDCX metadata for standard METS files, and ProQuest's proprietary metadata standard for ETDs sent via SWORD from ProQuest, which contain both EPDCX and the ProQuest metadata in separate <dmdSec> elements. FYI for anyone testing SWORD looking for a client, CURL is the way to go, e.g.: curl -i --data-binary "@sword-2015-04-17(1).original.zip" -H "Content-Disposition: filename=sword-2015-04-17(1).original.zip" -H "Content-Type: application/zip" -H "X-Packaging: http://purl.org/net/sword-types/METSDSpaceSIP" -u sword.u...@ucd.ie:[password] http://researchrepository.ucd.ie/sword/deposit/10197/2878 Joseph -----Original Message----- From: Joseph Greene [mailto:joseph.gre...@ucd.ie] Sent: 27 April 2015 10:00 To: 'Tim Donohue' Subject: RE: [Dspace-tech] SWORD METS ingest -- specify primary dmdSec Thanks Tim, I thought I'd need to modify DSpaceMETSIngester.java -- thanks for the tip. I need to keep SWORD using the METS ingester because our CRIS sends us deposits using EPDCX. Now I'm looking at adding SWORD deposits for e-theses from ProQuest, who have a proprietary dMd type, following a rudimentary EPDCX dMd in the same mets. I'll give it a go and report back to the list. Joseph -----Original Message----- From: Tim Donohue [mailto:tdono...@duraspace.org] Sent: 24 April 2015 20:01 To: Joseph Greene; dspace-tech@lists.sourceforge.net Subject: Re: [Dspace-tech] SWORD METS ingest -- specify primary dmdSec Hi Joseph, That "dmd" param can be passed via the commandline using the 'dspace packager' command (e.g. './dspace packager -t METS -o dmd=MODS'). You can see this parameter as an option if you type this on the commandline: ./dspace packager -t METS -h It can also be specified programmatically using the "PackageParameters" class. That's what the .getProperty("dmd") call is referencing in DSpaceMETSIngester here: https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/ds pace/content/packager/DSpaceMETSIngester.java#L93 Unfortunately though, it looks like there's no way to currently tweak this via SWORD. SWORD initializes its own PackageParameter settings here but doesn't include anything for "dmd": https://github.com/DSpace/DSpace/blob/master/dspace-sword/src/main/java/org/ dspace/sword/SWORDMETSIngester.java#L77 So, the only way (that I can see) to tweak this for SWORD, would be to add some custom Java code to the SWORDMETSIngester. Something along the lines of: params.addProperty("dmd",[value]); The only other option would be to change the "mets-ingester.package-ingester" for SWORD to use "AIP" format as the ingester (though I'm not sure how well that'd work). The AIP ingester defaults to using "DIM" first, then MODS, while the METS ingester looks for MODS first, then simple Dublin Core. - Tim On 4/24/2015 11:40 AM, Joseph Greene wrote: > Hi, > > I've seen in the documentation that it's possible to specify which > metadata section in the METS file gets used in a sword ingest (in > org.dspace.content.packagerDSpaceMETSIngester). I also came across > this, which describes its genesis: > > https://jira.duraspace.org/browse/DS-386 > > I've seen calls to getProperty("dmd") but I don't know where that 'dmd' > property resides -- dspace.cfg? another class calling DSpaceMETSIngester? > Psychic waves? > > Does anyone know how to set the primary <dmdSec>? > > On DSpace 1.8.2, SWORD server 1.0. > > Many thanks, > Joseph > > > Joseph Greene > Research Repository Librarian > James Joyce Library > University College Dublin > (353 0)1 716 7398 > joseph.gre...@ucd.ie > http://researchrepository.ucd.ie > > > > > > ---------------------------------------------------------------------- > -------- One dashboard for servers and applications across > Physical-Virtual-Cloud Widest out-of-the-box monitoring support with > 50+ applications Performance metrics, stats and reports that give you > Actionable Insights Deep dive visibility with transaction tracing > using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > DSpace-tech mailing list > DSpace-tech@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/dspace-tech > List Etiquette: > https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette > ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ DSpace-tech mailing list DSpace-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-tech List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette