OPL-1 license · Community & Enterprise · Advance tier of Dashboard Forge
Dashboard Forge Pro -- the Advance Tier
Raw SQL dashboard items, external PostgreSQL/MySQL sources, a fullscreen TV/wallboard mode and scheduled PDF email delivery
Dashboard Forge Pro is the Advance tier of Dashboard Forge (requires the base Dashboard Forge app, sold separately). Every feature here is additive: nothing in the base engine is changed, this module only extends it with four capabilities the base app does not have -- raw SQL query items, external read-only database sources, a fullscreen wallboard mode and a scheduled email pipeline for the dashboard PDF. Every Pro user also gets the base app's full v1.1 feature set for free the moment the base app updates -- the bullet chart, formula measures, 12 sector templates, instant-edit, per-item discussion and click-to-drill-down, and live push-refresh -- with no separate Pro-side update required, since Pro only ever adds to the base canvas, never forks it.
What Pro Adds
Four real, tested features on top of the base dashboard engine -- no mock endpoints, no stubbed connections
SQL Query Items
A new "SQL Query" item type that runs a multi-model, cross-table SELECT and renders it through the same read-only table the base "List" item type already uses. The query is read-only and injection-guarded: a single SELECT statement only, every DDL/DML/admin keyword (insert, update, delete, drop, alter, create, grant, revoke, truncate, comment, copy, vacuum, into, set) and any 'pg_*' internal reference is blocked, and a hard row cap is enforced. Executed on its own rolled-back cursor or SAVEPOINT, so nothing it does can ever persist. Creating or editing a SQL item is a Dashboard Forge Manager-only power.
External PostgreSQL / MySQL Sources
Point a SQL item at a separate, read-only PostgreSQL or MySQL/MariaDB server instead of the local Odoo database. The connection password is stored manager-only (hidden from editors the same way the base module's own AI provider API key is), and a one-click Test Connection action confirms the link. The exact same SQL guard applies to an external query as to a local one.
TV / Wallboard Mode
A fullscreen client action that auto-rotates through every active item of a dashboard, one at a time, at a configurable interval (per dashboard, in seconds). Built entirely by reusing the base module's own KPI tile, chart, list and checklist rendering components -- nothing in the base module is modified. Exit any time with the on-screen button or the Escape key.
Scheduled Email of the Dashboard PDF
Configure recipients (users, contacts or raw email addresses) and a daily/weekly/monthly frequency per dashboard. A scheduled action renders the same visual PDF export the base module's own "Export PDF" button produces (chart items fall back to their data-table layout in the cron/no-browser context) and emails it as an attachment. A manual "Send Now" action is also available at any time.
How It Fits Together
Start with Dashboard Forge
Build your KPI tiles and charts on any model with the base app, exactly as you do today.
Add a SQL or external item
Drop a guarded, multi-model SQL item onto the same dashboard, local or from an external read-only database.
Put it on the wall
Open TV Mode from the dashboard form for a fullscreen, auto-rotating wallboard view.
Mail it on a schedule
Configure recipients and a frequency once; the same visual PDF export lands in their inbox automatically.
See It In Action
Fourteen screenshots from a live install, feature by feature -- every single one captured against a real, seeded Odoo 19 database, nothing mocked or staged
The Dashboard Pro Operates On
Context: the base Dashboard Forge canvas Pro extends -- KPI tiles, a bar chart, a pie chart, a horizontal bar chart and a doughnut chart, all still exactly as the base app renders them.
Scrolled further down the very same dashboard: two SQL query items (one local, one against an external source), a radial gauge and a geo map -- Pro's items living right alongside base's, on one canvas.
Entry points on the dashboard's own form: the base "Open Dashboard" button, Pro's "TV Mode" stat button, and the "TV Rotation Interval (s)" field this dashboard's wallboard rotation uses.
TV / Wallboard Mode
Fullscreen wallboard mode, mid-rotation on a bar chart: one item at a time, large, with a progress counter and previous/next/exit controls -- built by reusing the base module's own chart component, unmodified.
The same wallboard, rotated to a radial (half-doughnut) gauge -- proof that every one of the base module's newer chart types, not just the classics, renders full-screen in TV mode.
...and rotated once more to a geo choropleth map, the most demanding chart type the base module has -- the wallboard lazy-loads its map plugin correctly on every single rotation, not just the first time a map item happens to be shown.
...and one more rotation to the base module's newest v1.1 chart type, the bullet chart with its dashed target marker -- TV mode renders every base chart type, old and new, with zero Pro-side changes needed when the base module adds one.
SQL Query Items
Configuring a SQL item: the "SQL Query (Dashboard Forge Pro)" group with its own External Data Source and SQL Query fields, sitting on the exact same item form the base module already uses for every other item type.
...and what it looks like once placed on a dashboard: a guarded, read-only SELECT rendered through the exact same table the base module's "List" item type already uses -- zero frontend work needed for this module to reuse it.
External PostgreSQL / MySQL Sources
Every external source lives in its own list under Configuration -- name, database type, host, port and database name at a glance.
A PostgreSQL source's own form: host, port, database name, username and a masked, manager-only password field, with "Test Connection" in the header.
One click on "Test Connection" opens a real connection to the configured server (and closes it again immediately) -- a genuine round trip, not a canned response.
A SQL item pointed at that external source instead of the local database: same query box, same guard, the only difference is where it runs.
Scheduled Email of the Dashboard PDF
A weekly schedule for the "Company Overview" dashboard: a user recipient, an extra raw email address, and "Send Now" in the header for an on-demand copy at any time.
The SQL Guard, In Detail
Raw SQL on a dashboard is powerful and, unguarded, dangerous. Dashboard Forge Pro enforces every one of the following before a query -- local or external -- ever reaches a cursor:
- Single SELECT statement only -- a trailing ';' is tolerated and stripped, any other ';' (statement-chaining) is rejected outright.
- No SQL comments -- '--', '/*' and '*/' are all blocked, so a comment can never hide a chained statement or swallow the enforced row limit.
- Every DDL/DML/admin keyword blocked -- insert, update, delete, drop, alter, create, grant, revoke, truncate, comment, copy, vacuum, into and set, matched as whole words so a column literally named "settings" is never falsely rejected.
- No PostgreSQL internals -- any 'pg_*' identifier or function reference is rejected.
- A hard row cap -- a LIMIT is appended when absent, or capped down when the query's own LIMIT is too high.
- Rolled back, always -- a local query runs inside a SAVEPOINT that is force-rolled-back even on the success path; an external query runs on its own connection, which is rolled back and closed after every call.
- Manager-only -- creating or editing a SQL item, local or external, requires the Dashboard Forge Manager group.
Frequently Asked Questions
Do I need the base Dashboard Forge app?
Yes. Dashboard Forge Pro is the Advance tier: it depends on and extends the base Dashboard Forge app, and does not work on its own.
Can any user create a SQL query item?
No. Creating or editing a SQL item -- local or against an external source -- requires the Dashboard Forge Manager group. Viewers and Editors can still see a SQL item's rendered results on a dashboard they have access to.
Can a SQL query modify data?
No. Only a single SELECT statement is accepted; every DDL/DML/admin keyword is blocked as a whole word, SQL comments are blocked, and the query itself always runs on a cursor that is force rolled back afterwards -- see the SQL Guard section above.
Which external databases can a SQL item connect to?
PostgreSQL out of the box. MySQL/MariaDB requires the optional 'pymysql' Python library on the server; without it, a MySQL source raises a clear error explaining how to install it or switch the source to PostgreSQL.
Is the TV mode a separate screen or a URL I can bookmark on a display?
It is opened from the "TV Mode" button on a dashboard's form and requests browser fullscreen. Press Escape or the on-screen Exit button to leave it.
What does the scheduled email actually send?
The exact same visual PDF the base module's "Export PDF" toolbar button produces on demand, as an email attachment. Since a scheduled action has no live browser canvas to capture chart images from, chart items automatically fall back to the report's own data-table layout in that PDF.
Does TV mode render the new v1.1 bullet chart, formula measures and everything else the base app just added?
Yes. TV mode is built entirely by reusing the base module's own chart component, so a bullet chart or a formula-based measure series renders full-screen exactly like every other chart type, with no Pro-side code change needed. Instant-edit, per-item discussion and click-to-drill-down are canvas features of the base app's normal dashboard view; they work for a Pro user exactly as they do for a base-only user.
New in v3: KPI Watchdog and 50-Language Support
The base app's new KPI Watchdog turns any KPI tile or radial gauge into an active monitor: set a threshold and a comparison (>, <, ≥, ≤, ==, !=) and, when the value crosses that bound, it fires a scheduled Odoo activity, a Discuss message on that single tile, and/or an email to chosen recipients. A built-in spam guard fires only on the transition into breach and re-arms after recovery, and every firing is kept in a per-item alert log. Because Pro builds on the base app, every tile you show on the TV / wallboard is watched by the same Watchdog with no extra setup.
The whole Dashboard Forge suite, base and Pro, now ships with translations for 50 languages, so the UI reads in your team's own language out of the box.
Configured on any tile or gauge -- enable the alert, pick the comparison and threshold, choose the channel and recipients. The Status panel shows the live state (here Breached) with the per-item alert log on the same form.
A clean audit trail -- every distinct breach across all dashboards lands in one list with the captured value, operator, threshold and channel it fired on.
Group and slice the history -- group the alert log by item, dashboard or channel to see which KPIs breach most often, straight from the standard Odoo search.
Specifications
- Compatible: Odoo 19.0
- License: OPL-1
- Author: Pokutsoft
- Requires: Dashboard Forge (base app), v1.1+ for the bullet chart/formula measures/templates/instant-edit/discuss/drill-down/live push-refresh features
- Optional dependency: pymysql (for MySQL/MariaDB external sources only)
- TV / wallboard mode: renders all 18 base item types, including the v1.1 bullet chart
- Support: support@pokutsoft.com
- Live demo: demo.pokutsoft.com
Update date: 2026-07-10
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 12655 |
| Technical Name |
dashboard_forge_pro |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module