EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #09114


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

[EP-tech] Virtual fields -when does the 'cost' of processing get triggered?


CAUTION: This e-mail originated outside the University of Southampton.

Hi All,

I'm looking adding a 'virtualwithvalue' (https://bazaar.eprints.org/452/1/plugins/EPrints/MetaField/Virtualwithvalue.pm) field to my EPrints install that does a search of the EPrint history, finding the first record, and returning the datestamp for that history item (i.e. the date the EPrint was created).

https://gist.github.com/jesusbagpuss/8b899eb0eb9b2b733eead25c6dfd5973

 

I was thinking about the processing overhead for this field, and wondered when the value is actually calculated. I guess it's one of these options:
- when the object is created in memory e.g. via an EPrints::DataObj::EPrint->new() call
- when the value is referenced e.g. $eprint->value( "virtualwithvalue_field" ) ;

 

If it's the first option, I should add the field to the EPrint dataobj as a non-virtual field, and calculate it once if the value is not set, and then store it.

If it's the second option, then the overhead is lower (although I might still want to do the above).

 

I could trace this through the system myself - but thought (hoped) that someone might know… J

 

Cheers,

John

 

John Salter

https://orcid.org/0000-0002-8611-8266

 

White Rose Libraries Technical Officer
IT - Application Support (Research)
10.23B, IT Services Building
University of Leeds
Leeds
LS2 9JT