EPrints Technical Mailing List Archive

Message: #05693


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

Re: [EP-tech] Simple meta data select list populated by file?


Just to follow up, what I tried out was having my remote script generate two files, one for the namedset and one for a corresponding phrases file which I just called research_units.xml and it appeared to work just fine.

 

If there is a better way to do it, though, I’d love to hear!

 

Andy

 

 

From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Andrew Collington
Sent: 12 May 2016 12:31 pm
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Simple meta data select list populated by file?

 

Hi all,

 

Is it possible to have a simple, multi-select list as a new metadata field but have the values populated by a files?  What I’ve got is a list of research units that may dynamically change (they’re stored in an Oracle database).  The simplest thing I thought would be possible is to just generate an alphabetical list of those units into a file and use that file as the options in the select list.

 

What I thought I could try first was a namedset, so I added to eprints_fields.pl the following:

 

     {
             allow_null => 1,
             multiple => 1,
             name => 'research_units',
             required => 0,
             set_name => 'research_units',
             type => 'namedset',
     },

 

And added the namedsets/research_units file with the list of units (one per line).  Naturally that didn’t work – clearly I misunderstood the namedsets a bit as it still required a phrase set up for each entry.

 

I could possibly use the ‘subjects’ file and set up a new group within that.  Ideally, though, I’d like to avoid touching that file altogether as the units may change over time and I’d like to automate the process of getting the new list into eprints.

 

If it’s not possible to populate from a simple file, then are there any other options?  Would it come down to writing my own dataset object (or something like that?), or could the result be taken from a remote web service or something like that?

 

Many thanks for any hints in the right direction!

 

Andy