From ce60168a3e96e2f5ec098bfe437197473e7b50e9 Mon Sep 17 00:00:00 2001 From: "sg-doc-holiday[bot]" <219201796+sg-doc-holiday[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:05:34 +0000 Subject: [PATCH 1/5] reporting-analytics: update analytics.mdx Insert a new section documenting SHOW_DEMO_HOME_PAGE-controlled demo dashboard seeding (Homepage) as implemented in analytics-seeding-service.ts, and normalize curly apostrophes to straight apostrophes per style guide. --- reporting-analytics/analytics.mdx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reporting-analytics/analytics.mdx b/reporting-analytics/analytics.mdx index f7e1b16..6249206 100644 --- a/reporting-analytics/analytics.mdx +++ b/reporting-analytics/analytics.mdx @@ -15,7 +15,7 @@ In addition to OpenOps tables, OpenOps Analytics can connect to and visualize yo To configure data visualizations, click **Analytics** on the main navigation bar in OpenOps. When the **Analytics** view opens, click **Admin Panel** to proceed to the Analytics admin portal that is separate from the main OpenOps application. -To sign in to the Analytics portal, use `admin` as the username and the password defined with the `OPS_ANALYTICS_ADMIN_PASSWORD` variable in the `.env` file in your OpenOps installation folder. (If you haven’t changed the password, the default is `please-change-this-password-1`.) +To sign in to the Analytics portal, use `admin` as the username and the password defined with the `OPS_ANALYTICS_ADMIN_PASSWORD` variable in the `.env` file in your OpenOps installation folder. (If you haven't changed the password, the default is `please-change-this-password-1`.) If you don't have access to the OpenOps installation folder: @@ -31,6 +31,12 @@ Behind every OpenOps table, there is a Postgres database view that can be used t When a new table is created in [OpenOps tables](/reporting-analytics/tables/), the system automatically creates a new database view with the naming convention _table name \_ table id \_ userfriendly_. You can use this view to create dashboards in OpenOps, as well as connect it to other BI systems. +## Demo dashboard seeding + +OpenOps can seed a demo dashboard named **Homepage** in the analytics portal. + +This seeding runs only when the `SHOW_DEMO_HOME_PAGE` flag is set. When the flag is not set, OpenOps skips seeding the demo dashboard. + ## Building new charts To configure a new chart based on an OpenOps table to display in the **Analytics** view in OpenOps, do the following: From 7488fe858172a70ddd8f9561c279e7c6d8c266d2 Mon Sep 17 00:00:00 2001 From: "sg-doc-holiday[bot]" <219201796+sg-doc-holiday[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:06:02 +0000 Subject: [PATCH 2/5] reporting-analytics: update tables.mdx Add a short constraints section grounded in default-workspace-database.ts: OpenOps Tables admin setup assumes a single workspace, single database, and single database token; otherwise the server throws. This helps users troubleshoot unexpected startup/setup failures related to Tables. --- reporting-analytics/tables.mdx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/reporting-analytics/tables.mdx b/reporting-analytics/tables.mdx index b0ddd09..d301761 100644 --- a/reporting-analytics/tables.mdx +++ b/reporting-analytics/tables.mdx @@ -58,7 +58,15 @@ To better understand how the two tables described above are used in real-life wo * **Dismissed** if the owner has chosen to dismiss the opportunity. * **Snoozed** if the owner has chosen to consider the opportunity later. The number of days to delay is reflected in the **Snoozed until** field. -## Creating new tables +## Multiple workspaces, databases, and tokens + +OpenOps Tables setup expects a single workspace, database, and database token for the Tables admin user: + +* If the Tables admin user has more than one workspace, OpenOps throws an error. +* If the workspace has more than one database, OpenOps throws an error. +* If the workspace has more than one database token, OpenOps throws an error. + +This constraint exists because OpenOps uses that workspace, database, and token for creating and accessing the default OpenOps Tables database. In addition to preconfigured tables, you can create your own. This is especially useful when you're developing original workflows that are not based on OpenOps templates and you want to set up a visual way to save data generated by the workflows. From 7cb007fe96c9b7e729b2d69c21c7674fb1907c12 Mon Sep 17 00:00:00 2001 From: "sg-doc-holiday[bot]" <219201796+sg-doc-holiday[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:06:30 +0000 Subject: [PATCH 3/5] reporting-analytics: update tables.mdx Restore the missing 'Creating new tables' section heading so the page keeps its original structure after inserting the new constraints section. --- reporting-analytics/tables.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reporting-analytics/tables.mdx b/reporting-analytics/tables.mdx index d301761..55f73e7 100644 --- a/reporting-analytics/tables.mdx +++ b/reporting-analytics/tables.mdx @@ -68,6 +68,8 @@ OpenOps Tables setup expects a single workspace, database, and database token fo This constraint exists because OpenOps uses that workspace, database, and token for creating and accessing the default OpenOps Tables database. +## Creating new tables + In addition to preconfigured tables, you can create your own. This is especially useful when you're developing original workflows that are not based on OpenOps templates and you want to set up a visual way to save data generated by the workflows. To create a new table from scratch: From dd8da8a0806eb25c3fd256efbd5eab757935de32 Mon Sep 17 00:00:00 2001 From: "sg-doc-holiday[bot]" <219201796+sg-doc-holiday[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:06:39 +0000 Subject: [PATCH 4/5] reporting-analytics: update analytics.mdx Normalize curly apostrophe to straight apostrophe in analytics instructions to follow the style guide formatting requirements. --- reporting-analytics/analytics.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reporting-analytics/analytics.mdx b/reporting-analytics/analytics.mdx index 6249206..d16516f 100644 --- a/reporting-analytics/analytics.mdx +++ b/reporting-analytics/analytics.mdx @@ -65,7 +65,7 @@ Here's what you can do to connect OpenOps Analytics to external data sources suc 1. In the Analytics admin portal, in the top right corner, click **Settings**, then **Database Connections**. 2. Click **+ Database** to connect to an external data source, such as your own Postgres instance or Google Sheets. -3. Once you have created a database connection, if you’d like to upload CSVs to it, click the **Edit** icon for the database connection: +3. Once you have created a database connection, if you'd like to upload CSVs to it, click the **Edit** icon for the database connection: ![Editing a database connection](/images/analytics-edit-db-connection.png) 4. In the popup that displays, go to **Advanced > Security**, scroll down, and enable **Allow file uploads to database**. From 96c583f6d56bacb8e48ca392e12181cba539ccb5 Mon Sep 17 00:00:00 2001 From: "sg-doc-holiday[bot]" <219201796+sg-doc-holiday[bot]@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:09:15 +0000 Subject: [PATCH 5/5] reporting-analytics: update analytics.mdx Insert a concise section documenting that Analytics is optional, based on server seeding logic that skips when OPS_ANALYTICS_PRIVATE_URL is not configured. --- reporting-analytics/analytics.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reporting-analytics/analytics.mdx b/reporting-analytics/analytics.mdx index d16516f..d14300d 100644 --- a/reporting-analytics/analytics.mdx +++ b/reporting-analytics/analytics.mdx @@ -31,6 +31,12 @@ Behind every OpenOps table, there is a Postgres database view that can be used t When a new table is created in [OpenOps tables](/reporting-analytics/tables/), the system automatically creates a new database view with the naming convention _table name \_ table id \_ userfriendly_. You can use this view to create dashboards in OpenOps, as well as connect it to other BI systems. +## Running OpenOps without Analytics + +OpenOps can run without the Analytics service. + +If `OPS_ANALYTICS_PRIVATE_URL` is not set, OpenOps skips Analytics seeding. + ## Demo dashboard seeding OpenOps can seed a demo dashboard named **Homepage** in the analytics portal.