Skip to main content

Developing Content

Maintenance Unit (MU)

When new, from-scratch content is developed within a Genesis instance, a new Maintenance Unit should be created for each page/task that it corresponds to – this is considered a Genesis development best practice. Please refer to section Building Navigation in Genesis Designer to understand what is meant by a page/task. Further, a strict naming convention must be used when said MU is developed as described below:

When new, from-scratch content is developed within a Genesis instance, and a new Maintenance Unit should be created for each page/task which is corresponds to – this is considered a Genesis development beset practice. Please refer to section Building Navigation in Genesis Designer to understand what is meant by a page/task. Further, a strict naming convention must be used when said MU is developed. An example of a naming convention that can be adopted is described below:

  • Solution\_ApplicationGroup\_MethodDefinition
    • Solution = Solution prefix, i.e., unique acronym that identifies the solution. An example could be FRPT for Financial Reporting.
    • ApplicationGroup = The Application Group that the page (dashboard) will be added to. For example, and building on the solution, FPRT_Home would indicate a page(s) that will be added to the Home Application group.
    • PageDefinition = Page Description and represents the definition (purpose) of the page. Continuing the Application Group example, the complete name for the Maintenance Unit would be FPRT_Home_Close, with Close indicating the Financial Reporting reports are relevant for Close.

Artifacts such as components, data adapters, assemblies, etc., for the individual page/function should be developed within the page/function's MU. This approach simplifies development by having all artifacts within the MU, minimizing clicks and enabling migration of content developed within the MU, but extracting just the MU if applicable.

The important aspect of a naming convention is not adopting this naming convention provided in this document, but creating a naming convention that is usable and understandable by the team, adhered to, and documented so that adherence is not a burden.

Components

OneStream components provide the core functionality incorporated into a Dashboard, and the following outlines a naming convention and guidance on property configuration. The description property for the component describes its use case and purpose, providing a self-documenting mechanism.

ComponentPrefixTextTool Tip
BI Viewerbiv\_[Name]\_[MU]N/AN/A
Book Viewerbkv\_[Name]\_[MU]N/AN/A
Buttonbtn\_[Name]\_[MU]Text to show with the ButtonInformative text of what occurs when the Button is clicked
Chart (Advanced)chtn\_[Name]\_[MU]Text to show with the ChartInformative text on how to interact with the Chart
Chart (Basic)*cht\_[Name]\_[MU]Text to show with the ChartInformative text on how to interact with the Chart
Check Boxchtn\_[Name]\_[MU]Text to show with the Check boxInformative text about the Check Box
Combo Boxchtn\_[Name]\_[MU]Text to show with the Combo boxInformative text about the Combo Box
Cube Viewcv\_[Name]\_[MU]N/AN/A
Data Explorerdex\_[Name]\_[MU]Text to show with Data ExplorerInformative text on how to interact with Data Explorer
Data Explorer Reportder\_[Name]\_[MU]Text to show with Data Explorer ReportInformative text on how to interact with Data Explorer Report
Date Selectordas\_[Name]\_[MU]Text to show with the Date SelectorInformative text on how to interact with the Date Selector
Dynamic Grid Viewdgrd\_[Name]\_[MU]Text “Header” displayed with the Dynamic Grid ViewN/A
Embedded Dashboardemd\_[Name]\_[MU]N/AN/A
File Viewerfvw\_[Name]\_[MU]N/AN/A
Filter Editorfed\_[Name]\_[MU]N/AN/A
Gantt Viewgtv\_[Name]\_[MU]N/AN/A
Grid Viewgrd\_[Name]\_[MU]N/AInformative text on how to interact with the Chart
Imageimg\_[Name]\_[MU]N/AInformative text on how to interact with the Image
Labellbl\_[Name]\_[MU]Text shown on the LabelInformative text on how to interact with the Label
Large Data Pivot Gridlpg\_[Name]\_[MU]N/AN/A
List Boxlbx\_[Name]\_[MU]Text to show with the List BoxInformative text on how to interact with the List Box
Logologo\_[Name]\_[MU]N/AInformative text on how to interact with the Logo
Mapmap\_[Name]\_[MU]N/AN/A
Member Tree*mbt\_[Name]\_[MU]Text shown on the Member TreeInformative text on how to interact with the Member Tree
Menumenu\_[Name]\_[MU]Text to show with the MenuInformative text on how to interact with the Menu
Password Box*pbx\_[Name]\_[MU]Text shown with the Password BoxInformative text on how to interact with the Password Box
Pivot Gridpiv\_[Name]\_[MU]Text to show with the Pivot GridInformative text on how to interact with the Pivot Grid
Radio Button Grouprbg\_[Name]\_[MU]Text shown with the Radio Button GroupInformative text on how to interact with the Radio Button Group
Reportrpt\_[Name]\_[MU]Text shown with the ReportInformative text on how to interact with the Report
Sankey Diagram*san\_[Name]\_[MU]N/AN/A
Spreadsheetss\_[Name]\_[MU]Text to show with the SpreadsheetInformative text on how to interact with the Spreadsheet
SQL Table Editorste\_[Name]\_[MU]N/AN/A
State Indicator*sid\_[Name]\_[MU]Text to show with the State IndicatorInformative text on how to interact with the State Indicator
Supplied Parameterspp\_[Name]\_[MU]Text to show with the Supplied ParameterInformative text on how to interact with the Supplied Parameter
Text Boxtxb\_[Name]\_[MU]Text shown with the Text BoxInformative text on how to interact with the Text Box
Text Editortxd\_[Name]\_[MU]Text to show with Text EditorInformative text on how to interact with the Text Editor
Text Viewertxv\_[Name]\_[MU]Text to show with the Text ViewerInformative text on how to interact with the Text Viewer
Tree Viewtrv\_[Name]\_[MU]N/AN/A
Web Contentweb\_[Name]\_[MU]Text to show with the Web ContentInformative text on how to interact with the Web Content

