content
content copied to clipboard
UI for entry creation, editing and registration with seamless GitHub integration
One of many issues around GitHub-based content management for bio.tools.
User interface for graphical creation, editing and registration of tool descriptions with seamless GitHub integration and preserving full-strength validation and error reporting.
Currently we have the existing registration interface in bio.tools which is to be replaced by something much better i.e. the (currently standalone) edamToolAnnotator (a sensible starting point).
@hansioan - @hmenager and I discussed this would be a good place to start on the GitHub integration work, and nice collab. between DK & FR - starting by discussing the technicalities / requirements around this. Hans, I'm not proposing you work on this yet, just that we start thinking about it more, with Herve.
General issues (not specifically required for GitHub integration) for edamToolAnnotator e.g. improving the edam browsing widget go here .
Use this thread specifically for issues arising from GitHub integration per se In my mind, in very broad strokes, something like:
- Extension to incorporate all other data entry fields currently implemented in bio.tools registration interface, including "JSON view"?
- Validation mechanism - initially using existing bio.tools mechanism ?
- A "Load" button to expose a list of tool IDs & names (retrieved from GitHub), allow for search / auto-completion by ID & name, download the XML from GitHub, pre-populate the widgets with values
- A "Save" button to issue a pull request / push directly to GitHub ? (depending on privileges?)
cc @piotrgithub1
Just to add - please do not commit to any one data format in the design phase, the discussion hasn't been settled yet between the chosen data format (prettified JSON and YAML).
Definitely. My view to begin (I mean while it's all still a "sandbox") is to go with XML (for ease of validation). Or JSON if that's more practical for whatever reason. That entire discussion can be taken in https://github.com/bio-tools/content/issues/7.
Thanks @joncison and @piotrgithub1. Here's my two cents:
- format: start with JSON, as it is probably what edamToolAnnotator currently produces, and what bio.tools produces. XML, from experience, is a real pain to produce directly from as Js interface. I would rather, later, use a service to convert json to XML or YAML, and the other way around.
- validation: use a validation service.
- i wouldn't put much effort at first into loading a "list" of tools, rather I would expect that this component would be able to read and write to a github repo directly using the API
So, my "priority wishlist" for this is:
- a component that can read, edit, and write complete bio.tools-compatible tool descriptions.
- read and write operations would be primarily targetting github repositories using the API.
- validation and format conversion would use new or existing validation services from bio.tools.
- I would reuse the JSON format used for edam-browser and bio.tools to display EDAM. I know it probably doesn't look very ambitious, but I think having a robust and user-friendly UI that provides all of this will already be very nice.
Thanks @hmenager, agree with all but a couple points in reply, cc @piotrgithub1 @bgruening @hansioan FTI
- format: JSON could work let's discuss also the transforms and the validation
- it would need to load a list of tools (i.e. whats in GitHub) in order to provide an editing function (over existing tools), wouldn't it?
Hello @joncison @piotrgithub1 @hansioan, here's an update from the "FR" team. @ValentinMarcon has been working to create a proof-of-concept interface that instead of updating a DB would save created/modified tool descriptions as pull requests to a github repository. Of course, this is very much a work in progress, but the technical bases are functional, and we would like a lot to discuss it with you some time in the near future. The code is there: https://github.com/ValentinMarcon/biotools_to_github/ Feedback is welcome!
Nice! Looking forward to learning more (or even demo?) next week. Sooner rather than later it would be good to move the project under https://github.com/bio-tools/ if you're OK with that.
An obvious thing would be to incorporate the best ideas or even the code if possible/sensible from edamToolAnnotator