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

DepViz V2 #649

Open
3 of 10 tasks
moul opened this issue Mar 17, 2023 · 1 comment
Open
3 of 10 tasks

DepViz V2 #649

moul opened this issue Mar 17, 2023 · 1 comment
Assignees

Comments

@moul
Copy link
Owner

moul commented Mar 17, 2023

DepViz offers a range of useful features, but its current configuration can be difficult to customize and modify. To make the most of its existing capabilities and to facilitate future development, we should strive to make it more user-friendly and open to customization.

Suggested changes:

  • Split the fetcher/processor so that people can easily use DepViz to fill and maintain a database that they can access manually.
  • We should consider switching to a database that is easier to use. Currently, we are using a graph database which is excellent for graph queries but is challenging to manage, limited in some ways, and has few clients. It may be overkill for our needs. We should switch to an RDBS like Sqlite by default and use recursive queries for the graph. A good caching feature can address most of the worst cases, and then we can add arbitrary limits.
    • Alternative: I suggest using SQLite and a graph database rather than switching. SQLite should be used as the primary database for fetching, filling, checking, and updating, which should be enough for many usages. Then, a dedicated script/helper should generate a graph database from the SQLite database, allowing a web interface or other applications to access the graph engine when needed.
  • In general, I suggest revamping the CLI to have specific actions by default, i.e.,
    • depviz fetch DRIVER -> subcommand with all fetchers, each fetch has its options; easy to extend.
      • depviz fetch github
      • depviz fetch trello
    • depviz db SUBCOMMAND -> subcommand to manage the database
      • depviz db to-graphdb
      • depviz db query
      • depviz db shell
      • depviz db cleanup
      • depviz db sync-with-airtable
    • depviz gen SUBCOMMAND -> subcommand to use the db to generate outputs, without requiring any fetch
      • depviz gen graphviz
      • depviz gen json
      • depviz gen csv
    • later we'll try to make compositions at the top level for the most famous flows.
  • Adding a download status on entities, so that, instead of having to fetch something missing, we can create an empty object with status "TO_DOWNLOAD"; and then wait for a fetcher to process it. it will solve the diamond dependency we had in a previous PR.

┆Issue is synchronized with this Trello card

@moul moul pinned this issue Mar 17, 2023
@moul moul assigned Doozers and moul Mar 17, 2023
@moul
Copy link
Owner Author

moul commented Mar 17, 2023

Can be tested on this new usage: gnolang/blog#5

This was referenced Mar 23, 2023
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

2 participants