elexis-eu / lexonomy

A cloud-based, open-source system for writing and publishing dictionaries.
http://www.lexonomy.eu/
MIT License
86 stars 29 forks source link

Sketch Engine connection database not individual based #218

Open iztokkosem opened 4 years ago

iztokkosem commented 4 years ago

We are using the Sketch Engine connection (via our own plugin), and we found it would be useful that the project admin who sets up the database can also set Sketch Engine link settings for the entire team. Namely, currently, each user needs to insert his/her API code etc., plus upload GDEX configuration. This would mean that anyone who is given access to the database is automatically able to use all the features existing users use.

rambousek commented 4 years ago

@iztokkosem You mean configuring connection for whole local installation? Or for one dictionary?

iztokkosem commented 4 years ago

For one dictionary.

rambousek commented 4 years ago

Only setting that is not shared for all dictionary users is SkE API key. That would mean adding SkE API key to "Configure-Sketch Engine connection" page. Is there something else that should be added?

iztokkosem commented 4 years ago

I guess GDEX configuration, or does that come automatically with the SkE API key and the settings attached to the user of that key?

rambousek commented 4 years ago

GDEX configuration is set in SkE.

I discussed this with @mjakubicek and we came up with better option then storing user API key in dictionary config (because of security issues). How about option to "clone" user and his setting? Eg. you have one "template" user with SkE API key configured, and based on this template, you'll create several user account for each dictionary editor. All the users will share Sketch Engine setting.

iztokkosem commented 4 years ago

Hm, not sure if I understand your solution. Lexonomy works in a way where you assign users by their Lexonomy email, and then give them the rights. Normally, there is one (or a few) admins with access to configuration settings, ability to download/upload. Others are only allowed to edit. So are you suggesting that on the list of users, you would choose "default" user for Sketch Engine API (this would be optional, I guess)? This would mean any API settings by others (let's assume others also have API access set up) would be overridden in that particular dictionary. This option would only be allowed for dictionary admins.

mjakubicek commented 4 years ago

You need to differentiate between properties of a dictionary (who has access and at which level) and properties of a user (API key to Sketch Engine). The latter is strictly per user not per dictionary.

rambousek commented 2 years ago

Do we want to support SkE API key per dictionary? Or sticking with the user only API key? @mjakubicek @iztokkosem