Hi Tom

Sorry to re-open a topic from January, but I was wondering if you had managed 
to make the changes so you can have more than one import type loading without 
changing the configuration files?  If so, are you happy to share them?  We have 
written a jspui front end for this functionality and want users to be able to 
select the import type from a drop down.

Thanks

Claire

Claire Knowles
Library and University Collections
University of Edinburgh


From: Konstantinos Stamatis <[email protected]<mailto:[email protected]>>
To: 'Thomas Misilo' <[email protected]<mailto:[email protected]>>, dspace-tech 
<[email protected]<mailto:[email protected]>>
Subject: Re: [Dspace-tech] Uploading Bibliographic information from RefWorks

Dear Tom,

Regarding your first question, the fact is that you cannot have different 
configurations based on the import type. However, there are two 
solutions/tricks that you can try and help you in this point.


1)      Since bte.xml file is a Spring Configuration file for Dependency 
Injection, you can isolate some of the beans in different files. Then, In the 
main file (bte.xml) you can import the file you like with the specific 
configuration for the specific import type using the following code snippet


                <import resource="classpath:spring-config.xml" />



It is not perfect because you will have to change the xml when you change the 
import type. However, it’s easier than changing all the beans.



2)      As you can see from here: 
https://code.google.com/p/biblio-transformation-engine/ BTE has a 
transformation workflow that can consist of Modifiers. Modifiers are there to 
change your records. We have shipped a specific modifier with BTE called 
FileKeyRenameModifier (http://bit.ly/Wh5GoP). This modifier is responsible of 
reading a map file to transform from one schema to another. BTE has such files 
by default (for example http://bit.ly/YkJf0q which is a bibtex to dc mapping). 
If you use a modifier like this, you can have many mapping files with the 
“key_after” value be the same for all cases, and finally, in your bte.xml file 
use only the values for dc. So instead of having mapping from A to DSpace, B to 
DSpace, C to DSpace and so on in your bte.xml, you can have mappings A to DC, B 
to DC, C to DC in different files and another one mapping DC to DSpace in your 
bte.xml. So, what you need to do is summarized here:

a.       Copy/Create mapping files from your input format to dc

b.      Enable modifiers in the bte.xml by adding a step in the 
TransformationWorkflow bean
<property name="steps">
                <list>

<ref bean="fileKeyRenameModifier"/>
                                                </list>
                                </property>

c.       Create the modifier bean:

<bean id="fileKeyRenameModifier"

                                
class="gr.ekt.transformationengine.modifiers.FileKeyRenameModifier">

                                <property name="filename" 
value="/input/bibtex2dc_keymapping.xml"/>

</bean>

d.      Change the mapping xml file according to your import type

e.      Configure output generator to use the new values

Regarding the second question, again you can use a modifier to change the 
values of a field. But in this case, you will need to write the modifier class 
by your own. All you need to do, is to write  a class (by extending our 
abstract Modifier) and implement a method. In this modifier, you can have 
access to the record, and by using the Record class methods you can 
add/remove/change the values. For instance, you can keep author in a local 
variable, delete this field and create a new one with the same name, but now do 
not forget to split the author value. Each field within a record can have a 
list of values. For more information, please check the google code site 
https://code.google.com/p/biblio-transformation-engine/ and in the downloads 
section you can find sample projects and documentation.

If you have any other specific question, please contact me either through this 
list or directly via email.

Best regards,

kostas


From: Thomas Misilo [mailto:[email protected]]
Sent: Wednesday, January 30, 2013 5:09 PM
To: 'Konstantinos Stamatis'; 
[email protected]<mailto:[email protected]>
Subject: RE: [Dspace-tech] Uploading Bibliographic information from RefWorks

Thanks Kostas for the information,

I have started looking at this, and am able to get Bibtex working item by item 
(trying to narrow out the bad ones). I was wondering if there is any thoughts 
to have different configuration files based on the import type? That way one 
does not need to change the bte.xml depending on the format they are using to 
import the data? Second, I do not think it is possible at least by default, to 
be able to split on multiple authors in a Bibtex authors line, and maybe be 
able to intelligently split the first and last name up correctly?

Thanks,

Tom

From: Konstantinos Stamatis [mailto:[email protected]]
Sent: Wednesday, January 30, 2013 2:46 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [Dspace-tech] Uploading Bibliographic information from RefWorks


Dear Thomas,



At the very beginning, we would like to thanks you for trying to use EKT’s 
contribution to DSpace in order to load records in your system.



As far as the bibtex exception concerns, it seems that the problem relies on 
jbibtex library rather on the BTE implementation. My guess is that the exported 
bibtex file includes invalid characters or something like that.



Regarding the issue that Endnote or RIS data are imported with no values in the 
various fields, keep in mind that you have to specify your configuration in the 
following file: dspace/config/spring/api/bte.xml



In this file, you have to specify in the output generator bean (<bean 
id="outputGenerator" 
class="gr.ekt.transformationengine.outputGenerators.DSpaceOutputGenerator">) 
the schemas that you have in your DSpace installation and then, in each of 
these schemas you need to specify a list of pairs (name of the field of the 
imported data + the name of the schema element) like the following XML snippet :



<key>

  <value>Title</value>

</key>

<ref bean="titleDSpaceMetadata" />



In the case of RIS format, values must be terms like AU, TY, PY and so on. The 
default value “Title” is not going to work in your case.

The reference bean (titleDSpaceMetadata) must declare the element and qualifier 
of your DSpace schema like the following lines:



<bean id="titleDSpaceMetadata" 
class="gr.ekt.transformationengine.dspace.DSpaceMetadata">

  <property name="schema" value="dc" />

  <property name="element" value="title" />

</bean>



Hope it helps.



Should you need any further help, we would be more than happy to help you.





Best regards,



Kostas Stamatis

National Documentation Center, Athens, Greece













On 1/29/13 10:55 AM, "Thomas  Misilo" <misilot@...<mailto:misilot@...>> wrote:



>Hi,

>

>I was wondering if anyone has used the new bibliographic upload for

>DSpace 3.0 yet with a refworks bibtex file?

>

>Below is what I have tried, and the ouput I got. If you want the refworks

>bibtex file, I can

>

>dspace import -b -m refworks-map.map -e misilot@... -c 123456789/6856

>-s refworkstest.txt -i bibtex

>INFO [main] (DSpaceKernelInit.java:52) - Created new kernel:

>DSpaceKernel:org.dspace:name=cf20d3c4-227c-4adb-82da-1def97a034c7,type=DSp

>aceKernel:lastLoad=null:loadTime=0:running=false:kernel=null

>INFO [main] (ConfigurationManager.java:1224) - Loading from classloader:

>file:/srv/dspace/config/dspace.cfg

>INFO [main] (ConfigurationManager.java:1224) - Using dspace provided log

>configuration (log.init.config)

>INFO [main] (ConfigurationManager.java:1224) - Loading:

>/srv/dspace/config/log4j.properties

>Destination collections:

>Owning  Collection: Bibupload Holding

>INFO: Dataloader

>gr.ekt.transformationengine.dataloaders.dspace.BibTexDataLoader@<mailto:gr.ekt.transformationengine.dataloaders.dspace.BibTexDataLoader@>...

>will be used for the import!

>Started: 1359477659086

>Ended: 1359477660013

>Elapsed time: 0 secs (927 msecs)

>Exception: Lexical error at line 1, column 79.  Encountered: "\u03b7"

>(951), after : ""

>org.jbibtex.TokenMgrError: Lexical error at line 1, column 79.

>Encountered: "\u03b7" (951), after : ""

>        at

>org.jbibtex.LaTeXParserTokenManager.getNextToken(LaTeXParserTokenManager.j

>ava:303)

>        at org.jbibtex.LaTeXParser.jj_scan_token(LaTeXParser.java:408)

>        at org.jbibtex.LaTeXParser.jj_3R_6(LaTeXParser.java:270)

>        at org.jbibtex.LaTeXParser.jj_3_3(LaTeXParser.java:253)

>        at org.jbibtex.LaTeXParser.jj_2_3(LaTeXParser.java:242)

>        at org.jbibtex.LaTeXParser.String(LaTeXParser.java:190)

>        at org.jbibtex.LaTeXParser.Object(LaTeXParser.java:66)

>        at org.jbibtex.LaTeXParser.ObjectList(LaTeXParser.java:46)

>        at org.jbibtex.LaTeXParser.LaTeX(LaTeXParser.java:21)

>        at org.jbibtex.LaTeXParser.parse(LaTeXParser.java:16)

>        at

>gr.ekt.transformationengine.dataloaders.dspace.BibTexDataLoader.parseLaTeX

>(BibTexDataLoader.java:169)

>        at

>gr.ekt.transformationengine.dataloaders.dspace.BibTexDataLoader.loadData(B

>ibTexDataLoader.java:132)

>        at

>gr.ekt.transformationengine.core.TransformationEngine.transform(Transforma

>tionEngine.java:111)

>        at

>org.dspace.app.itemimport.ItemImport.addBTEItems(ItemImport.java:649)

>        at org.dspace.app.itemimport.ItemImport.main(ItemImport.java:575)

>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

>        at

>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:

>57)

>        at

>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm

>pl.java:43)

>        at java.lang.reflect.Method.invoke(Method.java:616)

>        at

>org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)

>

>

>

>I was able to load the data via an EndNote export from RefWorks, however

>all it did was create the ~400 records, with all Unknown data.

>

>Thanks for any help,

>

>Tom

>


-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.


------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&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