Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi
I had a confusion with the sheet Id.
I have used sheet level security for one of my App and I have mentioned sheet id from QMC, meanwhile I have used buttons on the sheets to navigate between sheets by sheet Id.
First of all It was not navigating to respective sheet which I mentioned. Then I went to "Dev-Hub" > Single Configurator > Selected my App and I found sheet Id in the URL . and I found that URL sheet Id is different from QMC > App Object sheet id
So, for sheet level security I have used sheet id from QMC and for navigation, I have used URL sheet Id and it is working fine.
Is this the right approach??
The 2 IDs refer to the same Object.
The ID coming from the QMC > App Objects is the internal ID in the System, the format is always UUID (4bee8401-e85d-4804-84e6-02c265cc86c9), it's unique among all objects. It is used internally only.
While the ID coming from Dev-Hub>Single Configurator is the "Engine ObjectID" which can be of any format, and it's unique per Application. It's used mainly in navigation and integration. it's visible and accessible from any URL.
So the answer to your question:
I believe the main reason behind having 2 IDs, is for security purposes, not to expose the internal ID and make it visible in any URL.
The "Sheet ID" displayed on the top of the Single Configurator in the Dev-Hub, or the one in the URL are the correct ID for the sheet.
But, while giving Sheet Level Security I use sheetId from QMC > App Objects and that works fine.
My question is why there is 2 sheet ids??
The 2 IDs refer to the same Object.
The ID coming from the QMC > App Objects is the internal ID in the System, the format is always UUID (4bee8401-e85d-4804-84e6-02c265cc86c9), it's unique among all objects. It is used internally only.
While the ID coming from Dev-Hub>Single Configurator is the "Engine ObjectID" which can be of any format, and it's unique per Application. It's used mainly in navigation and integration. it's visible and accessible from any URL.
So the answer to your question:
I believe the main reason behind having 2 IDs, is for security purposes, not to expose the internal ID and make it visible in any URL.
Thanks for your explanation. This is clear to me.
While working on navigation I was using internal sheet id (QMC > App Object) and was not working. Then I realized their is 2 sheets Ids. Now it is all fine.
Is there a way to tie the engine ID to the internal ID? I need to change the owner on a sheet in the QMC but I cant identify the correct sheet because we have a lot of personal sheets with the same name. I'm able to obtain the engine ID but then can't tie it to the entry in the QMC
Hi @mgranillo ,
I do have a same issue. In my application there are duplicate sheets with the same name. Couldn't able to identify these sheets in QMC as the Sheet ID is different from hub.
Got any workaround /Solution for this?
Thanks,
Siva
I use the operations monitor to tie the two. You'll see an engineObjectId and appObjectId loaded in the app
This one response solved my problem that I had too. Thank you.
I actually identified a more pertinent reason that there is both an internal object ID and an engine object ID. (I found out the hard way.)
Every sheet has a unique internal object ID. No matter what. However, the engine object ID of a sheet (that is visible from the URL) stays consistent with the app that it is in. This means that when you duplicate an app, the engine object ID is retained for each sheet (even though the app ID might be different). This also means that if you publish the same app to different streams, the same sheets will all have the same engine object ID (as visible in the URL) in each of the different apps, even though (a) the app IDs are different and (b) the internal object IDs of each sheet are different.
So it is less about security and more of an engineering design decision.