DMPRoadmap / roadmap

DCC/UC3 collaboration for a data management planning tool
MIT License
102 stars 109 forks source link

Add field `org_name` for custom organisation in plan record? #3113

Open nicolasfranck opened 2 years ago

nicolasfranck commented 2 years ago

Please complete the following fields as applicable:

What version of the DMPRoadmap code are you running? (e.g. v2.2.0)

3.0.3

Expected behaviour:

Filling in a custom organisation should not create an org, but should remain "text" in the plan record

Actual behaviour:

filling in a custom organisation in a org field in the project detail page creates a real org. It seems to be the main way to fill in this org_id field: create an org, and then attach its foreign key to it. Now we have lots of unmanaged orgs with texts ranging from "" to "I do not know".

Why not use the old way, i.e. add an extra (text) field org_name that can store that custom org? A single field org_id seems like a simpler solution from a model perspective, but it creates as many orgs as there are plans.

Of course that does not fix the old unmanaged orgs. And you'll have to make a preference choice between org_id and org_name, or just make sure (at model level) that only one is filled in.

Steps to reproduce:

briri commented 2 years ago

Update your config so that restrict_orgs is set to true. This will prevent users from creating orgs.

We moved away from the old single field in the plans table because of the duplication of org names in that table (e.g. 'university of somewhere', 'University of Somewhere', 'U of Somewhere', etc.) and a desire to move towards the use of the ROR api to support machine actionable DMP functionality. At the time of development we did not think that users would be impatient and NOT select an item from the autocomplete or that they would start typing 'No funder' or 'I don't know' instead of just leaving it blank. Unfortunately it was quite common. The above flag prevents this going forward.

I'm in the process of cleaning up our system and can report that it is unfortunately a tedious and manual process. I have some scripts that you can use to help identify potential duplicates but it still requires a human to verify.

nicolasfranck commented 2 years ago

Or let the user made that decision: either select from a fixed list, or fill in your own organisation name; and make sure that only of those is active at the same moment. A bit like the selection procedure in the old DMPOnline_v4, where you could click on a check button "organisation not listed", and fill in the name yourself.

This way a user knows what is going on. If you open up a plan, and you see a perfect valid name of an organisation in that input field, is that taken out of a restricted list, or just filled in manually?

briri commented 2 years ago

👍🏻 yes, that's the direction we're heading in the DMPTool in a few weeks. We have pulled the ROR DB down to a local table for faster access and have an autocomplete that references names in the ROR list as well as the orgs table. The user MUST select an item from the list or tick a checkbox saying that their org is not in the list. Once the tick that checkbox a hidden field is displayed that allows them to type one in. This way its a conscious decision.

If we can see it working well after a few months, we will contribute it back to this codebase

Falco-KUB commented 6 months ago

We have a similar issue: We set restrict_orgs=true to prevent new users signing up with rubbish organisations. However, we weren't aware of that this would also apply to the "Funder" field on the plan cover page. Sometimes, there can be quite 'exotic' funders, so free-text would be useful. Does anyone have an idea for a workaround?