Building a DataSet

From EPrints Documentation
Revision as of 14:43, 29 March 2011 by Pm705 (talk | contribs) (Add the dark archive dataset definition)
Jump to: navigation, search

Modify EPrint Status Field

We must start my modifying the eprint_status field so that it can have the new value dark_archive.

push( @{$c->{fields}->{eprint}}, {
  name=>"eprint_status", type=>"set", required=>1,
  options=>[qw/ inbox buffer archive deletion dark_archive /] },
  replace_core=>1 #this flag must be used with EXTREME caution, it makes is very easy to break things
});

Add the dark archive dataset definition

dark_archive => {
     sqlname => "eprint",
     virtual => 1,
     class => "EPrints::DataObj::EPrint",
     confid => "eprint",
     import => 1,
     index => 1,
     filters => [ { meta_fields => [ 'eprint_status' ], value => 'dark_archive', describe=>0 } ],
     dataset_id_field => "eprint_status",
     datestamp => "lastmod",
},
epadmin update_database_structure <repoid>