[EP-tech] Re: Understanding how data objects link
Sebastien Francois
sf2 at ecs.soton.ac.uk
Wed Jan 15 12:42:24 GMT 2014
On 15/01/14 12:30, Ian Stuart wrote:
> On 15/01/14 12:02, Sebastien Francois wrote:
>> On 15/01/14 12:00, Ian Stuart wrote:
>>> Yes!! good hint!
>>> That sent me off to look at the History dataObj - and that showed that I
>>> needed:
>>>
>>> { name=>"datasetid", type=>"text", text_index=>0, },
>> Just a detail - /datasetid/ should be of type "id" not "text"
> Nope - text
>
> In DataObj::SubObject::get_parent -
>
> $datasetid = $self->get_value( "datasetid" ) unless defined $datasetid;
> $objectid = $self->get_value( "objectid" ) unless defined $objectid;
>
> my $ds = $session->get_repository->get_dataset( $datasetid );
> my $parent = $ds->get_object( $session, $objectid );
>
> .... and both of these calls are looking for string names
>
> (but I'll test some more)
>
"Id" doesn't imply "numerical" - Id fields don't get text indexed and
are retrieved via an EXact match.
===
perldoc EPrints/MetaField/Id.pm:
EPrints::MetaField::Id(3) User Contributed Perl Documentation
EPrints::MetaField::Id(3)
NAME
EPrints::MetaField::Id - an identifier string
DESCRIPTION
Use Id fields whenever you are storing textual data that needs
to be matched exactly (e.g. filenames).
===
See User::username for a real example.
Note that a number of fields in EPrints are wrongly of type "text" (e.g.
eprint.dir, eprint.source etc...)
Seb.
More information about the Eprints-tech
mailing list