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
FRPTfor Financial Reporting. - ApplicationGroup = The Application Group that the page (dashboard) will be added to. For example, and building on the solution,
FPRT_Homewould 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.
- Solution = Solution prefix, i.e., unique acronym that identifies the solution. An example could be
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.
| Component | Prefix | Text | Tool Tip |
|---|---|---|---|
| BI Viewer | biv\_[Name]\_[MU] | N/A | N/A |
| Book Viewer | bkv\_[Name]\_[MU] | N/A | N/A |
| Button | btn\_[Name]\_[MU] | Text to show with the Button | Informative text of what occurs when the Button is clicked |
| Chart (Advanced) | chtn\_[Name]\_[MU] | Text to show with the Chart | Informative text on how to interact with the Chart |
| Chart (Basic)* | cht\_[Name]\_[MU] | Text to show with the Chart | Informative text on how to interact with the Chart |
| Check Box | chtn\_[Name]\_[MU] | Text to show with the Check box | Informative text about the Check Box |
| Combo Box | chtn\_[Name]\_[MU] | Text to show with the Combo box | Informative text about the Combo Box |
| Cube View | cv\_[Name]\_[MU] | N/A | N/A |
| Data Explorer | dex\_[Name]\_[MU] | Text to show with Data Explorer | Informative text on how to interact with Data Explorer |
| Data Explorer Report | der\_[Name]\_[MU] | Text to show with Data Explorer Report | Informative text on how to interact with Data Explorer Report |
| Date Selector | das\_[Name]\_[MU] | Text to show with the Date Selector | Informative text on how to interact with the Date Selector |
| Dynamic Grid View | dgrd\_[Name]\_[MU] | Text “Header” displayed with the Dynamic Grid View | N/A |
| Embedded Dashboard | emd\_[Name]\_[MU] | N/A | N/A |
| File Viewer | fvw\_[Name]\_[MU] | N/A | N/A |
| Filter Editor | fed\_[Name]\_[MU] | N/A | N/A |
| Gantt View | gtv\_[Name]\_[MU] | N/A | N/A |
| Grid View | grd\_[Name]\_[MU] | N/A | Informative text on how to interact with the Chart |
| Image | img\_[Name]\_[MU] | N/A | Informative text on how to interact with the Image |
| Label | lbl\_[Name]\_[MU] | Text shown on the Label | Informative text on how to interact with the Label |
| Large Data Pivot Grid | lpg\_[Name]\_[MU] | N/A | N/A |
| List Box | lbx\_[Name]\_[MU] | Text to show with the List Box | Informative text on how to interact with the List Box |
| Logo | logo\_[Name]\_[MU] | N/A | Informative text on how to interact with the Logo |
| Map | map\_[Name]\_[MU] | N/A | N/A |
| Member Tree* | mbt\_[Name]\_[MU] | Text shown on the Member Tree | Informative text on how to interact with the Member Tree |
| Menu | menu\_[Name]\_[MU] | Text to show with the Menu | Informative text on how to interact with the Menu |
| Password Box* | pbx\_[Name]\_[MU] | Text shown with the Password Box | Informative text on how to interact with the Password Box |
| Pivot Grid | piv\_[Name]\_[MU] | Text to show with the Pivot Grid | Informative text on how to interact with the Pivot Grid |
| Radio Button Group | rbg\_[Name]\_[MU] | Text shown with the Radio Button Group | Informative text on how to interact with the Radio Button Group |
| Report | rpt\_[Name]\_[MU] | Text shown with the Report | Informative text on how to interact with the Report |
| Sankey Diagram* | san\_[Name]\_[MU] | N/A | N/A |
| Spreadsheet | ss\_[Name]\_[MU] | Text to show with the Spreadsheet | Informative text on how to interact with the Spreadsheet |
| SQL Table Editor | ste\_[Name]\_[MU] | N/A | N/A |
| State Indicator* | sid\_[Name]\_[MU] | Text to show with the State Indicator | Informative text on how to interact with the State Indicator |
| Supplied Parameter | spp\_[Name]\_[MU] | Text to show with the Supplied Parameter | Informative text on how to interact with the Supplied Parameter |
| Text Box | txb\_[Name]\_[MU] | Text shown with the Text Box | Informative text on how to interact with the Text Box |
| Text Editor | txd\_[Name]\_[MU] | Text to show with Text Editor | Informative text on how to interact with the Text Editor |
| Text Viewer | txv\_[Name]\_[MU] | Text to show with the Text Viewer | Informative text on how to interact with the Text Viewer |
| Tree View | trv\_[Name]\_[MU] | N/A | N/A |
| Web Content | web\_[Name]\_[MU] | Text to show with the Web Content | Informative 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#) example | VB.Net (VB) example |
|---|---|
![]() | ![]() |
By implementing this naming convention, the name of the assembly folder accurately describes its purpose, while the folder structure provides clear organization.

