A Guide to Integrating User-Generated Visualizations into Seeq Organizer
Overview
When working with user-generated visualizations in Seeq Organizer, there are multiple approaches to achieve different levels of interactivity, scalability, and user experience. Below is a breakdown of some methods:
Data Lab + SPy
Description
This method involves using Python (with libraries like matplotlib
, plotly
, or seaborn
) to generate visualizations, retrieving data via the SPy, and manually uploading the resulting image into an Organizer topic. The process includes saving the figure, then pushing it to Organizer via spy.workbooks.push
after parsing and updating the workbook.
Example: https://python-docs.seeq.com/user_guide/Data%20Lab%20Visualizations.html#data-lab-visualizations
Use Case
Best suited for Organizer topics that only need a simple figure with minimal document formatting or interactivity (e.g., static reports, one-off charts, or embedded visuals in dashboards where the primary focus is the image itself). This method is ideal when:
The visualization is the sole content of the topic.
No dynamic filtering or user interaction is required.
The goal is to quickly generate and embed a figure without additional text, tables, or formatting.
Pros
Low Overhead: Can be done entirely within a Data Lab Project.
Flexibility in Visualization: Full control over styling and custom plots.
Static Image Integration: Directly embeds figures into Organizer topics using template.
Cons
No Interactivity: Images are static, so they cannot leverage dynamic filters (Date Range, Asset tools).
Technical Complexity: Requires Python scripting and HTML parsing for updates.
Manual Effort: Updating images involves re-generating, re-parsing, and re-uploading files.
Python Plotter Add-on
Description
This method allows users to create reactive plots within Seeq Workbench that are then linked to Organizer topics via worksheet links. Data is retrieved using spy.search
and spy.pull
in Data Lab, and the plot is rendered in the Workbench interface. The Add-on supports dynamic filters (e.g., Date Range, Asset tools) and can be shared with other users.
Link: Python Plotter Add-on
Use Case
This approach is perfect for situations that necessitate custom visuals in the Organizer Topic, allowing for the assignment of date ranges and/or asset selections to the underlying data.
Pros
Interactive in Workbench: Plots update dynamically based on user inputs like date ranges or assets.
Link to Organizer: Can be included in Organizer topics via worksheet links.
Re-usability: Other users can apply the same plots to their data.
Simplified Python Scripting: Requires minimal coding compared to other methods.
Cons
Strict Project Requirements: Needs specific project naming, filename conventions, and notebook cell headers.
Complex Troubleshooting: Workbench information is sent to the Data Lab Project generating the plot through a request payload, making debugging challenging.
No Interactivity in Organizer: The plot is static when viewed directly in Organizer.
Custom Display Pane Add-on
Description
This approach entails the development of a fully interactive visualization as a custom Add-on (for instance, utilizing React for the frontend and Data Lab Functions for the backend). Once created, the Add-on can be installed via the Add-on Manager and will be accessible within Seeq Workbench, enabling users to engage with visualizations directly in Organizer.
Link: https://support.seeq.com/kb/latest/cloud/add-on-package-example-generator
Use Case
Best for scenarios requiring interactive content in Organizer Topic.
Pros
High Interactivity: Fully customizable and responsive controls.
Integration with Workbench: Seamlessly embedded into Organizer topics.
Advanced Functionality: Supports integration with Seeq Dashboards in Organizer Topic.
Cons
Complex Development: Requires expertise in frontend (React) and backend (Data Lab Functions).
Steep Learning Curve: Packaging, deploying, and maintaining Add-ons demands significant effort.
Admin Involvement: Requires an admin to install the Add-on for others to use.
IOTA Content
Description
This method uses a Data Lab Function (DLF) endpoint to generate dynamic visualizations that can be linked directly to an Organizer topic via the "IOTA Content" button. The endpoint receives input parameters like date ranges or assets, generates the plot on-the-fly, and returns it to Seeq.
Use Case
Ideal for scenarios where dynamic content is required in Organizer, but developer doesn’t want to develop a Display Pane Add-on.
Pros
Interactive with Filters: Visualizations update dynamically based on user inputs (e.g., Date Range, Asset).
Real-Time Updates: Plots are generated in real-time using live data.
Flexible Data Handling: Supports complex parameter passing (e.g., asset IDs or date ranges).
Cons
Technical Complexity: Requires knowledge of DLF endpoints and how to pass parameters.
Limited Debugging Tools: Harder to test and troubleshoot compared to simpler methods.
Parameter Management: Users must obtain and input specific asset IDs or date range values, which can be cumbersome.
Summary Table
Method | Interactivity in Organizer | Ease of Development | Scalability | Re-usability | Best Use Case |
---|---|---|---|---|---|
Data Lab + SPy | Low (Static Images) | Easy | Hard | Limited | Static figures in Organizer topics with minimal formatting |
Python Plotter Add-on | Medium (Interactive in Workbench) | Moderate | Easy | Easy | Custom plots that need to be associated with Assets or Date Ranges in Organizer |
Custom Display Pane Add-on | High (Fully Interactive) | Hard | Easy | Easy | Advanced dashboards requiring dynamic controls |
IOTA Content (DLF Endpoints) | Medium-Hard (Requires IDs of Assets and Date Ranges) | Moderate to Hard | Medium | Medium to High | Real-time, filter-responsive visualizations in Organizer |
When to Choose Each Method
Scenario | Recommended Method |
---|---|
Simple static figure for a report or dashboard | Data Lab + SPy |
Plots are in Workbench and responsive to display and details pane changes | Python Plotter Add-on |
Advanced and interactive figures in Organizer | Custom Display Pane Add-on |
Dynamic Organizer content with filters | IOTA Content (DLF Endpoints) |
Key Takeaway
Data Lab + SPy: Best for static figures in Organizer topics where simplicity and speed are prioritized.
Python Plotter Add-on: Ideal for interactive plots that need to be shared across teams but require minimal coding.
Custom Display Pane Add-on: Recommended for advanced, user-facing figures with dynamic controls (requires development expertise).
IOTA Content: Suitable for real-time, filter-responsive visualizations where interactivity and dynamic data are critical.
By aligning your use case with the appropriate method, you can ensure efficient integration of your personally generated visualizations into Seeq Organizer while balancing complexity, scalability, and user experience.