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

Show data of the project in a separate view, metadata viewer #18

Open
3 of 7 tasks
jurra opened this issue Oct 7, 2020 · 7 comments
Open
3 of 7 tasks

Show data of the project in a separate view, metadata viewer #18

jurra opened this issue Oct 7, 2020 · 7 comments
Assignees
Labels

Comments

@jurra
Copy link
Member

jurra commented Oct 7, 2020

A metadata viewer-editor that allows user to easily add data

Use case and behavior

  • When user adds a standard object like a part or component (Implies selecting a schema type)
  • Then:
    - Load the schema (template automatically)
    - Store the new instance of the schema in the state
  • When user wants to add metadata that doesnt have a schema
  • Then:
    Idea: do it like vue-json-edit
    - Load primitives (Objects and arrays and allow the user to create a new schema...)

Features

  • Navigate throgh fields with keys, use keys as much as possible, this makes a great impact in the experience.
  • Filter objects

Exceptions

  • Schema validation, only pass metadata when is valid
  • Show when a field has invalid metadata.

Checklist

  • Separate the metadata from the hardocs.json, so that metadata files can vary and not be tight to hardocs structure.
  • Add ids for each data object
  • Load existinng metadata from project
  • Commit new data mutations to the store
  • Create a new store module for metadata
  • Make it schema aware (this is ideal)
  • Push metadata to Pouchdb database

Explore different options:

  1. Schema aware json editor: https://json-editor.tangramjs.com/

  2. https://fingerpich.github.io/vue-edit-json/

@jurra jurra self-assigned this Oct 7, 2020
@create-issue-branch
Copy link

@jurra jurra added the feature label Oct 7, 2020
@jurra
Copy link
Member Author

jurra commented Oct 14, 2020

@narration-sd
Copy link
Member

narration-sd commented Nov 11, 2020

This is not a needed nudge, as progress is indeed considerable - you're not seeing it yet because I committed with a large amount of discovery/commented-out code at the point of having dummy Templates being selected by drop-down, then fully entered back into to the json. This was a surprisingly big challenge, but now the actual templates from the Electron app can be compared, as their format may need extension or conversion. I wasn't expecting what I found the need was, so we'll see.

All this is consequence of this editor not having been designed for anything but manual entry, line at a time. , I didn't see anything but confusion would come from pushing the present amped-up version. When I have the cleaned-up actual connection, then. There will still be an item or two I've noticed, at that point. but you'll be able to see it and provide UX improvement, which I suspect could begin now.

[ NOT SURE THIS POINT IS ACCURATE, MIGHT BE A TEST CASE, if worth a look on your overall integrated design -- no strikeout, so I split it off --- screen objects and fonts are really tiny, hard to read on a 1600x900 screen is a first point, but then]

You can think about what overall would be nicer. This would be done on the upgraded module vue-json-edit, and if now is when you have time to begin it, you can begin on that now, making a branch off our fork Hardocs/vue-json-edit - you're not seeing any of the added features yet, but tuning them will be pretty much identical.

You should be able to pull this fork in, instead of the original. I'll try that just now to be sure.

@narration-sd
Copy link
Member

narration-sd commented Nov 11, 2020

edited and added things of importance, if you're just monitoring the issue comments by email - have a look at the page to see te real...

@narration-sd
Copy link
Member

And, here's a result for you to look at, which also shows me something more I need in functionality, but gives visibility on where we are.

  • this is the present state of the upgraded vue-json-edit: see the 'Template b' with its added items
  • all the data is dummy, and it is not complete; hence I added what it has into the middle, yaml editor
  • but what you see did get inserted by selecting from a Templates dropdown -- again, here all mocked, but at this point I start to merge in the data of your actual Templates from schemas.
  • the thing I noted is that I need to allow editing of the resultant 'Template b' name so it becomes the thing itself. As, Component =>My Component in the yaml editor.
  • I also had to undo something nice to make the editor integrate, but we'll do without that flexibility. The problem is consequence of something very complicated about Vue, dynamic components, and webpack, not to be untangled for our project. But we are fine as you see with the integration, and the change just means I use static definitions for the extra component added inside the json editor for templates. Not really a loss for us, though I went originally for a lot of flexibility.
  • when I get this cleaned up internally, and preferably with at least some use of your actual Templates, I'll push it to the Hardocs/vue-json-edit and you can use it via yarn link. Given my move, let's say over the week-end likely.

template-before-renaming

@narration-sd
Copy link
Member

narration-sd commented Nov 12, 2020

Changed what I said on #18 (comment) about font size, as doesn't seem quite right. Anyway, am sure you'll look at it as you can remove the middle panel, and balance font sizes, spacings, etc. against amount of info that can fit on a line, etc..

@jurra
Copy link
Member Author

jurra commented Nov 19, 2020

Notes from 19-11-2000

Demo of selecting templates

Select different standards specified in json schemas

-The user selects a schema

  • In the context of lists, we want to copy instances of type of item inside the list type. For instance a Contributor template inside Contributors.

Santosh minimum reporting standards

Having a template
We have a base standard which will contain lists of types. For example Contributors, Components.
A minimum standard is an example of a standard that can change.

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

No branches or pull requests

2 participants