Sisense Community logo
    • Community Feedback
    • Chapters
    • Events
    • Forums
      • Help and How To
      • Product Feedback Forum
      • Strategy & Use Cases
    • Blogs
    • KB Docs
      • KB Docs
      • Add-Ons & Plug-Ins
      • APIs
      • Best Practices
      • Blox
      • CDT
      • Cloud Managed Service
      • Data Models
      • Data Sources
      • Embedding Analytics
      • How-Tos & FAQs
      • Onboarding
      • PySisense
      • Security
      • Sisense Administration
      • Sisense Intelligence & AI
      • Troubleshooting
      • Widget & Dashboard Scripts
    • Support
    • Learning
      • Sisense Academy: Free Courses and Certifications
      • Official Developer Documentation
      • Official Product Documentation
      • Official Sisense Youtube Channel
      • Sisense Compose SDK Playground
      • Official Sisense Discord
    • Use Case Gallery
    Discussions
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    Discussions
    • TagsChevronRightIcon
    2024
    • Blog banner
      • News & UpdatesChevronRightIcon

      Sisense's Journey to Automated Testing with Playwright

                                       

      Sisense's Journey to Automated Testing with Playwright Introduction In today's fast-paced software development landscape, ensuring the reliability and quality of web applications is paramount. Automated testing has become a cornerstone of the software development life cycle, enabling teams to quickly identify and fix issues, maintain high code quality, and deliver robust software products.  As our company embarked on the journey to enhance our testing strategy, we faced the critical decision of selecting the most suitable automation test framework. After careful consideration and evaluation of various options, we chose Playwright , a modern and versatile testing framework, paired with TypeScript to leverage its powerful static typing capabilities. This article aims to delve into the rationale behind our decision, explore the benefits of Playwright over other frameworks, and provide insights into the structure of our test framework based on Playwright. By sharing our experience, we hope to offer valuable guidance to other teams seeking to optimize their testing processes with a robust and efficient automation solution. Overview of Playwright and its Benefits Playwright is an open-source, modern automation framework developed by Microsoft and maintained by the community. It is designed to enable reliable end-to-end testing for web applications across different browsers. Playwright supports all major browser engines, including Chromium, WebKit, and Firefox. Playwright is not only ideal for UI testing but also for API and component testing. Playwright offers several key features and benefits that make it a powerful tool for web automation. Its auto-waiting mechanism ensures stable and reliable test results by intelligently waiting for elements to be ready before performing actions, reducing flakiness. Extensive debugging tools, including screenshot capture, video recording, and DOM state inspection, along with the standout tracing feature, make troubleshooting failing tests highly effective. Playwright is fast-growing and actively developed, with continuous improvements and feature additions from an active Microsoft-backed development team, keeping it at the forefront of web automation technology. One of the major advantages is its compatibility with TypeScript, providing static typing for early error detection and improved code maintainability. Our developers' proficiency in TypeScript further eases the adoption and integration of Playwright into our workflows, enhancing development efficiency and reducing the learning curve. Additionally, Playwright benefits from a vibrant community and ecosystem, with comprehensive documentation and an active GitHub repository for bug reports and improvement tickets.  Our company chose Playwright because of these compelling features and benefits, recognizing it as the best fit for our automation needs and future growth. We have adopted a cutting-edge automation framework that aligns with our goals of achieving high-quality, reliable, and maintainable automated tests. In the following sections, we will delve deeper into the reasons behind our decision and provide an overview of our test framework structure. Structure of the Test Framework Based on Playwright Our test framework built on Playwright is designed to be modular, scalable, and maintainable. It follows best practices in software engineering to ensure that tests are easy to write, understand, and maintain. Below is a detailed look at the architecture and components of our test framework. Layer 1: Foundation Classes Page Object classes: Abstractions for the web pages of the application under test. They contain locators and methods for interacting with UI elements. Utils: Utility class methods or functions that provide common functionality used across different tests, such as data and file system manipulation and configuration handling. Controller classes: Abstractions for handling API interactions. They manage API requests, providing methods to interact with the backend services. Layer 2: Step Classes UI Step classes: Encapsulate the sequences of actions performed on the UI using methods from the Page Object classes. They define specific user interactions, such as logging in or navigating through the application, etc. API Step classes: Similar to UI Step classes, these encapsulate the sequences of API interactions using methods from the Controller classes and handle responses. They define workflows like creating a user, fetching data, etc. Layer 3: Test Classes UI System tests : High-level tests that verify the entire system's functionality from the user’s perspective. They utilize the UI Step classes to simulate real user scenarios and validate the application's behavior. API System tests: High-level tests that validate backend service functionality. They utilize the API Step classes to perform end-to-end API testing. API Component tests: Granular tests focusing on individual components or units of the API. They ensure that specific functionalities of the API work as expected, often used for testing isolated services or endpoints. Top Layer: High-Level Tests UI tests : High-level integration tests focused on user interface validation, ensuring that the application behaves correctly from the user’s perspective. API tests: High-level integration tests focused on backend services validation, ensuring that the APIs function correctly and meet their specifications. Data Flow and Interaction: From Layer 1 to Layer 2: Page Object and Controller Classes provide the foundational methods and interactions that are used by UI Step and API Step Classes to define specific workflows and actions. From Layer 2 to Layer 3: The Step classes in Layer 2 are used by the test classes in Layer 3 to perform comprehensive system tests. The Step classes help abstract the test logic, making tests more readable and maintainable. Cross-layer Interactions: Utils can be accessed across all layers to provide common functionalities, while the dependencies between classes ensure a modular and reusable structure. This architecture promotes maintainability, readability, and reusability of test code, aligning with the best practices of modern test automation frameworks. Importance of Preconditions and Postconditions in Tests Preconditions and postconditions play a critical role in ensuring that tests run smoothly and reliably. They help establish the necessary initial state before a test begins and clean up afterward to maintain system integrity and test isolation. This practice prevents side effects that could affect subsequent tests, ensuring each test runs in a consistent environment. Set up required data assets: Using preconditions, we create the necessary data assets required for the test. This might include creating users, setting permissions, or preparing specific configurations. We utilize API Step classes to handle these setups efficiently. By using API calls, we can quickly set up the required state without navigating through the UI, saving time and reducing complexity. Clean up after tests: Postconditions ensure that any data created during the test is removed afterward. This helps maintain a clean state in the system and prevents interference with other tests.  API step classes are also used for cleanup activities, such as deleting users or removing test data. This approach ensures a thorough and efficient cleanup process. Reducing UI Steps with API Steps is to optimize our tests. We use API steps to set up the test environment, reducing the number of UI interactions needed. This makes tests faster and less brittle, as they rely less on the UI's state and more on direct API interactions. API Steps for Preparation: Efficient Setup : By using API calls to set up the test environment, we can ensure that all necessary preconditions are met quickly and reliably. Minimizing UI Interactions : Reducing the number of UI steps in the setup phase minimizes the chances of UI-related issues affecting the test. Directory Structure and Organization The framework is organized into a well-defined directory structure that promotes clarity and ease of navigation. A typical structure looks like this: /src : Main source code for the test framework, including controllers, models, configurations, constants, pages, steps, and utilities. /api: Controllers for API requests, and models for structuring data. /controllers:   Classes with the API requests for different end-points. users.ts: Manages API interactions related to users. resClient.ts: Likely a client for handling the API context for each API controller request that provides base URL and handles authentication. /models: Interfaces and types for structuring data. User.ts: Data model for a user, used for structuring API data. /config: Environment-specific configurations. env.config.ts: Configuration file for environment-specific settings. /constants: Constant values used across the framework. roleName.ts: Constants for role names used across the tests. /fixtures: Predefined data for tests. pages.fixtures.ts: Fixture data for the tests, such as predefined sets of data. /pages: Page Object classes for different pages of the application. adminPage.ts: Page Object class for the admin page, containing locators and methods specific to this page. /steps: UI and API Step classes to encapsulate sequences of actions. adminPage.steps.ts: UI step definitions for the admin page, utilizing the Page Object class to perform actions. admin.api.steps.ts: API step definitions for admin-related API interactions, utilizing the controllers. /utils: Utility functions and classes. /tests: The actual test scripts are organized by feature and type (UI/API). admin.test.ts: Test scripts for the admin UI and API separately, utilizing the UI and API steps. playwright.config.ts: Configuration file for Playwright, defining settings such as browsers, timeouts, and test project configurations. Page Object Model (POM) Structure The POM pattern helps encapsulate the web page structure and behaviors, making tests more maintainable and reusable. Structure of Page Object Classes: Properties : Locators for web elements. Methods : Primitive actions with web elements such as click, fill, isVisible, waitForState, etc. The main goal is to create straightforward methods that perform a single action, avoiding the combination of multiple actions involving web elements within a single method. All Page classes should extend the BasePage class. When creating a new locator (and the corresponding method to interact with it), ensure that you prioritize finding a unique locator (via the DOM) and create a unique method/step for the UI element. If it is not possible to find a unique locator through the DOM, you can identify dynamic elements by their text. In such cases, create an abstract method and an abstract step that accepts the element's text as a parameter. Controller Classes Controller classes in Playwright serve as a centralized way to manage and interact with different API endpoints of an application. They encapsulate the logic for making API requests, ensuring that each request is performed consistently and securely. This approach promotes code reuse, maintainability, and clarity, especially when dealing with multiple API endpoints. The example code snippet for the UsersV1 class demonstrates several key concepts: Static properties are used to define the API endpoint URLs. This practice centralizes the endpoint definitions, making it easy to manage and update URLs. Static methods encapsulate the logic for interacting with the API. These methods handle tasks like setting up the request context, making the API call, and returning the response object. Methods like getAuthorizedContext are used to obtain an authorized API request context. This ensures that each API request is made with the necessary authentication and authorization headers. The controller class provides methods for different types of API requests (e.g., GET, PATCH). This makes it easy to extend the class with new methods for additional endpoints or request types. By following this structure, the controller classes ensure that all interactions with the API are managed in a clean, maintainable, and scalable way, enhancing the overall robustness of the test framework. Page Object Step Classes  The concept of UI step classes is to encapsulate sequences of actions, combining methods from different Page Object classes to create higher-level functionalities. This approach ensures modularity and reusability of test steps. Here’s an example to illustrate this: Key Points: Modularity : Each method performs a specific sequence of actions, making it reusable and maintainable. Readability : Combining methods from different page objects into a single step method provides a clear, high-level overview of the steps involved in a process. Reusability : These steps can be used across different tests, reducing redundancy and improving test maintainability. This approach leverages the modularity of Page Object classes while providing a higher level of abstraction for test steps, making tests easier to write, read, and maintain. API Step Classes The concept of API Step classes is to encapsulate API interactions into reusable and maintainable methods. These classes combine various API calls and actions into high-level operations that can be used in tests. Below is a code snippet demonstrating an API Step class and an explanation of its components and functionality: Key Points Encapsulation : API Step classes encapsulate API interactions into high-level methods that can be reused across different tests. Reusability : Methods like userLogIn and getUserIdByName can be used in multiple tests, promoting code reuse and reducing redundancy. Modularity : Each method performs a specific API interaction, making the code modular and easier to maintain. Test Steps : Each method uses test.step to provide descriptive steps, making the test execution logs more readable and easier to debug. Response Handling: Each method handles the response status code, ensuring the expected status is received. Data Extraction : Methods extract data from the response body based on predefined models (e.g., User), ensuring consistent and type-safe data handling. API Step classes like UsersAPISteps abstract the complexity of API interactions, providing a clean and organized way to perform high-level operations. This approach enhances the readability, maintainability, and reusability of test code, aligning with best practices in test automation. Each method ensures the response status code is as expected and extracts data from the response body based on models, promoting robust and reliable tests. Test Structure in Playwright In our Playwright-based test framework, each test scenario is organized within a separate describe section. This structure ensures that each test can have its own setup and teardown procedures, allowing it to create and delete its own data as needed for the scenario. This approach helps maintain test isolation and reliability. The following code snippet illustrates how we structure our tests: Each test scenario is enclosed in a description section. This ensures that related tests and their setup/teardown processes are grouped together. The beforeEach hook sets up the necessary data and state before each test case runs. In this example, it creates an admin user and verifies their presence. The afterEach hook cleans up the data and states after each test case runs. In this example, it deletes the admin user and verifies their deletion. Individual test cases are defined within the description section. Each test case focuses on a specific scenario or functionality. In this example, the test case logs in as the admin user navigates through various pages and verifies the data source title and cube build result. In the test definitions, the custom fixtures are used as part of the test context. This allows tests to use pre-configured Page Object step instances (dataPageSteps, dataSourcePageSteps) without needing to create them within each test. With fixtures, tests are simpler and more focused on the actual testing logic rather than using additional code to initialize instances. In our tests, we also use the userContext fixture, which initializes the user data required for the test, including all necessary information for the test to run properly. By structuring our tests in this way, we ensure that each test scenario is self-contained, with its own data setup and teardown processes. This promotes test reliability and makes it easier to diagnose issues when tests fail, as each test operates independently of others. Conclusion We chose Playwright with TypeScript because it offers powerful features like cross-browser testing, intelligent auto-waiting, and comprehensive APIs for both UI and API testing. TypeScript's static typing and widespread use among developers made it an excellent match for our needs. Compared to our previous Serenity/Selenium setup, Playwright is more modern, reliable, and easier to maintain. We encourage you to consider Playwright with TypeScript for your testing needs. Its powerful features, modern capabilities, and strong community support make it an excellent choice for building reliable and maintainable test automation frameworks. This structure will help ensure their tests are reliable, maintainable, and efficient, just like ours. By adopting Playwright, you can benefit from improved test coverage, enhanced reliability, and increased developer productivity. Our sample framework can serve as a valuable starting point, helping you to create your own efficient and effective tests. We invite you to share your feedback and experiences with us. Your insights can help us all learn and improve together. Feel free to reach out and let us know how Playwright with TypeScript is working for you and any tips or best practices you discover along the way. Let's collaborate to achieve higher-quality software and more efficient development processes. References Link to official Playwright and TypeScript documentation Link to playwright test framework example

      vova_chubenko
      vova_chubenkoPosted 2 years ago • Last reply 1 year ago
      4
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      New year- new content!

                                                       

      New year- new content! We are pleased to announce the launch of 25 ALL NEW COURSES that are AVAILABLE NOW for Data Designers! These courses will help data designers of all skill levels by expanding your knowledge, providing hands-on opportunities, and covering all of our LATEST data modeling best practices (approx 3 to 4 hours of content and hands-on practice). Our new courses are based on brand new data and assets, divided into microlearning units, they are interactive and accessible! (yes, yes, we finally have captions!) To get access to the new Data Designers learning path  CLICK HERE  and then click on the blue Get Started button to register. If you are new to the Sisense Academy, I encourage you to make an account and sign up for courses based on your role. This is just the beginning of new content releases in Sisense Academy as we are working hard behind the scenes on the next set and we look forward to sharing more with you soon! This is a continuation of the ongoing update on the general Sisense Academy.  Towards the end of 2023, we launched our ALL NEW Sisense Academy! We improved user experience, updated content, removed outdated content, improved the navigation of courses, and even added on-demand webinars. Happy Holidays and I hope to see you all in the Academy! Iyyar Schwartz Gabay Primary Role and Resp onsibilities: Content Strategy, Creation & Management Academy administrative &  operational support Technical Teams Enablement   [Headshot of Iyyar with long brown hair, looking directly at the camera, radiating happiness and approachability]

      iyyar_sg
      iyyar_sgPosted 1 year ago
      0
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      2024 Sisense Community Wrapped

                       

      2024 Sisense Community Wrapped As 2024 comes to a close, we’re taking a moment to reflect on our incredible journey together in the Sisense Community. From inspiring discussions to groundbreaking initiatives, this year has been filled with milestones worth celebrating. Let’s take a look back at some of the 2024 highlights and set our sights on an even brighter 2025!  CommunityFest This was our month-long event where we were able to engage with many of our members in a multitude of ways! Members shared their use cases in blogs, helped each other find solutions to their questions, and so much more!   We had so many wonderful winners, and we want to thank everyone who participated. It was truly a special event and one of the highlights of our year! @Jake_Raz @dannyr @Helena_qbeeq @MuznahM @Astroraf @Larisabrownb @pdigance-arco @rcoleman_cmtx @Priscillareagan @cshun @HamzaJ @mdiventi @OluwaTOBI @pettijol @mbottai Feature Frenzy In October we hosted Feature Frenzy, an event designed to encourage our Sisense Sherlocks to submit, vote, and comment in the Product Feedback Forum . Wow, did they come through! In October we had the most ideas submitted, most ideas read, and almost 200% more votes on ideas than any other month this year. We are working with the product team to use that invaluable feedback to make Sisense the best solution, and there are plans to add some of those ideas to Sisense in the coming year! Thank you again, and keep the ideas, comments, and votes coming! We hosted a webinar! We hosted a webinar , during which we did a  live  demo of the community and a Q&A ! Check it out here !  We had a brand refresh!  ICYMI- Sisense had a brand refresh! We have a new logo & colors! I’d love to hear your thoughts about the refresh in the comments!  Spotlights of the quarter!  This year, a big goal of ours was to spotlight a customer, partner, and employee each quarter, chosen based on their involvement within the community. Below are the featured members of 2024, and we look forward to more next year. Who knows, maybe YOU will be next to see your name in lights! Customer of the Quarter Q3- @HamzaJ Q4- @Priscillareagan Partner of the Quarter Q4-  @dannyr     Employee of the Quarter Q4-  @TriAnthony91     Metrics… we all love data!  Community engagement is up an average of 130% Year-over-Year!  Here are a few highlights of our YoY growth: Forum Replies: Forum Posts: Accepted Solutions: Site Visits: 186.59% 89.62% 269.77% 188.61% On behalf of Sisense and the entire community of Sisense Sherlocks, Thank you for creating a helpful and active community!  Top content of the year!  Knowledge-Based Articles:  How to install new kernel or update existing one in Ubuntu Relocating /var/lib/docker directory Cancel IIS Timeout And Recycling Customer Blogs:  Implementing Self-Service BI with Sisense: Key Steps and Insights Data Doesn’t have to Look Boring: Brag about it with BloX The Sisense Experience: How I Enhanced Data Analytics Leveraging Sisense Discussions: How to Calculate YTD by Month in a pivot table JWT Token with Iframe Dashboard - Passing Filter Values Using URL Parameters THANK YOU! None of this would be possible without you, our amazing community members, the Sisense Sherlocks. Together, we’ve built a space where collaboration, learning, and growth thrive. Here’s to continuing this momentum into 2025. We’d love to hear your favorite moments from this year—drop a comment below! We also would appreciate any feedback . Please  take 5 minutes to complete our EOY survey !

      jpacheco
      jpachecoPosted 1 year ago • Last reply 1 year ago
      1
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Sisense version L2024.3 is now GA for all customers

                       

      SRV Connection String Support in MongoDB Connector The MongoDB connector for ElastiCubes now supports the SRV connection string Sisense Mobile App version 3.0.2 has been released Improvements to:  Audit Logs, Build, Database, Data Models, Export to Excel V2, Git, and Infra. Many fixes , see the  Release Notes . Link to  L2024.3 Release Notes  Link to  L2024.3 full release content  (Jira)   Link to  L2024.3 bug fixes    (Jira)     Installation  links : Generic version link Offline RKE link Provisioner link

      DRay
      DRayPosted 1 year ago
      0
               
      • News & UpdatesChevronRightIcon

      Join us at AWS re:Invent!

                                                       

      We’d love to connect with you at AWS re:Invent! If you’re looking to explore how to use Sisense better or enhance your data strategy, we're excited to chat! Visit our Marketplace booth to have a chat and pick up some cool swag, and join our session on Thursday, December 5th, to learn about GenAI and analytics with Tal Gozhansky, VP of Solution Engineering . Don't miss out on happy hour with us at Topgolf on Tuesday, December 3rd! Picture of TOPGOLF Check  here for details and to register. 

      DRay
      DRayPosted 1 year ago
      0
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Feature Frenzy: Your Ideas, Our Innovations!

                       

      Feature Frenzy: Your Ideas, Our Innovations! Hello, Sisense Community! 🎉 We’re thrilled to announce Feature Frenzy , our semi-annual event dedicated to putting YOU in the driver’s seat of Sisense’s future. This is your chance to share your ideas on how we can enhance your experience, streamline your workflows, and ultimately make your lives easier. What is Feature Frenzy? Feature Frenzy is all about collaboration. We believe the best ideas come from you—our valued customers. Whether it's a new feature you wish existed, a change to an existing one, or any other suggestion, we want to hear it! This is your opportunity to influence the product you use every day. Get Involved! As a member of the Sisense Community, you have exclusive access to our Product Feedback Forum . Here’s how you can participate: Log In: Head to the Sisense Community and log into your account. Share Your Ideas: Propose your best ideas! Not sure where to start? Think about what would make your experience with Sisense even better. Vote & Comment: Browse through ideas submitted by other users. If you see something you like, vote for it ! The more votes and comments an idea receives, the higher its chances of being considered for implementation. Provide Details: When submitting your idea or commenting, the more specifics you can provide, the better! Detailed feedback helps our product team understand your vision. Why It Matters Every idea submitted during Feature Frenzy is carefully reviewed by our product team. We want to ensure that your voice is heard and that the features you need most are prioritized in our development roadmap. Let’s Get Started! Don’t wait—check out the Product Feedback Forum today and let your voice be heard! Your feedback is invaluable, and together we can make Sisense even better. Thank you for being such an important part of our community. We can’t wait to see what ideas you come up with! Happy brainstorming! 💡

      DRay
      DRayPosted 1 year ago
      0
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Sisense L2024.3 Release Notes

                       

      Release Overview Release L2024.3 provides a number of new features, improvements, and fixes to Sisense for Linux. What's New The following table lists the high-level impact (or potential impact, if any) of new features, and how to handle it if upgrading to version L2024.3 or newer. Continue reading the Release Notes below the table for a detailed explanation of these features, as well as improvements and fixes. Feature Issues and Actions to Consider SRV Connection String Now Supported in MongoDB Connector There are no specific actions to consider - this is an optional capability. SRV Connection String Support in MongoDB Connector The   MongoDB connector   for ElastiCubes now supports the SRV connection string (see   https://www.mongodb.com/resources/products/fundamentals/mongodb-connection-string   ). When the “Use Svr Connection” checkbox is marked, the input field for “Port“ is hidden and the provided SRV connection will be used. The MongoDB connector has been updated and now supports MongoDB versions 5.0 & 7.0. What's Improved Audit Logs The Audit logs are now always enabled. This is non-configurable. Password changes will now be audited in the Audit logs. Build Now, in ElastiCubes with failed builds, the latest build logs are displayed each time a user opens such a data model. This simplifies accessing data required for fixing the issue by the user. The build flow has been extended with additional validations to proactively inform users about potential issues and prevent usage of corrupted data in dependent assets. The following validations have been added: "DataIndexingValidation" - Validates that all keys and values in dimension tables are unique "RelationDimTablesValidation" - Validates that all dimension tables that were created for relations between tables include all of the possible keys and values "IndexingDimTablesValidation" - Validates that all dimension tables that were created for indexing include all of the possible keys and values All of the validations are included and enabled by default in the build flow and fail the build with corresponding messages displayed in the build logs. In most cases, rebuilding fixes the issue. Database Several database optimizations have been implemented, including: refining complex queries, adding new indexes, and removing unused indexes. These improvements have led to performance gains in API response times, particularly in Sisense instances with large numbers of users, dashboards, and widgets. Data Models It is now possible to easily access the OID of data models’ entities, such as Model OID, Dataset OID, and Table OID.   Export to Excel V2 When   exporting a Pivot widget to Excel , you can now choose between repeating rows (displays repeating row values in each cell) and merging rows (merges cells with repeating row values).   Git Previously, creating a Git project on an instance with a large number of users and assets may have been very slow. The performance of loading assets available to be added to the project by relevant users and the overall project creation flow have been improved. Infra Due to the deprecation of the component, the deployment of model-logspersistence has been removed from the application. Mobile Sisense Mobile App version 3.0.1 has been released, and includes the following improvements: Implemented session inactivity support in the mobile app for all authentication types Added direct login support for internal users in the mobile app when SSO is enabled. In order to login with Sisense credentials: In the server selection screen, enter the direct login URL:   {your_server}/app/account/login   – this opens the direct login screen In the login screen, enter your Sisense user name and password Fixed SSO error handling and overall SSO stability Many minor improvements Important - Session inactivity flow: In case of activity in the mobile app, the session expiration timeout will be extended (only for activity with requests - menu, elements, dashboard, and filters menu will not take effect) Logout after the session expiration timeout will be performed only in case of re-rendering What’s Fixed Add-ons Report Manager   - Previously, CSV files generated by the Report Manager were limited to 50K rows. This has now been fixed, and will contain the same number of rows as when downloaded directly from a dashboard UI, even if more than 50k. Data Models Previously, if an   .sdata   file was renamed, attempting to import it failed with the following error: "java.lang.NullPointerException: Cannot read the array length because "dbs" is null". Importing   .sdata   files now works as expected. Previously, when the same column of the data model was renamed in different tabs of the same browser, it returned the following error: "Validation error: Invalid table schema. The table contains duplicate column names.". Now, it works as expected, using the latest updated name of the column. Previously, duplicated custom import queries would still point to the table ID of the original import query, which resulted in query errors and failed widgets. Now, logic for identifying tables works as expected. Data Security In earlier versions, you may have encountered dashboard loading errors in cases when no permitted values by data security rules were found for them. This has been amended, so that such dashboards are loaded as expected and display no results. Email Reports Previously, upon transferring ownership of a dashboard, the new owner was not able to modify and save the report schedule, since their changes would be lost after republishing. This has now been corrected, so that the reporting schedule configured by the user is saved after republishing. Export to PDF In earlier versions, the PDF formatting configuration in the PDF report settings was sometimes not being saved after a user had saved it successfully several times. This has now been fixed, so that the selected PDF format is saved upon every attempt. Filters Previously, setting a datetime filter with a level different from the level of a background filter led to filtering out some relevant periods' data or receiving no results. This has now been fixed, such that the data is displayed for all periods of any date level that are filtered by a user, as scoped by the background filter. Git Previously, the color palette of dashboards tracked in Git projects reverted to ‘Vivid’ and created unintended uncommitted changes. This has been fixed, and now works as expected. Previously, pulling commits that included deletion of the asset from the project was not reflected in the target environment. Now, the asset is deleted from the list of tracked assets of the project. Note that in such cases the asset is not deleted from the actual DB, which is by design. Previously, when the owner of a Git project was deleted from the system, the project was not accessible. Now, ownership automatically moves to the system admin, and the project's accessibility remains the same. Multitenancy Previously, white-labeled organization tenant logos were redirecting to the system tenant home page. This has now been fixed, such that clicking an organization tenant logo leads to the tenant's home page. Previously, it was possible to assign a Tenant Admin role to a system tenant user by editing their role. The Tenant Admin role would then be locked without the possibility to revert the change. This has now been corrected, such that the Tenant Admin role cannot be assigned to users in the system tenant. Notebooks Previously, outdated Notebooks query results that were no longer used were not cleaned up properly, thus consuming storage space. As a result, some customers experienced disk space issues, for example not having enough space to back up data, etc. Now, the Notebooks files and folders that are not linked to existing Notebooks are cleaned up automatically on a regular basis, thus avoiding unnecessary storage consumption. Perspectives Previously, when there were a lot of tables in the perspective, or a table expanded to see all columns, the layout of the Apply/Cancel buttons got corrupted, making it hard to design such perspectives. Now, the layout of the buttons is correct regardless of the amount of tables or columns in the perspective. Simply Ask (NLQ) Simply Ask now displays an error message when a query fails to run. Previously, table names were not hidden properly when the hide table name configuration was enabled. This has now been fixed and works as expected. Usage Analytics In earlier versions, exporting widget to image was not recorded in Usage Analytics. This has been fixed, and widget export to image now appears in the Usage Analytics data. Web Access Token Previously, when viewing Sisense assets via Web Access Token (WAT), the Notebooks tab was available to users. Since Notebooks are intended for writing ad-hoc queries and easily transforming them into visualizations, this tab is not relevant for the WAT end-users, and therefore it has now been removed from WAT. Widgets In earlier versions, after using the zoom bar on charts, the browser menu sometimes overlapped the right-click menu on value points. This has now been fixed. Widget Script Customizations In earlier versions, modifying a query limit via a widget script was ignored during query execution, thus having no effect on the widget results. The implementation has now been changed so that it is possible to override a query limit per widget by changing the 'query.count' property. What's Coming Among many other improvements and fixes, the following major feature is expected to be released in the next Service Update. Connection Management (GA) With the L2024.3 Service Update 1 release,   Connection Management   moves from Beta to General Availability (GA), becoming the unified solution for managing data source connections. This feature enhances governance, security, and efficiency in managing connections across assets such as ElastiCubes, Live Models, and Notebooks.     Key Use Cases Reuse Across Multiple Assets:   A single connection can be reused across multiple data models and asset types (ElastiCubes, Live Models, Notebooks), streamlining connection management. Secure Sharing:   Connections can be shared without the need to expose sensitive data, such as login credentials or passwords, ensuring security across teams and users. Centralized Management:   Centralized management and governance enable administrators to control and monitor all connections from a single location, simplifying oversight. Instant Updates:   Any changes made to a connection are instantly applied to all dependent assets, eliminating the need for manual updates and ensuring consistency across the system. Encourages Connection Sharing:   The system encourages the sharing of existing connections to reduce duplication and maintain a streamlined connection structure. Visibility and Dependency Management:   Gain visibility into all assets that depend on a connection, with the ability to manage dependencies, ensuring that any connection changes are carefully handled. Migration Details Conversion of Old Connections:   All legacy connections are converted into the new managed connections format. Setting “supportedModelTypes”:   The connection type is determined by the asset it was converted from: NOTEBOOK:   If the connection was converted from a Notebook EXTRACT/LIVE:   If the connection was converted from a Data Model Deduplication of Connections:   Keeping only unique connections aiming to prevent duplicates. If there were multiple connections with identical connection details but owned by different users, they are converted into two separate managed connections. Ensuring Backward Compatibility:   All assets that previously used these connections will continue to function seamlessly, maintaining full backward compatibility. When working with   Git projects , the following actions should be taken into consideration: Commit the Converted Connections:   After migration, each converted connection is assigned a new OID, which appears in the Uncommitted section of your Git project. It is important for users to commit these changes rather than discard them, ensuring proper tracking of the converted connections and maintaining the consistency of the data models. Handling Merge Conflicts Across Environments:   Since migration occurs independently in each environment (e.g., Dev, Stage, Prod), the same data model may have different managed connection OIDs across environments. This will likely result in a merge conflict when pulling changes from one environment to another. Users must resolve this conflict one time by selecting the connection that should be used with the data model across all environments. This migration process ensures a smooth transition to the new Connection Management system without disrupting existing workflows or assets.

      DRay
      DRayPosted 1 year ago • Last reply 1 year ago
      2
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Wrapping Up CommunityFest 2024: A Celebration to Remember!

                       

      Wrapping Up CommunityFest 2024: A Celebration to Remember! As we bid farewell to a fantastic year of CommunityFest, we can’t help but reflect on the incredible experiences, connections, and achievements that made this event truly special. This year’s festival brought together hundreds of community members for a month filled with laughter, learning, and celebration, and we’re thrilled to share some highlights from the event. Additionally, we would appreciate all feedback in this form for future CommunityFest!! ALSO... don't forget to vote for the community nickname! We are down to 2, and the poll closes on 9/15!!! A Weekend of Highlights From engaging conversations and thought-provoking blogs to silly casual conversation posts, CommunityFest 2024 had something for everyone. Our local members showcased their talents and experiences, while our diverse range of activities that allowed every member to participate. The energy and enthusiasm of our participants were nothing short of inspiring! Spotlight on Our Winners One of the most exciting parts of CommunityFest is celebrating the achievements of our community members. We are proud to announce the winners of our various competitions and awards. Their hard work, creativity, and dedication have truly shone through this year. Without further ado, here are the winners: 3 Most Kudosed post Jake_Raz dannyr Helena_qbeeq 3 Posts with the most comments Jake_Raz MuznahM Astroraf 3 Users with 100% Completed profile Larisabrownb pdigance-arco rcoleman_cmtx 3 Users that created a blog for the community (Submitted or published during CommunityFest) Priscillareagan Cshun HamzaJ Weekly Casual Conversations posts: The weekly winner for the most popular answer. mdiventi Cshun HamzaJ Helena_qbeeq 5x Comment on a specific post to be entered into a drawing for a Swag Bag!  OluwaTOBI Cshun pettijol Jake_Raz mbottai Congratulations to all the winners! Your contributions have added a special touch to this year's festival, and we’re so grateful for your participation. Thank You! Stay tuned for information on our next community even, and let’s keep the spirit of community alive until we meet again!  Stay connected and keep celebrating our amazing community!

      jpacheco
      jpachecoPosted 1 year ago • Last reply 1 year ago
      2
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Participating in Sisense CommunityFest 2024

                       

      Participating in Sisense CommunityFest 2024 A Celebration of Community Communities provide a place to talk, share, learn, and grow with others who share our attitudes, interests, and goals. Like rope braided together is stronger than the sum of the individual strands, we become better, stronger, faster and make better decisions. Community is something that AI will never be able to generate. AI cannot build human connections. The real content of a Community is not the text on the screen, it’s recognizing the names of other members and being excited to see what they have to say. It’s being at a conference and meeting the people behind the screen-name, and already having a common ground and relationship baseline. It’s shaking the hand of the person who has helped you so many times and being able to say “Thank you”. Maybe you answered questions, and now you’re meeting people you have seen learn and grow and succeed, and it feels good to be a part of that! That is Community, and that is something that computers can never replace. In celebration of Community, we are excited to host Sisense CommunityFest, a month-long celebration of all of you, the people who make this Community what it is.  The entire month of August you will see fun posts, contests, polls, and giveaways of prizes and money. We will cap it off with the announcement of our new Community name, the contest winners, and featured users of the quarter. List of the prizes: (3x$50) Most Kudosed post (3x$50) Post with the most comments (3x$50) 100% Completed profile (3x$100) Writes a blog for the community (Submitted or published during CommunityFest) Weekly Casual Conversations posts: Weekly winner for the most popular answer gets $50 5x Comment on this post to be entered into a drawing for a Swag Bag! All winners get a swag bag! (You get a bag, and you get a bag!) 1x Tote Bag 1x Sisense Socks 1x Journal 1x Water Bottle 1x Can Opener Other Prizes: #1 Kudosed Post: 1x Polo (L, XL, 2XL) #1 Post with the most Comments: 1x Polo (L, XL, 2XL) 3x 100% Complete Profile: 1x Blue Sweater (S,M) 3x Blog post winners: 1x Polo (L, XL, 2XL) Events: For the first two weeks, Community members can submit Ideas for a Community name. In the final two weeks there will be a poll, with the winning name revealed at the end. Total number of prizes: 29 Total Cash Prizes: $750

      jpacheco
      jpachecoPosted 1 year ago • Last reply 1 year ago
      16
               
    • Blog banner
      • News & UpdatesChevronRightIcon

      Introducing CommunityFest 2024: A Virtual Extravaganza!

                       

      Introducing CommunityFest 2024: A Virtual Extravaganza! Hello, Wonderful Members of the Sisense Community! We are thrilled to announce a groundbreaking event that promises to take our community experience to new heights: CommunityFest 2024! This virtual extravaganza is tailor-made to celebrate our vibrant community and all the incredible contributions that make it so special. What is Expected? CommunityFest 2024 is jam-packed with exciting activities and competitions designed to showcase the talent and engagement of our community members throughout the month of August! Here's a glimpse of what awaits you: Top Kudos & Most Comments:  We'll be keeping a keen eye out for those who earn the most kudos and generate the most engaging discussions through comments. Whether it's a thought-provoking blog post, an insightful forum thread, or valuable product feedback, every interaction counts towards your chance to shine! Profile Showcase:  Your profile is your digital calling card, and now's the perfect time to give it a makeover! Complete your profile and update your photo to let your personality shine through. After all, a vibrant community starts with vibrant individuals! Community Blogs:  We're passionate about sharing stories, experiences, and insights within our community. Whether you have a unique use case or inspiring story  @jpacheco  to get your blogs posted and share your Sisense journey with the world. Join Us for the Celebration! CommunityFest 2024 promises to be an unforgettable event, filled with camaraderie, creativity, and countless opportunities to connect with fellow community members. So please mark your calendars, set your reminders, and get ready to join us as we come together to celebrate everything that makes our community truly exceptional! Stay tuned for more updates and announcements as we countdown to the festivities of CommunityFest 2024, and check this post for more information.  https://community.sisense.com/t5/product-and-website-news/participating-in-sisense-communityfest-2024/ba-p/22246

      jpacheco
      jpachecoPosted 2 years ago • Last reply 2 years ago
      1