EPrints Technical Mailing List Archive

Message: #04730


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: Best way to import local (or remote) files through EPrints' XML file


Hi again, John,

It almost worked. The file was imported OK (I could see that through a consequent export), but it was absent from the deposit menu (view or edit). I uploaded a file from the menu, and from the export file the difference was that the uploaded file was within <documents><document></document></documents> tags. When I added them (without any contents), the file was imported as expected, but I received some warnings:

Starting EPrints Repository.
Connecting to DB ... done.
Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value in subroutine entry at /usr/share/eprints3/bin/../perl_lib/EPrints/MetaField/Id.pm line 50. Use of uninitialized value $format in split at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1684. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689. Use of uninitialized value $major in concatenation (.) or string at /usr/share/eprints3/bin/../perl_lib/EPrints/DataObj/Document.pm line 1689.
Number of records imported: 1
267
Ending EPrints Repository.


The first warnings are always shown in my installation; the Document.pm part is new. As it seems, some values are not initialised correctly. Nonetheless, the import works, and when I visit the edit page, the missing fields are indicated. So the next thing I'll do is to infer their contents from their DSpace counterparts.

Thanks again, when I manage to import it without a warning, I'll mark the thread as [SOLVED]. But I'll continue with my trials tomorrow.

Have a nice evening everyone!

George.

On 22/09/2015 05:06 μμ, John Salter wrote:
Hi George,
I think this: http://wiki.eprints.org/w/Import_From_URL is still valid - if your folder is copied onto the EPrints server, you can use a 'file' url:
<files>
           <file>
                 <filename>stuff.txt</filename>
                 <url>file:///home/data/dspace/123/stuff.txt</url>
           </file>
<files>

I'm not sure exactly which bits of metadata are required - e.g. whether EPrints will calculate the filesize if you don’t specify it, and whether it will work out the mime-type.

Cheers,
John


-----Original Message-----
From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of George Mamalakis
Sent: 22 September 2015 14:41
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Best way to import local (or remote) files through EPrints' XML file

Hi everybody!

I'm very close to finishing my EPrints configuration + migration from
DSpace. The main thing that remains to be done, is the data migration part.

I've written a python script that generates an EPrints XML file based on
a DSpace csv file, that I'll upload to EPrints Wiki when it'll be done.

In order to complete it, I need to add the file, and I am not aware as
to what syntax I should use. I have a local folder whose subfolders
contain all DSPace files, where each subfolder name is the record id.
Therefore, my folder structure is somewhat like this:

/home/data/dspace/{record_id}

where {record_id} is the DSpace id of the specific record. What are the
minimum XML attributes that have to be added in my XML file in order for
EPrints to import the files? And how would an example XML entry look
like based on our example folder structure?

Thanks all in advance!



--
George Mamalakis

IT and Security Officer,
Electrical and Computer Engineer (Aristotle Univ. of Thessaloniki),
PhD (Aristotle Univ. of Thessaloniki),
MSc (Imperial College of London)

School of Electrical and Computer Engineering
Aristotle University of Thessaloniki

phone number : +30 (2310) 994379