blazer
blazer copied to clipboard
Ideas
Done
- [x] customize order to user (last 20 queries viewed or use data science to determine)
- [x] treat smart column as string for chart generation
- [x] show error message on server error
- [x] metrics on query runtime (add to audits?)
- [x] save as / fork option on edit page
- [x] support long queries (over 30 sec)
- [x] speed up home page when thousands of queries
- [x] raise error when url is blank in production
- [x] add indexes to template
- [x] cache option (under advanced)
- [x] treat smart column / id field as string for charts
- [x] keep params when editing dashboard
- 1 for the download button
How about "smart" handling of columns/attributes that make use of ActiveRecord::Enum
?
Feature request: A way to do pivot tables.
This may be out of the scope of this gem, but the ability to add a moving average line to graphs would be awesome.
up!
+1 for embeddable charts
Idea: Next to schema (or even query), show erd (https://github.com/amatsuda/erd or https://github.com/voormedia/rails-erd) if respective gem is available. Btw are you okay with "lazy" idea contributions as comments in this thread?
idea: Use liquid to build the sql queries:
-
instead of
{smart_variable}
, with liquid it would look like{{smart_variable}}
-
allows building dynamic sql with cycles.
-
also allows to set default smart variables, for testing the query (right now its not possible to test queries with smart_variables
-
allows to customize the query based in one or multiple smart variables:
SELECT * FROM my_table
{% if (smart_variable | size) == 1 %}
WHERE smart_variable = {{ smart_variable }}
{% elsif (smart_variable | size) > 1 %}
WHERE smart_variable IN ({{ smart_variable | join: ', ' }})
{% else %}
WHERE smart_variable IS NULL
-- or
-- WHERE smart_variable IS NOT NULL
-- or we would use a default
{% endif %}
https://mode.com/help/articles/extending-sql-with-liquid/
smart variable -> chage null by '%' when nothing is selected on select box ex: https://blazer.dokkuapp.com/queries/1-smart-variable?occupation_id= must result all occupations
idea:
When a user has lots of pins to display it would be really handy if you can just order records by date of creation and make the corresponding pin stand out when you hover over a certain line in the table below Mapbox area.
Actually, I've tried to implement it myself but from what I found it's not a trivial task and unfortunately I don't have enough time at the moment.
Allow for optional "schema" support. ("blazer"."audits"
, "blazer"."checks"
).
Would help "organize" domain-specific schemas as per "best practices" (not using the public
schema):
https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PUBLIC
https://wiki.postgresql.org/wiki/Database_Schema_Recommendations_for_an_Application
Got another idea 😇
Could we somehow give Blazer a hint that a bar chart should be stacked?
Not sure if you want ideas here (lazily, as @fwolfst mentioned), or as separate issues. Let us know, I'm happy to break mine out into their own issues.
Another idea: Somehow allow for smart variable selections to accept multiple values. One solution might be if a smart variable is "plural", allow for multi-select. So, occupation_ids
for example, would let you select multiple. Of course, you'd have to make a call for the user on if it should be and
or or
. Or you could have that be another select option...
P.S. Are you accepting PRs for ideas? I might start tinkering, but I don't want to waste my time if you don't find value in the ideas.
Idea: Integrate blazer with authorization gems i.e. Pundit or CanCanCan? Would love to share Blazer dashboards with non-technical people for read-access only 😇
💡 Use the new "Discussions" feature of Github to discuss new ideas