-
Notifications
You must be signed in to change notification settings - Fork 948
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
Better database discovery #5308
base: master
Are you sure you want to change the base?
Conversation
Hi, I'm the creator of Azimutt and just made a way to open any database structure file in one click, allowing anyone to understand it more easily. It can be [added with a badge](https://github.com/azimuttapp/azimutt#azimutt-badge), so here is my contribution in making your project even more approachable for your users. Feel free to merge if you like ;) Loïc
It actually works (only the url in the browser is suprising).
Not sure if this service is worth linking... |
Hi @HolgerJeromin |
I added a documentation page to demonstrate it and explain how it works: https://azimutt.app/docs/badge |
Thanks @loicknuchel for your suggestion. I've tried using it, and it looks great. But when I've tried using it used it a couple of times, I haven't found it very useful, and I give up after a minute or two. I think the main issue is that it doesn't load all the tables at the start, so you can end up with just a couple of tables showing (e.g. you click on "acls" from the suggestions list, and then click "users", and then that's kind of it? I can't see how to click to add more). There's a search box, but people who are exploring the db don't know what tables to search for. I think it would be more useful if all the tables were shown, and nicely laid out, but perhaps that's overwhelming or unclear without manual arrangement and grouping. As far as I understand, that's a paid feature. I realise that I'm not the target user for this, since I obviously know the overview of the database structure and how everything works. But for the details I wouldn't use it either, because annotate_models puts the information we need into the model files, i.e. closer to where we work. So my request here is to other contributors, particularly new contributors - can you try it out please? Have you found this useful, and if so, what did you learn? Do you need a whole-database overview when you start working on the project? |
There's a button or something somewhere you can click to turn on the automatically detected relationships but I admit it confused me as well. |
Hi @gravitystorm, Loading all the tables at first is a real issue as it's often overwhelming, even in your case with 52 tables. I also have an issue on my side as the auto-layout algorithm I use is not very good 😅 The intended usage is more toward long term usage with handcrafted and meaningful layouts than a single one with everything, but I get it doesn't fit well with Open Source project like yours. I also see I have to improve the first interactions, especially I should find a way to make clearer how to navigate following relations (you can click on colored icons, primary keys and foreign keys, to display the related tables and build the useful schema). Interested by other feedback and eager so see if it could be helpful for you with a few improvements ;) Cheers! |
Hi!
Let me know what do you think about it and if it makes Azimutt more useful from your perspective. |
I started learning the OSM source code about six months ago. One of the first things I did was to create a printed visual representation of the database schema to quickly get an overview of the project's structure. Over the next few months, I used this printout to gain a better understanding of various parts of the project and how they are connected (e.g., counters, tag, comments, tags, nodes-ways-relations etc.). So, yes, I believe this utility (and similar ones) can be very useful when starting out. However, before using it daily, I would like to see:
Generally, I think this is a great utility, but it still needs a few tweaks for professional daily use. |
Hi @nenad-vujicic thanks for your feedback 👍 About your two issues:
|
Yes, "breadth-based approach" looks better but it seems it doesn't implement another pass for eliminating overlapping. Perhaps adding new pass which will do "something like sphere packaging" could eliminate overlapping? I used 15y ago variation of something similar (but much harder to understand / implement) which worked perfectly on much harder data. Perhaps this can give you some ideas.
Yes, sorry, Ctrl+Scroll & pinching on touchscreen work great, but pinching on laptop's mousepad is very slow. Also, it would be great if you could merge |
I tweaked a bit the parameters to improve some layouts but it still can have some overlapping sometimes. What is the |
There is a C++ / OpenGL implementation, but it's a little bit complex. Have you tried cytoscape-cola or some other library like D3 (both should have non-overlapping modes, not sure about implementations)?
Sorry, I thought, what you do now (left-mouse-click + mouse move => draws rectangle and selects all tables from it), but just add additional constraint for that action like pressed Ctrl button. |
@nenad-vujicic thanks, will look into that. To all: regarding this PR, what are your thoughts? Do you feel this can bring value to contributors? |
Hi,
I'm the creator of Azimutt and just made a way to open any database structure file in one click, allowing anyone to understand it more easily. It can be added with a badge, so here is my contribution in making your project even more approachable for your users.
Feel free to merge if you like ;)
Loïc