Hi there,
I recently started testing datagerry if it could already be used in production. There are some things I like about it, but there are also some easy quickwins and a few necessary things which would need to be solved to be ready for my/our production use case.
I wasn’t sure where to put this, so I’m posting it here - maybe this is interesting to someone, maybe not. I tried as best as I could to find existing discussions and tickets to prevent duplicate stuff.
All applies to v1.5.3 on Ubuntu 20.04. with rabbitmq-3.8.8-1, distribution erlang, mongodb 4.4.4
+1 Statements
-
Big +1 for the ticket NET-586. The missing “must be unique” property for references is something which prevents me from using datagerry together with a group of people and not just alone for myself.
-
Another +1 for NET-471. Having the id in the reference, obfuscates the information. Since there is also no other highlighting like something being bold or so makes it really hard to read.
-
Big +1 for NET-582. Without this defining object types is a tedious and error prone job. There are many examples where reference would be to much and the dropdown is the answer, like marking something with an environment (like prod, stage, dev, etc.). This could be something appearing in almost every table, there having predefined dropdowns (or radios) would make it so much easier to prevent mistakes.
-
Big +1 for NET-4. The tickets already lists many of my use cases.
Questions
-
Where can I see, what exactly will be “cleaned” after I changed the object type and click the “clean” button.
-
How cat I get rid of the massive “getting started” tooltip at the top of each table?
-
Is there a way to sort reference dropdowns? It appears to be the order how the entries where created, but think about a list of IPs, then it’s really hard to scroll through quickly (I know I can search, but still).
Bugs
-
In object view, the duplicate icon comes before the edit icon (left from it). With my UX I consider this a bug, especially since it’s in reverse compared to most other interfaces (eg. object type). And I cannot think of a software where the duplicate comes before the edit icon. I accidentally duplicated so many entries that it’s just highly annoying.
-
The csv enclosure in exportd jobs is ignored. I could not get it work with any of the tried delimiter/enclosures.
-
When I’m in an object table view, filter with a search, and press enter, I get the filtered results. If I now click on a different object table, the search term stays in the filter field (could be a feature). But if I now go into the search field and press enter to apply it again, nothing happens, even if the search term should apply. I have to delete the text and retype it.
-
When creating a new category, and wanting to drag and drop an uncategorized object type on the left to the new category (while editing it), I once managed to lose the object type completely. It just vanished and didn’t show on the left, and also not on the right (in the new category). I had to switch menus and reload the interface to see it again. Could not reproduce it however. Just mentioning it.
-
The link generation for object types seems to be broken. I never could get it to work and merely understands how it’s supposed to work. If I type in the the example I get no link. With certain inputs I could get some garbled links out of it, usually mixing it with the fqdn of the datagerry server.
Suggestions/Improvements
-
Many colleagues are just pigs in regards to documentation. There should be a way to enforce the commit message. Should be relatively easy to accomplish, since the same feature already exists for the text fields in object types. This would be a quickwin.
-
I would suggest, that you ship it with an example database already installed, which can be deleted during first start. The mongodb ways of handling a database are different, and such a demo database could quickly give new users a grasp of the of the abilities, as well as the pitfalls. Creating and delivering such a demo db should be easy and therefore a quickwin.
-
Since I accidentally duplicated many entries (see above 8.), it would be nice, if there could be a better visual indicator when I’m duplicating stuff instead of editing. No suggestions here, because there would be many ways to solve this. Pick your favorite.
-
If an external script get’s triggered with exportd, and it’s not running successfully, it’s sometimes hard to troubleshoot. Datagerry should therefore make the script output accessible in the log.
-
It would be great to get the possibility to export group_vars in the ansible exportd job. I know this is non trivial, and would have to be solved with more then just one table, but since datagerrys makes groups_ and hostvars_ so easy to export, the lack of group_vars is unfortunate and hard to explain to unexperienced colleagues. Again, no suggestion here. This could be achieved in a number of ways.
-
The link feature at the bottom of an object entry, makes m:n connections between objects possible. It should be made a prime tool and be displayed with more detail. For example, I’d like to be able to have a table with IPs and one with nodes, and want to set up the link only once. This link feature could be a special form of the reference type, which already exists.
-
It would be nice if I could give the reference type a filter with which it can filter the results, and by this exclude some possibilites from being referenced. Eg. reference the db table, but only show mariadb nodes.
-
It would be nice to get a link entry type (like text, description, radio, etc.). I know there seems to be this link feature which I don’t understand, but it does not seem to work (see above 12.). So for me it would be enough if a “link”, which I input as text, would be formatted as a http link automatically. Or it could be a special field (like text, radio, etc.)
-
It would be awesome if I could use the object table UI to quickly create an csv export job. There already is an “export” button at the right top of every object table (json, xml, etc.). I can think of another entry in that dropdown, which would use the selected columns and turn them into an csv and/or json exportd job. Maybe even taking the filter from the quicksearch. This would make createing exportd jobs for bigger tables so much easier!
This was mainly a braindump. I don’t expect anything. If you have any questions, let me know.
cheers