Blog | Octane Software Solutions

TM1 object extensions

Written by Vamshi Krishna G | November 8, 2019

 

This article talks about different extensions/files seen in Data directory and how they are co-related to front-end objects that we see in architect. Since, TM1 is an in-memory tool so all objects seen like cube, dimension, TI process etc seen in Architect are saved in data directory with a specific extension and in a specific way to differentiate them from the other objects.

By understanding these extensions/files, it comes easier in finding objects and deciding which objects are needed to be considered to backup or moving a specific set of changes. Consider the case of taking an entire data folder backup which might take up a large amount of space; instead of only a few objects had under gone changes.  It would be more efficient to take backup of these changes then the complete data directory.

Also, by understanding these extensions and knowing what information it holds, developers can efficiently decide the objects that needed to be moved and their impact on the system when these objects are moved. To have a better understanding, lets divide the objects seen in TM1 into 3 sections i.e., dimension, cube and TI process & also what files are created in data directory.

 

Dimension objects

In this section, we will see what files are created in the data directory and what are they related in front-end interface of architect. To have a better understanding of how the dimension objects seen in architect are stored in data directory, we will take example of a dimensions called "Month" with 2 subsets "All Members" and "Months Only"

 

*.dim File

The dimensions that are seen in Architect are saved in data folder with <DimensionName>.dim extension. The file holds the hierarchy and elements details of that dimension. If the dimension needs to be backup or migrated then we can just take this file. In this example, "Month" dimension seen in architect is saved in "Month.dim" file in the data directory and by reading this file, the architect shows the "Month" dimension and its elements with hierarchy.

In Architect

In Data Directory

 

*}Subs Folder

All the Public Subsets that are seen under the dimension in Architect are placed in <DimensionName>}Subs folder respective to that dimension in data folder. In this case, Subsets created for month dimension i.e., "All Members" and "Months Only" are placed in Month}subs Folder

In Architect

In Data Directory

 

*.Sub File

The Subsets are created to make it easier to access the set of elements of a dimension and all the subsets of a any dimension are placed in <DimensionName>}Subs folder with <SubsetName>.Sub extension. The Subsets of Month Dimension i.e., "All Members" and "Months Only" are saved in the "Month}subs" Folder as All Members.sub and Months Only.sub

In Architect

In Data Directory -> Month}subs

 

Cube Objects

In this section, we will go through the files that are created in data directory for Cube related objects & how are they co-related to the cube objects in the architect. For this case, let’s use the cube "Month_ID" Cube as an example along with its Views "View1" & "View2".

*.Cub File

The cube and data seen in architect of any cube are saved in <CubeName>.cub file in data directory. So, if only the data needs to copied/moved from different environments, we can do this just by replacing this file for that respective cube. Here, Cube "Month_ID" and its data seen in architect are saved in a file Month_ID.cub in data directory of that TM1 server

In Architect

In Data Directory

 

*}Vues Folder

All the public views seen under the respective cube in architect are saved in <CubeName>}Vues Folder of the data directory. In this case, the views "View1" & "View2" of "Month_ID" Cube are saved in Month_ID}Vues Folder of data directory

In Architect

In Data Directory

 

*.vue file

All the public views created under a cube are saved in <CubeName>}Vues Folder with a <ViewName>.vue extension. So, the views "View1" & "View2" are saved in Month_ID}Vues Folder as View1.vue and View2.vue

 

In Architect

In Data Directory->Month_ID}vues

 

*.RUX file

This is rule file, all rule statements written in Rule Editor for cube can be seen in <CubeName>.RUX file. Here, Rule statements written in rule editor for "Month_ID" cube are saved in Month_ID.rux file of TM1 data directory.

In Architect

In Data Directory

 

*.blb file

These files are referred as Blob files and they are used to hold the format data, for example if a format is applied inside Rule of a cube then that data is saved in <CubeName>.blb. Similar to this, if a format style is applied to a view then the format details are saved in <CubeName>.<ViewName>.blb file. In this Case, the format style data applied in rule editor for "Month_ID" cube is saved in Month_ID.blb and the Format style applied to the "View1" is saved in Month_ID.View1.blb file which can be found in TM1 Data Directory.

In Architect

In Data Directory

Format Style data Applied in Rules

 

Format Style applied in View1

 

*.feeders file

This file gets generated only when the Persistent Feeders is set "True" in TM1 Configuration file. Once the feeders have been computed in the system, they will be saved in <CubeName>.feeders and this file will be updated in the feeders. Here, Feeder statements present in Rule editor for "Month_ID" are calculated and are saved as Month_ID.feeders

In Architect

In Data Directory

Feeders statements in Rule for Month_ID Cube

 

TI and Chore Objects

Here, we are going to look at files that are created in data directory for TI processes and chores.

*.Pro file

All TI processes in the Architect are saved in data folder with <TIProcessName>.Pro extension. Now, assume that there is TI process "Month_Dimension_Update" seen in architect then this TI process is saved as Month_Dimension_Update.pro file in data directory.

In Architect

In Data Directory

 

*.Cho file

The chore which is used to schedule the TI process is saved in the data folder with <ChoreName>.cho extension. Say, we have to schedule the TI process "Month_Dimension_Update" so we create a chore, "Month_Dim_Update" and this will create a file Month_Dim_Update.cho

In Architect

In Data Directory


Application objects

Applications provide the functionality to create virtual folders and this helps in accessing and the orderly sorting of TM1 objects like dimensions, TI Process, Views, Excel reports and so on. When any TM1 Object is added in the Application folder/Virtual folder, it creates a shortcut for that object enabling us to access the object from the shortcut and we can also rename these shortcuts as required.

When these objects are added, in turn they create a file in }Applications Folder of datafiles. These files hold the object information like type, name, reference and so on. Let’s take example of test virtual folder below Application

You can find these objects in datafiles Folder > }Applications Folder > Test Folder

You can find table on how the objects are mapped from frontend architect to backend files in the data folder

Objects in TM1 Application

Object Type

Files create in Application Folder of Data Directory

Test

Virtual Folder

Test Folder

App_Cube_Example

Cube

App_Cube_Example.cube

App_Cube_View_Example

View

App_Cube_View_Example.view

App_Dim_Example

Dimension

App_Dim_Example.dimension

App_Dim_Subset_Example

Subset

App_Dim_Subset_Example.subset

App_TI_Process_Example

TI process

App_TI_Process_Example.process

App_Chore_Example

Chore

App_Chore_Example.chore

You can also add files, URLs and Excel files from the system to the TM1 Application Folder. When we add files like text file, excel file in TM1 Application folder, *.blob files are created in backend of }Applications Folder in data directory. Similarly, *.extr file is created for URL and this file is saved in the TM1 Application Folder.

Also, if we had selected “copy the file to the TM1 Server” then the copy of that file gets saved in the }External Folder of Data Directory . Similarly, When the report is created and upload from Perspective client of TM1 it creates *.blob File and places the file in the }External Folder.