* Windows App only

Data Adapters

A common prefix for Data Adapters is da, and the description would describe the use case and purpose of the component. A complete data adapter example would be da\_[Name]\_[MU].

Parameters

A common prefix for Parameters is param, and the description would describe the use case and purpose of the component. A complete parameters example would be param\_[Name]\_[MU]. The User Prompt would be Select Purpose of the Parameter: for example, Select Entity.

Files

Files are the exception to the convention of prefixing, as the name includes the FileType. The description would describe the use case and purpose of the component. A complete file example would be [Name]\_[MU].[FileType].

Assemblies

Each Maintenance Unit can have one assembly, which consists of one or more assembly files. The naming convention for the assembly should be based on the Maintenance Unit name, and it is recommended to use the Page Definition of the Maintenance Unit. For example, a Maintenance Unit with a PageDefinition of FPRT\_Home\_Close would have an assembly of FPRT\_Home\_Close. The Assembly and the Service Factory assembly file, “Workspace Assembly Service”, is configured in the properties of the Maintenance Unit. Continuing with the PageDefinition example, the Workspace Assembly Service configuration would be FPRT\_Home\_Close.MUAssemblyFactory and MUAssemblyFactory is the naming convention for the class that implements the Interface IWsAssemblyServiceFactory.

The next table provides a comprehensive recommended structure of the assembly files. Folders for the assembly file types, including AssemblyFactory (ServiceFactory), Services, and BusinessRules, are created and recommended for organizational purposes. Each file, regardless of type, is prefixed with Wsas (Workspace Assembly Service) and a name that relates to the purposes of the assembly file. For example, the Services “Service Type” assembly file includes the Service Type (Component, Dashboard, etc.), and for Business Rules, the Business Rule Type (Cube View Extender, Dashboard DataSet, etc.).

CSharp (C#) exampleVB.Net (VB) example
Image 47 from Solution Packaging Kit v1.00D 07-Oct-2025Image 48 from Solution Packaging Kit v1.00D 07-Oct-2025

By implementing this naming convention, the name of the assembly folder accurately describes its purpose, while the folder structure provides clear organization.

Was this page helpful?