Product Support and Maintenance Policy
OneStream is committed to continually developing and enhancing our SaaS offering and software, providing customers with innovative solutions to meet ever-growing requirements. As new versions are introduced, OneStream actively plans to retire older versions. To support this, OneStream has implemented a Product Support and Maintenance Policy which is available at: https://www.onestream.com/saas-terms-and-conditions. As per the Product Support and Maintenance Policy and the terms, General Support ends 30 months after release. In 2025, this policy will be further implemented by giving customers the option to upgrade to the latest version or transitioning customers on unsupported versions to a prepaid support model. When a customer upgrades to a supported version, General Support will continue to be provided as per the Product Support and Maintenance policy. Prepaid Support Prepaid support includes a minimum of 40 hours over a period of 6 months. It is available after General Support ends as a bridge to a supported version. If you have a balance of purchased hours on your CSRC OnePass Subscription, those hours can be used as prepaid support hours over a maximum period of 6 months when General Support ends. A prepaid support item will be added to our Service Catalog in an upcoming release. It will be visible for all customers, not just those who are on unsupported versions. If you would like more information on prepaid support, please ask your Customer Success representative. Support During Upgrades Customers with an active Upgrade Case (Software Upgrade, Cloud Migration Readiness, and Cloud Migration) will be provided with support for a period of 3 months during the upgrade. Upgrade Cases will continue to be available after General Support and prepaid support end. Informational Banners To ensure our customers are aware of their upcoming End of General Support date, we have released informational banners in the Support portal. They will appear 6 months before the End of Support date. The banner will contain a countdown of months remaining before End of General Support. ‘0 months remaining’ means thatGeneral Support will end on the 1 st of the next month. After this, a new banner will appear explaining that General Support has now ended, and that an upgrade is required. Customers on older contracts may see an End of Support banner without a specific date or a countdown of months remaining. In this case, the End of General Support enforcement will begin at contract renewal. For customers actively upgrading, the banner may disappear. If the upgrade becomes blocked due to lack of response or significant planned delay, the banner may re-appear. FAQ How can I tell what my End of General Support date is? For most, the End of General Support date is 30 months after the release date of that version. To locate your release date, review our Release Notes. Navigate to documentation.onestream.com -> release notes -> select version. For customers who are on versions that are already out of General Support, upgrade dates are in staggered batches based on release dates and contract terms. These customers will receive a banner with a specific date or a countdown towards that date. Lastly, for some customers on older contract terms, the Product Support and Maintenance Policy will apply from contract renewal. They will receive a banner without a date or countdown. How are release dates calculated? The Product Support and Maintenance Policy establishes End of Support dates from the major and minor versions. Hotfixes do not reset End of Support dates. For example, the End of Support date calculation for all v7.4.x versions is based on the release date of v7.4.0. My End of General Support date is coming up, but I need more time to upgrade. What are my options? You may submit a Software Upgrade for v8+ to begin a 3 month grace period. You may also purchase Prepaid Support for 6 months after your End of General Support date. My version is already older than 30 months. Will I lose access to the Support portal immediately? We have staggered upgrade dates based on your release date. There will be an informational banner in the Support portal to advise on your End of Support date. If you do not see a specific date, General Support will end at your contract renewal. Can I purchase prepaid support before my End of General Support date? Yes. From August 1 2025 it will be made available to customers before their End of General Support date, and up to 6 months thereafter. I have an existing balance of OneStream Support hours on my CSRS OnePass Subscription. Can I use those hours after End of General Support? Yes. If you have a balance of purchased hours on your CSRS OnePass Subscription, those hours can still be used when General Support ends for a maximum of 6 months. Where can I find the full Product Support and Maintenance Policy? https://www.onestream.com/saas-terms-and-conditions, then look for ‘Product Support and Maintenance Policy.’600Views0likes0CommentsPlatform 9.0.1 Hot Fix : Database Upgrade Utility
OneStream Software has released Hot Fix v9.0.1 to address an issue observed during the v9.0.0 database upgrade process. The correction only updates the OneStream Database Configuration Utility and does not impact OneStream core functionality. This Hot Fix will ensure an uninterrupted database conversion for future upgrades to v9. Platform v9.0.1 is now on Solution Exchange, and all new v9 upgrades will be to v9.0.1. To ensure uniformity, all existing v9.0.0 customers will be upgraded to v9.0.1 during the regularly scheduled June 16 th maintenance window. v9.0.1 Release Notes are available on the OneStream documentation site. FAQ: Will the Hot Fix be Backwards Compatible with v9.0.0 Clients? Yes, the 9.0.1 Fix is backwards compatible with v9.0.0 clients. Will customers have to install the Windows desktop and Excel Add-in with the Hot Fix? No, the 9.0.0 Windows Desktop and Excel Add-In are compatible with the 9.0.1 Server and no client re-installation is necessary. Does Click-Once need to be updated as part of this Hot Fix? No, there are no changes required for Click-Once users. Users will see 9.0.1 indicated on their OneStream landing page indicating the connection to the 9.0.1 server.157Views3likes0CommentsUPGRADE REMINDER
Howdy folks! As a reminder, we are rapidly approaching the Community platform upgrade, slated for Wednesday, December 4. We anticipate downtime and some things looking wonky up until noon EST. Please bear with us as we get everything updated and sorted. Here's what you can expect while the upgrade takes place: December 4 1am- 6am EST - Community platform magic begins! 7am EST- SSO back up and running! AKA: users will be able to login again 8-12pm EST- visual enhancements are put in place For those in time zones ahead of EST, we expect you might have several hours where the community is unavailable. We apologize for that. Unfortunately, it's unavoidable BUT we promise it'll be worth it 😀 Additionally, we will post a helpful blog to get you oriented with the upgraded community. We are excited for you to try out the new OneStream Community!63Views0likes0CommentsGovernment Community Cloud v9 Upgrade
OneStream is preparing to release version v9 for our Government Community Cloud customers. This document is a guide to the v9 upgrade process. A v9 upgrade is identified as an upgrade from a pre-v9 version to a v9 version. The designated FedRAMP authorized platform release will be v9 which will be made available to GCC customers later this year. Process Overview: The v9 upgrade has infrastructure and software changes that impact applications and integrations. We will migrate from your existing infrastructure to the new v9 architecture. To prepare our customers for this process, we are providing the pre-requisites for upgrade in advance of the release. See Pre-requisites heading below. In the coming months, GCC customers will be asked to submit a Software Upgrade request in ServiceNow. When the upgrade request is submitted, it will open a Support Case to capture the outputs of the items in the Pre-requisites section below. You will be notified when this is available. Once the pre-requisites are submitted, a OneStream project manager will meet with you to plan a timeline of activities. They will be assigned to the Case, available to meet and assist throughout the process. We will provide a mirrored v9 instance for configuration and testing before your go-live. An application copy is made from your pre-v9 instance to your mirrored v9 instance. The configuration and testing period is timeboxed to 2-3 weeks. The scope of work for the test instance is configuration (for example, SIC setup or business rule compilation updates) and functional testing. We will have you compile your business rules in v9 to determine if there are any new errors resulting from the more stringent .NET 8 compiler. Experts from OneStream will be available via the Case to assist. You should also test all functionality that may not be discovered via business rule compilation. During testing, keep a log of any updates you made to the v9 test instance to remediate issues. When testing is completed, we will schedule your go-live. This is a 4–48-hour process (you will be given a more precise estimate following a database size analysis) of downtime where we copy your live databases to the v9 instances. Weekends and evenings are available. As a final step, you will re-apply the updates discovered during testing, referencing the list you generated. After go-live, your pre-v9 instances are no longer accessible; you will be live in v9. Further information: Book time with our GCC v9 upgrade team for a presentation and discussion on the v9 upgrade process by using this link. We kindly request that you submit your Software Upgrade a week before the booking time so that we can prepare by reviewing your specific pre-requisites. Pre-requisites When a v9 Software Upgrade request is submitted, it will open a Case called Cloud Migration Readiness that includes intake forms for the pre-requisite action items described below. We have attempted to put together a comprehensive list of all impacts, but given the customizable nature of OneStream, there may be additional impacts uncovered in testing. We recommend you begin work on these pre-requisite items now. If additional assistance is required before the Cloud Migration Readiness Case can be opened, please open a Case. Please note that these pre-requisites are based on expected approvals for our GCC program. The 3PAO assessment is pending. Important: We recommend customers submit their v8+ Software Upgrade in the Service Catalog to review their specific pre-requisites on the Action items tab of the Cloud Migration Readiness Case prior to reviewing this document. Pre-requisites #1 and #2 will appear as ‘Authentication’ and ‘Data Connections’ Action Items only if they apply to you. Pre-requisites #3, #5, and #6 are referenced in the ‘Customer Specifications’ Action Item. Pre-requisite #4 should be reviewed by all customers. 1. OneStream IdentityServer Customers upgrading to Platform v9 will be migrated to OneStream’s modern IdentityServer OIS authentication technology. Your identity provider continues to be supported, but a change on our side requires that your IT create or edit (depending on identity provider – see Configuration Guides below) the authentication configuration for each OneStream instance. You are impacted by this pre-requisite if you see the ‘Authentication’ item on the Action Items tab of your Cloud Migration Readiness Case. (Opened when customers submit v8+ Software Upgrade.) Pre-requisite steps: Complete any necessary technical reviews by your IT Have your IT configure the new authentication configuration for each of your OneStream instances, referencing the Configuration Guide below per your identity provider and protocol. (See Configuration Process Detail below.) Submit the values gathered in the form of the last page of the Configuration Guide to us via the ‘Authentication’ action item in your v9 Cloud Migration Readiness Case. Configuration details: Provide your IT with the Configuration guide and sitenames listed in your Authentication item. Your site name is [sitename].onestreamcloud.com, per instance. For DoD customers, your sitename is [sitename].onestream.mil. Additionally, because we are providing you with a duplicated instance for testing, configure [sitename-temp].onestreamcloud.com for each instance. This will ensure you are prepared to access both your testing instances and your final instances after go-live. Example: Your site names are ‘govcustomer’ and ‘govcustomer-test’. The sitenames to configure for v9 are ‘govcustomer’, ‘govcustomer-test’, ‘govcustomer-temp’, and ‘govcustomer-test-temp'. We recommend taking a screenshot of each redirect URL and attaching it to Authentication action item submission. This reduces the risk of error and aids troubleshooting. NIPR NET customers will also require a new CSR to be generated for the duplicate Production. This will be provided on your Cloud Migration Readiness Case. Configuration Guides: Open ID Connect OIS Entra ID OIS Okta OIS PingFed OIS SAML (with any identity provider) Reference: General documentation Identity and Access Management Guide Note: disregard the section about configuring within OneStream; for our upgrade purposes, we require it in advance of the instance creation. Use the appropriate Configuration Guide below.) For further consultation, open a Conversation on the Cloud Migration Readiness Case with the Authentication team. 2. Smart Integration Connector Smart Integration Connector (SIC) establishes secure connectivity between OneStream Cloud and data sources in your network without a VPN connection. With SIC, you can create and manage network data source integration using OneStream administration interfaces and locally manage database credentials and ancillary files. SIC transition is a requirement for v9 upgrades for several use cases. You are potentially impacted by this pre-requisite if you see the Data Connections item on the Action Items tab of your Cloud Migration Readiness Case. (Opened when customers submit v8+ Software Upgrade.) Use cases for SIC Transition: Customers who are using a Virtual Private Network (VPN) to establish data connectivity between a OneStream cloud instance and a local data source. VPN’s will not be supported with v9 or higher. Customers referencing drivers hosted by OneStream. Drivers being hosted on OneStream servers will not be supported with v9. Examples: ODBC, OLEDB (Oracle), Snowflake, Teradata, Netsuite, SAP, JD Edwards Customers who are utilizing DLL’s. DLL’s being hosted on OneStream servers will not be supported with v9. Pre-requisite steps: Complete any necessary technical reviews by your IT Create the SIC Server (or be ready to deploy it in short order) Install the SIC v9 Local Gateway on the server. You can open a Case to request it securely. Ensure you request the OneStream version that your business users are intending to upgrade to. Submit the ‘Data Connections’ action item in your v9 Cloud Migration Readiness Case. Reference: Smart Integration Connector Guide For further consultation, open a Conversation on the Cloud Migration Readiness Case with the Data Connections team. 3. Solutions & Business Rule Changes There are several substantial changes in v9 that impact business rules and Solutions. To prepare for these changes, we recommend that you upgrade to v9 compatible Solutions in advance of migration testing. The process includes multiple application copies from your pre-v9 instance (at initial data load and go-live.) If they are not upgraded in the pre-v9 instance, you will need to upgrade them each time your application is copied to v9. Upgrading in advance reduces risk and complexity. You will compile your business rules in the v9 testing instance to uncover errors, if any. We will have OneStream experts available via the Conversation feature on the Case to assist. Many customers choose to leverage a consultant for this work. Pre-requisite steps: Review Impacted Solutions List, below. Upgrade to any compatible versions in your pre-v9 instance, ahead of the v9 upgrade. Compile your business rules in your pre-v9 instance. We will ask for this on the ‘Customer Specifications’ item of the upgrade Case, when available. The purpose is to rule out any existing errors; we want to focus our efforts on v9. Prepare a list of your Solutions and their current versions. We will ask for this on the ‘Customer Specifications’ item of the upgrade Case, when available. Once the list has been provided, OneStream will return a list of Solutions that you can upgrade in your pre-v9 instance. Reference: v8 _Impacted_Solutions_List.xlsx Business Rules & Workspace Changes in v8+ For further consultation, contact the v9 upgrade team via the Activity tab of the Cloud Migration Readiness Case. 4. OneStream IP Address Changes The IP addresses of your instance will change with v9. This has potential impacts you can prepare for. We have attempted to put together a comprehensive list of all impacts, but given the customizable nature of OneStream, there may be additional impacts uncovered in testing. Pre-requisite steps: If you have non-VPN web integrations such as API or SFTP, you may need to account for new additional OneStream IP’s in the relevant system. If you can allow your domains in the relevant system instead ([sitename].onestreamcloud.com), we recommend this. Otherwise, we will provide the new Application Gateway IP once the v9 instances are built at the start of the active migration process. If your IT has a strict outbound allow list, for example Cisco Umbrella, ZScaler, or similar products, you may not be able to access the new v9 test instance until they allow it. To prepare for this, review with your IT and ensure for all your site names ([sitename].onestreamcloud.com) that sitename and sitename-temp have been allowed in relevant systems. This will help to ensure that you can access all test instances and live instances. Cloud Note: Integrations using VPN’s are not accounted for here as they will be replaced by Smart Integration Connector. Reference: For further consultation, open a Conversation on the Cloud Migration Readiness Case with the Data Connections team. 5. .NET 8 Desktop Runtime .NET is the development platform used by OneStream to build the Platform. Prior to v9, OneStream used versions of .NET referred to as .NET Framework versions. The v7.x Platform release used .NET 4.8. OneStream Platform Release v9 or later requires Microsoft .NET 8. Pre-requisite steps: Install .NET 8 Desktop Runtime for all users who will be using the Windows Client*, or prepare to install it in short order https://dotnet.microsoft.com/en-us/download/dotnet/8.0 * v9 provides a browser client for end user functionality. Users working solely with the browser client do not need the .NET Desktop Runtime installed. Reference: For further consultation, contact the v9 upgrade team via the Activity tab of the Cloud Migration Readiness Case. 6. REST API There is a potential impact to REST API, but the scope has not been determined yet. For now, determine whether you utilize the REST API as your preparedness item. We will share more information when we have it. Reference: For further consultation, contact the v9 upgrade team via the Activity tab of the Cloud Migration Readiness Case.672Views2likes0CommentsA focus on Developer Education is coming to OneStream, and your feedback is needed!
OneStream is creating a Developer Education (DevEd) program tailored specifically at creating a dynamic learning experience for you, our amazing developer community. We know that building applications with OneStream can be a rewarding experience, and we want to make it even easier, faster, and better for you. And that's why we need your feedback! Please comment below with your answers. What Topics Would You Like to See Covered? Is there a particular area of development you're passionate about? Let us know so we can include it in our program! Some examples include Building Solutions with OneStream , From Concept to Code – Show Me the Map, and Defining and Gathering Requirements. Comment below with any topic suggestions. What Ideas Do You Have for the Program? We believe the best programs are built with collaboration. Share your innovative ideas and let's build something fantastic together! 💡 We’re considering things like subject-matter expert recognition, advocacy programs, credentials and badges. What ideas do you have for this program? Let us know with your comments below. How Do You Prefer to Learn? Do you thrive with hands-on learning, video tutorials, or detailed documentation? Your feedback is crucial in shaping a program that truly meets your needs. 📚 Comment below with your thoughts and suggestions. We’re excited to create an engaging and comprehensive Developer learning experience with your input. 🌟 Stay tuned for more updates!180Views6likes4CommentsCustomer Call to Action Banner Messages in Service Now
OneStream thanks all customers for their diligence in embracing the technology modernization of v8+ Platform versions. As for Platform v8, OneStream is using .NET 8 to drive its high-performance platform. The v8+ platform employs modern self-service technologies for authentication (OIS) and data integration (SIC). Upgrades to Platform v8+ are in full force, and OneStream is using ServiceNow banner messaging to bring attention to customer-specific upgrade related actions. If you have an upgrade activity requiring attention, you will see a corresponding banner notification during your ServiceNow experience. The banner messages, detailed descriptions, and appropriate actions are highlighted below: Banner Message: SIC completed, but VPN still active If you receive this message, OneStream has identified that you have successfully transitioned from VPN to SIC, but your VPN connection remains active. It is important to retire your VPN connection ASAP. Action: Submit a case to confirm OneStream can retire your VPN connection. The banner message will be removed once your VPN is removed. Banner Message: In Migration Readiness If you receive this message, OneStream has identified that you have not completed your v8+ readiness within the allotted three-month period. Readiness activities include Marketplace solution upgrades, .NET 8 Desktop Runtime distribution, SIC Local Gateway Server availability, and OIS subscription creation. Completion of readiness activities are a pre-requisite to the v8+ upgrade process. Action: Navigate to your Cloud Migration Readiness Case and complete the Action Items to move your migration forward. The banner message will be removed once all Action items are submitted. Banner Message: Submit Software Upgrade If you receive this message, OneStream has identified that you are operating VPN past OneStream’s issued End of Service date. If you were previously granted a VPN service extension, that has now expired. You must plan to transition from VPN to SIC ASAP. Action: Submit a Software Upgrade for v8+ in the Service Catalog to begin the process of transitioning from VPN to SIC. Banner Message: OneStream v8.0.x or v8.1.x - .NET 6 If you receive this message, OneStream has identified that you are operating on Platform v8.0.x or v8.1.x, which were developed using Microsoft’s .NET6 development framework. Microsoft has stated that support for .NET 6 ended as of November 12, 2024. Operation of OneStream v8.0.x or 8.1.x increases your risk to .NET security vulnerabilities that will not be corrected with .NET 6 patches. Action: Submit a Software Upgrade in the Service Catalog to upgrade to Platform v8.2.2 or higher, which were developed with the .NET 8 development framework (supported through November 2026).49Views0likes0CommentsExtensibility Series: Dive into Horizontal Extensibility
What is Horizontal Extensibility? Horizontal extensibility is the game-changing technology in OneStream that allows for sharing and inheriting metadata across Scenario Types. With this ability, the business processes can dictate application design instead of vice versa. Within a OneStream cube, we can assign differing base members to each Scenario Type while sharing all relevant parent members. This means, not only can actuals, budgets, forecasts, long-range plans, detailed data sets, and more be contained within the same cube, but their proper level of inputs can be incorporated into the model as well. In legacy corporate finance software landscapes, it is common to see some of the following: Dummy input members to key/load data at different levels in a hierarchy Separate cubes or disparate systems with slight variations of the same hierarchies Multiple versions of the same common reports Duplicate data residing in multiple tools to facilitate the separate needs of each process Inconsistent data tie out points across systems causing skepticism and confusion In OneStream, we can create a single common set of master metadata and through horizontal extensibility, the input levels can follow each distinct process needs. The most common example of this is a budget or forecast that is completed at a more summary level than the actual financial data. In the CPM Blueprint application, you can see this type of extension in the account dimension. In this application and shown in the image below, Net Revenue is the base input member for budgeting and forecasting while actuals are captured at a lower granularity. No longer do we need to maintain separate charts of accounts, create dummy input members, or store input data in separate systems to accomplish this. We don’t even have to maintain separate reports. All these needs from input to reporting can be maintained in a single OneStream cube with commonalities shared. The example above is within the account dimension, but to understand and unlock the full potential of horizontal extensibility, we will look at how this concept can be applied across multiple OneStream dimensions. In the CPM Blueprint application, we can see this use of horizontal extensibility when we look at the LongTerm Scenario Type. The long-range planning process in this application takes place at a more summary level. Like budgeting and forecasting, the account input is at the Net Revenue level. However, in the LongTerm Scenario Type, input into the Geography and Product dimensions (shown below) vary from actual, budget, and forecast. The ability to utilize extensibility in these ways unlocks so many possibilities when designing scenarios, cubes, and global applications. Using horizontal extensibility across Scenario Types allows us to make the user experience more targeted by adding/removing members and entire dimensions from Scenario Types where they are not valid. The examples above focused on processes occurring at different levels in the same hierarchies, but what if an entire dimension is not valid? An example of this in the CPM Blueprint application is the Cash Flow dimension. Below, you can see this dimension assigned to the Actual Scenario Type meaning all Cash Flow members are included and valid in scenarios created with that Scenario Type. However, in the active planning Scenario Types (Budget, Forecast, LongTerm), the “Root” dimension is assigned on the cube properties meaning only the None member is valid. Organizing the cube to be more targeted in this way will reduce confusion among end users and limit potential data unit explosion caused by rogue rules, imported zeros, or other configuration issues. Business rules without proper filtering and removal of zeros can potentially assess and/or write to significantly more intersections than intended. Additionally, configuring the cube properties correctly by assigning the Root dimension for those that are inactive on a Scenario Type will allow you to update and add new dimensions in the future. An example of proper cube dimension assignment is shown in the next section. How Should Horizontal Extensibility be Applied? Applying horizontal extensibility follows three main steps: Planning & Preparation Configuration Cube Assignment Planning & Preparation Every project should begin with a design. Measure twice, cut once. Start with a list of processes and data sets that are planned to be incorporated into OneStream. Next, list out the various reporting dimensions that are used in each. Finally, create a grid with the processes in the columns, the dimensions in the rows, and fill in where they are valid: This chart can start to help us see that actuals and long-range planning should utilize separate Scenario Types (to vary the inclusion/exclusion of entire dimensions), but it does not give us clarity into the differences between the shared dimensions. In this example, accounts are needed for all four of the processes, but we don’t yet know which accounts are needed in each. At this point, I like to compile a complete list of all possible members and hierarchies and go through the exercise of determining where they should be valid like the chart below: After this exercise has been completed for accounts, it should be repeated for each reporting dimension identified to get a full understanding of each data set. Based on the above account-level breakout between the four different processes, we have some decisions to make. The existing process is set up as shown above, but should it be that way in OneStream? Should we create separate account extensions for both budget and forecast? Or do we potentially see the inclusion of Balance Sheet information in the forecast? Are there any initiatives to budget and/or forecast at a different level than currently? Is the business happy with the detail in which the long-range plan is generated? This is the time to avoid lift-and-shift mentality and set the foundation for future growth in the platform. Really discuss the possible extension points in each dimension and come to a decision as a business. This is a key design decision. Configuration After discussing internally with all stakeholders and making decisions around horizontal extensibility, it is time to configure the dimensions and identify any issues with the extension points. After creating a summary dimension at the highest identified level in the member structure, the extended dimensions will utilize the Inherited Dimension property on creation. In the newly created dimension, we will notice the inherited members in gray and we can begin to add in the extended members. In most cases, we recommend extending from base members only. Vertical extensibility will be covered in another article, but when we look at consolidating data between linked cubes, extending from parent members causes the data to not consolidate from sub cube to parent cube. It should be noted that the Entity dimension does not follow this same restriction. In the image below, you can see an account extension that does not follow our recommendation to extend from base members on the left (Example A) and an account extension that does follow our recommendation on the right (Example B). In Example A, two issues have been identified: 1) Five base accounts have been extended from the parent OtherOpExp. You can see this difference via the black & gray text in the account dimension library. accounts 541000, 541100, and 541950 are in the gray text signifying they have been inherited from the parent dimension while the five base accounts from 541200 - 541600 are in the black text signifying they have been created in the currently selected dimension. This is an example of extending from a parent member and it will not consolidate correctly across linked cubes. To resolve this configuration issue, it is common to see one of three solutions: All the base members under OtherOpExp are included in the parent dimension and then inherited into the extended dimension. Input in the parent dimension would be to 541950 - Other or one of the other base members. Only the member OtherOpExp is included in the parent dimension and all child accounts in the extended dimension. Input in the parent dimension would be aggregated to an OtherOpEx level without the breakout of 541000, 541100, & 541950. A new parent member would be created in the summary dimension to extend from. An example of this is shown below. This facilitates the desired split of base members between dimensions but may cause confusion among end users when viewing the hierarchy. The risks of this can be mitigated with proper end user training and documentation. Each of these solutions comes with pros & cons that should be weighed and discussed by the business. 2) The parent accounts TravelEntExp and HRExps are extended from the parent account OpEx. This is an example showing that even though the base members do not have siblings in the inherited dimension, the parents cannot have siblings in the inherited dimension either. All members in the extended dimension, both parent and base, should be extended from a base member. Example B shows the common solution for this configuration with the Travel and HR expense parents included in the parent dimension and all base members in the extended dimension. However, a similar approach with the _EXT parent member could be applied here as well. While discussing these extension points and deliberating whether to move members up/down a dimension or add _EXT parent members to apply extensibility properly, the future state goals should be considered. If the summary dimension you are creating is to facilitate the forecast process today, but that process does not include details around travel and HR expenses, might it in the future? Should you include these members and grow into their use? Is there a roadmap to expand your planning capabilities in these areas? Moving parent members between dimensions later can be accommodated, but moving base members is more difficult. The recommended practice is to extend from a base member, but there are some outlying use cases where extending from parent members is acceptable: If the intent is to not consolidate the data up the linked cube structure. If there is no linkage between cubes and the intent is to limit the members visible to end users. If it is in the entity dimension. As a reminder, the example shown was of the Account Dimensions, but this also applies to Flow Dimensions and User Defined Dimensions. To aide in the process of creating and validating extensible dimensions, the utility “Extensibility Relationship Analysis” on Solution Exchange can help identify potential issues with parent-child relationships. Cube Assignment After we have designed and created our account dimensions in an extensible fashion, we need to assign them to the cube. Properly applying dimensions on the cube settings is critical to unlocking the flexibility that horizontal extensibility provides. Non-data unit dimensions (Account, Flow, UD1 - UD8) should be applied on the specific Scenario Types that are in use. Any unused dimensions on those active Scenario Types should be assigned to the “Root” dimension (Ex. RootUD4Dim in the image below). Assigning the Root dimension instead of (Use Default) allows for that dimensional assignment to be changed a single time later and activated for data input on a go-forward basis. More information on proper cube dimension assignments can be found in the linked article. Recommendations & Considerations Horizontal extensibility is more about providing flexibility and data model integrity and less about managing data unit sizes. Yes, it can shrink the potential data unit size and mitigate the impact of a rogue calculation, but the main focus is on creating a single source of truth by allowing for a single set of master metadata. It is such a powerful driver of adoption to be able to meet the various parts of the business where they operate. When planning for extensibility, one should be forward thinking. Ask questions during design and be mindful of future expansion. Talk to other parts of the business to understand how they operate. What levels do they report or plan at? What is on the roadmap? Is there any defined need for extensibility that can be captured now to facilitate future adoption? Horizontal extensibility should be applied with a purpose. Define the need for extending and get alignment throughout the business. Parent members can be moved between dimensions since there is no data stored in the database at that level, but base members cannot change dimensions. If there is a plan to include certain members or hierarchies in a data set in the near future, you may want to incorporate them now. With proper configuration, horizontal extensibility should then be utilized in Cube Views, Parameters, Business Rules, and more to drive standardization. Below are a few examples of how this can be applied. Member Filter Expansions Applying extensibility and utilizing the provided member filter expansions can allow for the same row/column set to be used across varying Scenario Types in OneStream. If the business has a standard Income Statement where the only difference between processes is the level of detail, it can be created as a single report and shared across Workflows. Two member expansion functions to point out here are .Where() and .Options(). .Where(MemberDim = Value) Example: A#60000.Base.Where(MemberDim = |WFAccountDim|) .Options(Cube = CubeName, ScenarioType = Type, MergeMembersFromReferencedCubes = Boolean) Example 1: Targeting a specific extension point A#19999.Base.Options(Cube = [Total GolfStream], ScenarioType = Actual, MergeMembersFromReferencedCubes = False) Example 2: In combination with XFMemberProperty() to create a more dynamic member formula A#60000.TreeDescendantsInclusive.Options(Cube = |WFCube|, ScenarioType = XFMemberProperty(DimType = Scenario, Member = |WFScenario|, Property = ScenarioType), MergeMembersFromReferencedCubes = False) Calculations The same member expansion functions shown above should be considered when writing calculations across the platform. They can be a tool to make calculations more dynamic and necessary at times to make them more targeted. Another consideration is the function api.Data.ConvertDataBufferExtendedMembers when copying data across extended dimensions. A common need is the ability to copy actual data into a forecast and this function is a performant way to do so while also accounting for extensibility. The ConvertDataBufferExtendedMembers function aggregates the data from extended members in the source data unit to the base level of the target data unit. After aggregating the data in memory, it can then be manipulated and/or stored using the target dimensionality. Additional information on utilizing ConvertDataBufferExtendedMembers can be found in the OneStream Finance Rules and Calculations Handbook and the Tech Talks series on OneStream Navigator. Finally, when applying horizontal extensibility, it is important to keep in mind that it is not just applied to a single hierarchy. The business must be mindful of all alternate hierarchies and incorporate extensibility there as well. It should also be thought through how certain extension points in one dimension could impact its use in another dimension. For example, excluding balance sheet accounts from a forecast could impact the ability to make use of a Cash Flow dimension and corresponding calculations. Conclusion If applied properly, horizontal extensibility can provide amazing benefits. Reduce technical debt by incorporating many fragmented processes Encourage adoption by meeting users where they operate Facilitate reporting and reduce data movement/maintenance Provide a single source of truth The topics outlined in this article should be discussed and utilized during a design to properly apply horizontal extensibility. For additional examples, the CPM Blueprint application can be referenced. Examples in this application include Accounts, Geography, Product, Cost Center, Customer, and Vendor.1.6KViews7likes2CommentsExtensibility Series: An Overview of Extensibility in OneStream
What is Extensibility? The concept of Extensibility in OneStream is the capability to incorporate multiple use cases and future growth with a single foundation. I like to relate this to a dinner table that can expand and add additional table leaves while maintaining the same integrity. The OneStream platform, in tandem with Workflow and Extensible Dimensionality expands on this concept by providing users with multiple ways to extend their platform footprint. When designing an application or planning for expansion to the existing footprint, these concepts are crucial to understand and apply correctly. Extensibility in OneStream is a broad topic and can mean something different to each person in the community so I would like to break our language on this topic down further into the following categories: Horizontal Extensibility Vertical Extensibility Workflow Extensibility Platform Extensibility Horizontal or Scenario extensibility relates to the ability to extend and use different levels of a hierarchy for different business purposes. It also provides the ability to target when and where dimensions need to be included in the data model. Have you ever wanted to input data at a parent level? Through horizontal extensibility, that parent can become a base for input in a different scenario by using the scenario type settings and properly applying Cube Dimension Assignments. What if you have highly detailed metadata that only applies to a specific use case? Horizontal extensibility can help limit the potential intersections that aren’t valid for all the other use cases by assigning it only where it makes sense. Vertical or Entity/Cube extensibility relates to the ability to include/exclude detail at different levels up the entity hierarchy. The Data Unit is a key concept to understand in OneStream and it is important to properly manage its size to allow for optimal performance while accounting for future growth. Vertical extensibility also relates to varying dimensionality across business units. When you report consolidated financials, do you need to see the lowest level of department detail? Each individual product? Every project? The most granular GL accounts? If the answer is no to any of these, vertical extensibility can help. Lower-level entities can still report at a detailed level, but the data can be collapsed to a summary level to facilitate the reporting and increase performance. Does your organization have Business Units with very different operations? Perhaps vertical extensibility can provide the flexibility you need to vary the dimensionality at a detailed level but consolidate to a common summary level. Workflow extensibility relates to the ability to vary the input steps & methods within each process flow. Workflow steps and settings can be adjusted on each scenario type or can be combined if multiple processes follow the same responsibility hierarchy. Workflow extensibility can be configured on each parent cube to tailor the software interface to match the process needs. Is your Actual data collection process more import driven and the Planning process more forms, calculations, and dashboard driven? Workflow extensibility can help split these processes and make them easier to manage from an administration standpoint. Are some data collections imported in a centralized fashion while others have their responsibility distributed to more end users? Entities can only be assigned once in a Workflow hierarchy so to vary the entity signoff responsibilities, Workflow extensibility should be utilized to allow for differing entity assignments. Platform extensibility relates to the ability to vary where data is stored and how it is utilized within the platform. It also includes the ability to have multiple applications within one environment that can talk to each other. OneStream has the unique ability to consume, utilize, and report on data regardless of if it is stored in cubes, relational tables, or even externally. The capabilities in this category are expanding rapidly and should be considered during all solution design activities. Do you plan at a named personnel level? By each individual capital project? It’s important to determine what is necessary in the cube for consolidated reporting versus what can live outside the cube to be reported on more at a base entity level. Through platform extensibility, we can combine cube data with relational data to achieve the optimal balance between performance and reporting needs. Is the process you are designing more operationally driven and your data dimensions more transient in nature? Perhaps none of a specific data set needs to live in a cube, or even OneStream at all. Platform extensibility allows us to utilize entirely relational data, web content, and even external data sets. How should one think about Extensibility? Extensibility is foundational to OneStream. It should be thought of as a tool as essential as the level. Without it, you can probably get the job done and, on the surface, it might look okay as well. But over time, you are likely to discover structural integrity issues. It is probable that what you built may no longer be able to do everything you need it to. We use extensibility to right-size data units. We use extensibility to input at the right level. We use extensibility to fit the business process. We use extensibility to set the foundation for the future. I’ve heard people talk about extensibility in that you are “locked in” to the choices you make now. While there is some truth in that, it should not be thought about as a box, but a key to the future. Applying extensibility opens the door to so many more options in the future. Design the process and use extensibility as the tool to bring it all together. As mentioned in the Guiding Principles article, the importance of designing the process cannot be stressed enough. Don’t look for a tool, look for a problem and use the tools provided. Be forward thinking during design and ask questions to all stakeholders to make sure future functionality is accommodated for. Be sure to understand how the business operates and what is on the roadmap so that the proper foundation can be built. Recommendations I will begin with a disclaimer, there is not a single be-all, end-all way to implement extensibility in OneStream. I have seen applications with no extensibility and ones with too much extensibility. While there is a middle ground that should be found, the applications without extensibility are those that much more commonly have issues. A lack of vertical and platform extensibility tends to lead to performance issues. A lack of horizontal and Workflow extensibility tends to lead to flexibility issues. The applications with too much extensibility less commonly run into performance or flexibility issues, but they do have a higher maintenance burden. This is why, as architects, it is our job to balance performance, usability, and maintenance when thinking about these four types of extensibility. It is our recommendation that extensibility be considered in every single design and that it should be implemented nearly every time. To not use extensibility should be an exception, not the norm. During a solution design, I like to fill out a matrix like the one below to visualize what detail needs to be included where. With this, you can start to shape the Scenario Types, cubes, dimensions, and any platform extensibility. When looking for extensibility configuration examples, look no further than our CPM Blueprint application. This application has example configurations using our leading practices. Looking at UD1 as an example, one can see our common configuration of a “MainUD1” dimension parent to summarize the BU and Cost Center details into a common dimension. This is a concept we apply to all user defined dimensions to facilitate both vertical and horizontal extensibility. To facilitate vertical extensibility, dimensional detail that is not needed in a parent cube can be collapsed by assigning MainUD1. The dimensional detail is then extended from “TotUD1” to expand into the necessary levels of detail for each data collection and reporting need. This allows both “None” and “Top” to be active at all levels in the dimensional hierarchy. Another example of extensibility on display in the CPM Blueprint application is in the cube configuration. Focusing on the financial reporting structure in this application, it follows our recommendation for a base-summary cube relationship between Business Unit and total company reporting. I commonly apply this configuration even if there is only a single child cube and a single parent cube because it opens the door to so many more options in the future: More flexibility to expand child cubes horizontally and plug in different dimensionalities Greater ability to collapse the data unit if its size becomes an issue Further future-proofing as it allows for more platform expansion with the same foundation Finally, this application also has Workflow extensibility on display. On the cube settings, you can see the connection between top level and base cubes. You can also see the Workflow suffixing applied in the CPM Blueprint application. In this example, the Actual Scenario Type has a different process flow and responsibility hierarchy from other data collections, so it has been given its own suffix of “ACT.” Budget and Forecast follow the same process flow and responsibility hierarchy so therefore share a Workflow suffix of “BUDFCST.” This allows each process to have its own configuration and entity assignment. Conclusion Extensibility in OneStream cannot be overlooked. During a solution design, each of the four types of extensibility should be weighed and discussed to see which tool is right for the job: Horizontal Extensibility Vertical Extensibility Workflow Extensibility Platform Extensibility If you conclude that extensibility is not right for you, be absolutely sure. If the choice was up to me, the benefits of future flexibility and performance reliability greatly outweigh the potential need for additional administration overhead and end user training that come with extensibility.2.7KViews6likes0Comments