Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI for entry creation, editing and registration with seamless GitHub integration #6

Open
joncison opened this issue Feb 1, 2019 · 8 comments
Assignees

Comments

@joncison
Copy link
Contributor

joncison commented Feb 1, 2019

One of many issues around GitHub-based content management for bio.tools.

@joncison
Copy link
Contributor Author

joncison commented Feb 1, 2019

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).

@joncison
Copy link
Contributor Author

joncison commented Feb 4, 2019

@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

@piotrgithub1
Copy link
Contributor

piotrgithub1 commented Feb 4, 2019

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).

@joncison
Copy link
Contributor Author

joncison commented Feb 4, 2019

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 #7.

@hmenager
Copy link
Collaborator

hmenager commented Feb 4, 2019

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.

@joncison
Copy link
Contributor Author

joncison commented Feb 5, 2019

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?

@hmenager
Copy link
Collaborator

hmenager commented May 7, 2019

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!

@joncison
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants