OBOFoundry / OBOFoundry.github.io

Metadata and website for the Open Bio Ontologies Foundry Ontology Registry
http://obofoundry.org
Other
166 stars 205 forks source link

Consider web form for editing registry entries #820

Open jamesaoverton opened 5 years ago

jamesaoverton commented 5 years ago

OBO technical people: We're considering building some sort of HTML form to make editing registry entries more friendly. The general approach I had in mind was a very light server to take care of GitHub authentication, and some sort of browser-based editor that would help edit the foo.md file and make a Pull Request with changes.

I think that makes sense, as far as it goes. I've been burned too many times by the JavaScript ecosystem, so I want to think long-term and be very careful that the benefits outweigh the maintenance burden. Our developer hours are precious.

For the browser-based editor, I was thinking of using of the web-based text editors, such as CodeMirror, to edit the foo.md file in its current form, then add some code validate it with our JSON schema.

@cmungall suggested using our JSON schema to build an HTML form. I did some quick research and found these two options:

My idea still requires the user to edit YAML. Chris' idea is friendlier, which is great, but might be less flexible, and I'm worried that the dependencies are more complex. That's debatable.

Please chime in with feedback and suggestions.

cmungall commented 5 years ago

I was originally worried an enhanced yaml editor would fall between two camps. It would still be hard for a yaml-phobic domain scientist. But then how many of these people would be making edits anyway. So maybe a schema-aware yaml editor is just right.

Note that the format we edit is actually frontmatter (aka yaml-down (or really it's yaml-ld-down)). ie yaml embedded inside markdown. I like to take full advantage of the markdown section to make a custom page, e.g. http://obofoundry.org/ontology/cl

If we really wanted to do the friendly thing it would have wysiwig editing of the markdown, but that is probably a bridge too far.

Related:

I would also like to eventually have a simple web front end that executes the ODK docker image to seed a new repo. The user would need to provide project.yaml. Might be nice if we used the same solution, but not vital. Note the odk prokect.yaml is different than the obo metadata yaml/md, but the latter does get generated as a side-effect

cc @kltm

epicfaace commented 5 years ago

@jamesaoverton If the user is editing .md files, how would a JSON Schema help with validation of that?

cmungall commented 5 years ago

@epicfaace see my comment above "Note that the format we edit is actually frontmatter (aka yaml-down. ie yaml embedded inside markdown."

nlharris commented 2 years ago

Is this still being considered?

matentzn commented 2 years ago

It is, the tools are there but we need push them over the finish line. @jamesaoverton maybe we could use the latest round of submitters to try this and fix any related bugs.. would be a pity to let this super cool tool rot!

jamesaoverton commented 2 years ago

My team built this tool https://editor.obolibrary.org/ with code https://github.com/OBOFoundry/OBO-Metadata-Editor. When it works, it's pretty good, but it breaks regularly and needs to be restarted. I would love to put more time into this but the truth is that my team has a full plate of tasks with higher priority.