Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Not under consideration
Workspace Planning Analytics
Created by Guest
Created on Jan 27, 2024

Working with private objects

I am trying to come up with a reliable and good solution for the common problem: how do you migrate private objects from 1 TM1 model to another. There is V11 and V12 support that should be feasible.


We are currently migrating several on-premise customers to the IBM cloud, but the idea/shortcomings here goes broader than this situation.

The subject is about syncing/migrating the:

- private subsets

- private views

- private application entries

The private objects can be found scattered around in the TM1 database directory. When it's only private subsets and views, you could rename a set of folders (even though with hundreds of users to migrate, this isn't obvious either). Each user has such a folder for him/her, even when it's empty we are renaming folders for little benefit). Namespaces need to be taken into account, aliases on the }Clients dimension, etc.

For migrating the application entries it's even harder. They can be found anywhere in the }Applications folder of the TM1 data directory. The dimension }ApplicationEntries only contains public objects, no private objects.

Shall we really go through all folders to rename hundreds of folder names ? Shall we write non-trivial PowerShell code and use ExecuteCommand() in Turbo Integrator ? It's not future proof since V12 will take away that option.

What about the TM1 REST API ? It allows to gather information about private objects like application entries, but only on a folder by folder case. I don't seem to be able to say: 'give me all private application entries, their owner, and the type of reference (document)'. When I write loops and issue 1000's of impersonated REST API calls, in a model containing 1000's of application folders, then I could potentially retrieve the information. It takes forever to execute.

Retrieving private subsets and views for all users of a model on all cubes and views, using Impersonation, takes ages to run. I used TM1py to speed up the programming work but the many REST API calls account for a very long runtime.

Impersonation will be out in V12, and also we cannot impersonate an admin user. These and other issues prevent this approach from being successful, despite the fact that the TM1 REST API is presented as the future.

I did not look at Git and lifecycle manager but I am not sure if it will be any good for this exercise.

A move to cloud operation goes in multiple iterations, meaning that this work (or part of the work) can be redone multiple times with lost time as a consequence.

When thinking about this, any migration where the alias of the user or the namespace/IntegratedSecurityMode changes, can pose challenges. In V11 we can still copy/paste files for objects, this will not be possible anymore in V12. The problem will become even bigger in my opinion.

What would be the idea/solution ? A REST API endpoint that lists (loosely speaking):

- object ID

- object name

- path in the applications tree

- object type (subset, view, document/blob, link to process/chore/view/dimension/subset/view/...)

- }externals link in case it's a blob

- object owner (based on how it is saved in the TM1 data directory to be able to make the link

- object size

- ...

Being able to reference the object and migrate easily from TM1 model A to B. User will refresh and can access all of his private objects.

Impersonation or a different way of working should be part of this solution as impersonation is lost in V12.

Thanks !

Needed By Month
  • Admin
    Stuart King
    Reply
    |
    Mar 26, 2024

    This idea is not under consideration. For migration to TM1 v12 we provide a user remapping function in the migration tooling that can be used to persist private objects during migration (where user accounts are different between v11 and v12).


    The IBM Planning Analytics team is not planning on extending support for private objects in the TM1 database. We are focusing on improving the content experience in Workspace to support content that can be shared by the content creator with any number of users. Content such as books and views in Workspace can be migrated between environments using LCM. The LCM feature is being enhanced to support security, larger snapshots, and more advanced deployment options.