Closed
Milestone
started on Aug 5, 2021
Username as identifier
We will use the username as identifier instead of smis pk SC_MAT
.
- create a list of all icat users and corresponding username: creation of usernames is needed when missing.
- backup DB
- Replace the identifier in ICAT DB:
User.name
- Implement a merging mechanism that will merge two accounts (ICAT:
InvestigationUser
,InstrumentScientist
,User
- MongoDB:events/username
,addresses/createdBy
) - Manage the affiliation (there is a meeting about that in summer within the ICAT collaboration). We might need to upgrade (question)
- Replace the identifier in the logbook DB (or sort of) :
events/username
,addresses/createdBy
, etc. - Implement a new auth plugin that works with the username instead of the email.
- Update the synchronization SMIS/ICAT
To avoid to loose the affiliation link, we could keep the smisPk in the icat database in User.name
: username + smisPk, separated by a slash. For example puri/281439
.
In this case, we need:
- backup DB
- Update the identifier in ICAT DB:
User.name
- No change of the identifier in the logbook DB :
events/username
,addresses/createdBy
, etc. check it could work with this new name format. - Implement a new auth plugin that works with the username instead of the email.
- Update the synchronization SMIS/ICAT
- Change UI to allow the user to login with previous affiliation (based on creationDate?)
Test plan:
- create a new auth plugin
authn-esrf-username
based on the mr https://gitlab.esrf.fr/icat/authn-esrf/-/merge_requests/4, deploy - add new plugin in icat-server plugin, redeploy
- change plugin in E-DataPortal test
- deploy ingester on
bcu-mq-04
from https://gitlab.esrf.fr/icat/icat-ingester/-/merge_requests/16 - update name for some test users by replacing the smisPk by
username/smisPk
Deployment plan:
- stop bcu-mq-07 08 03
- backup table
CREATE TABLE USER_backup AS SELECT * FROM USER_;
- deploy authn-esrf on ovm-icat2
- update icat.server to use authn-esrf 2.2
- update 1 user (bodin) and test connection with icat+ and E-DataPortal
- test logbook
- fix users manually
- generate update scripts with creation of missing username
- stop icat+
- update username in DB
- deploy icat+ E-Dataportal
- deploy and test ingester
Loading
Loading
Loading
Loading