Open hansioan opened 4 years ago
The above looks good from a quick read, I'll just highlight / clarify some key points:
idverified
or some such flag should be set, at which point the ID can be taken as immutable, and bio.tools URLs based upon it to be persistent.otherID
field) and ensuring both IDs work, i.e. URLs based on them persistently resolve (to same page)This is quite a bit of work, but long experience shows that it's necessary, esp. bearing in mind a lot of the value of bio.tools comes from its IDs, and it's nice to have those easily human-readable and concise (hence usable).
Hope this helps!
Oh, and the ID status (and the implications) clearly explained by a label and corresponding pop-up information window in the UI (this used to be there).
Regarding the biotoolsID change, it should happen not as an update, but as a delete + new registration, the update will be too big of a hassle because:
/api/{old_biotoolsID}
, if we change the "biotoolsID" property in the JSON annotation we are still sending PUT
requests at the old /api/{old_biotoolsID}
? Seems like a nightmare to handleGiven the above I think it's good enough to do a delete + new registration , the only thing we will lose is the additionDate
, but I don't see that as an issue, if it is we can handle it.
Thanks @hansioan for stating things clearly. I agree to all of what is there. A few points here:
git mv
. So it doesn't really matter on the github side if we lose the additionDate
, we still have all of the history stored in the repository.
@bgruening @joncison @hmenager @matuskalas @piotrgithub1
I am creating this issue to discuss / consult on how we manage bio.tools IDs in both bio.tools and GitHub.
This topic is important because bio.tools is a tool ID provider which means the bio.tools IDs need to be persistent and not change without a serious reason.
Currently how I see bio.tools IDs working: At tool creation:
{{biotoolsID of the new tool}}
and in the new folder to have a JSON file with the name{{biotoolsID of the new tool}}.biotools.json
and that JSON file with the new tool annotations needs to contain abiotoolsID
field with the same value for the biotoolsID; it also needs to contain abiotoolsCURIE
field with the value:biotools:{{biotoolsID of the new tool}}
and of course a name, a homepage , description (and other things we require)We need to decide on how we handle the pull request merging, if one of the core team users needs to approve/review the new entry, or perhaps the user who created the entry needs to review the PR or if the tool creation PR gets automatically merged after all validations (I would not go for that).
My opinion is that since we already allow the tool into the bio.tools database immediately then we can reserve the right to approve new tools before they get added to the GiHub side.
The initial addition to the bio.tools database should be done with a "pending approval" flag which should be resolved on the GiHub side into either in approval of the tool or a rejection.
I think the approval or rejection should mainly focus on the fact that the tool is indeed an actual tool and if the id of the tool is acceptable (i.e. not completely different from the name or having some other weird value; I think we will rarely encounter a situation where a tool has an unacceptable id). Everything else about the tool annotation can be fixed later (e.g. wrong toolType, missing license etc)
At tool update
biotoolsID
andbiotoolsCURIE
and will not pass these changes to GitHub. Perhaps bio.tools should even report a validation error if an ID change is attempted.Please give your opinions on the above and also tag others.