[EP-tech] Out of sync? Changed type of a custom field: Adding field column now renders review table of some users empty
Florian Heß
hess at ub.uni-heidelberg.de
Wed Mar 7 16:13:48 GMT 2012
Hi. :-)
Our custom field "wer" in eprint dataset signifies the editor who
declared their sole further responsibility in the workflow of a
particular item. It is hidden by show_in_fieldlist => 0 in
cfg.d/eprint_fields.pl to meet institutional privacy rules. (btw: Wish I
could set show_in_fieldlist => 'staff' or so ...)
Recently, in order to make the equivalence match on that field work, I
changed the type of the field from TEXT to ID. The field serves as one
of two OR'ed editorial scope restriction criteria [cf. earlier post].
Since then and after reloading configuration, updating the database and
restarting the webserver, however, admin and some few editors who have
an unrestricted editorial scope (but there might be more, I am not sure)
do not see any items.
Reloading config as well as restarting Apache once more did not solve
the problem, neither did a `bin/epadmin recommit $repo user $admin_id`.
The indexer ticks well and reindexing did not brought me any further.
The problem does *not appear* when using the API:
eprints:~$ perl -I ~/perl_lib/ -MEPrints
print EPrints->new->repository( "REPO_ID" )
->user_by_username( "admin" )
->editable_eprints_list(
filters => [{
meta_fields => [qw|eprint_status|],
value => "buffer"
}]
)->count
, " items should be listed for review.\n"'
;
67 items should be listed for review.
These 67 records *are* displayed in the web interface when admin removes
the "wer" column in the review table.
When I reset the user's review_fields setting by EPrints API to the
default as defined in cfg.d/user_fields_default.pl ...
eprints:~$ perl -I ~/perl_lib/ -MEPrints
$repo = EPrints->new->repository("REPO_ID");
$user = $repo->user_by_username("admin");
$user->set_value(
review_fields => [
"status_changed", "creators_name", "title",
"type", "userid", "wer"
]
);
$user->commit;
Et voilà: Review table is empty, without last "wer" array element again
it is filled.
After all, this looks like a problem with some cached data left
unrefreshed. My question then is what to reset or drop manually?
As a last resort I can simply create a new user account. That would do
even with above default setting, a test was successful, but that is not
a proper solution. I would prefer to understand what is going wrong and
maybe you like to be informed about that phenomenon. :-)
Kind regards,
Florian Heß
ps. sorry, a complicated problem makes a long email, wrote it while I
examined ...
--
Heidelberg University Library
Plöck 107-109, 69117 HD, Germany
- Informationstechnik
- WWW-Redaktion
http://www.ub.uni-heidelberg.de/
More information about the Eprints-tech
mailing list