VMware {code} Community
SravanKumar1234
Contributor
Contributor

NavigationRequest is not working as expected in vSphere 6.5 setup

Hi,

For my Flex plugin I have to display list of datastores with latency.

On datastore name click, UI should navigate from my custom view to vsphere datastore's manage -> performance view.

I have used NavigateRequest and getReference() APIs to work.

After setting the context object (returned by vimObjService.getReference() API) to NavigationRequest.

I'm setting "navEvent.targetViewUid = "vsphere.core.datastore.monitor.performance";"

This working like a very well in vCA 6.0 (always lands in performance tab) but not in vCA 6.5.

In vCA 6.5, behavior is sometimes UI lands in performance tab, sometimes in summary page and sometimes in last visited tab.

This might be due to change in the tab/views in 6.5.

Is there any workaround/fix for this?

Thanks,

Sravan

0 Kudos
7 Replies
_vladi_
VMware Employee
VMware Employee

Hi Sravan,

We will look into it.

Can you please share the relevant parts of your plugin.xml? Could it be possible that the same ID is used for multiple extensions?

Asking because the name of the extension point is "vsphere.core.datastore.monitor.performanceViews", while the ID(s) of your extension(s) is unclear. Thanks.

Cheers,

Vladimir

0 Kudos
SravanKumar1234
Contributor
Contributor

Hi Vladimir,

Thanks for the response.

It seems you didn't understand the problem correctly.

I'm not trying to creating a custom view extension in the vsphere/custom objects monitor->Performance tab.

I have a global view in my plugin where i'm listing list of datastores as below:

pastedImage_1.png

Now on click of a datastore (say NFS_DS_08) I will get navigate to that datastore's Monitor-> Performance tab.

This has been implemented by using VMWare event com.vmware.ui.events.NavigationRequest API and com.vmware.vise.vim.data.VimObjectReferenceService.getReference(String type,String value, String serverGuid) API's.

To land into specific view we should set NagivationRequest.targetViewUid to appropriate view vsphere Id (in my case vsphere.core.datastore.monitor.performance) as shown below:

pastedImage_7.png

This working very well in vCenter 6.0 (always lands in performance tab) but not in vCenter 6.5.

In vCenter 6.5, behavior is sometimes UI lands in performance tab, sometimes in summary page and sometimes in last visited tab.

This might be due to change in the tab/views in 6.5.

Why it is not honoring targetViewUid property set in vCenter 6.5?

you can use globalview sample and implement the same.

FYI. I'm using vCenter Server Appliances.

Regards,

Kumar T.

0 Kudos
dloverin
Contributor
Contributor

We are seeing this issue with our Flex code in the 6.5 Flash client as well. In our case we have menu actions that navigate to a view for the selected object (Virtual Machine). We have noticed that if the view has already been opened once the navigation will be successful but otherwise it will not.

I just ran a quick test. After the third time of running the menu action to show a view for a VM the view finally appeared. I needed to go back and select the original vm after each failed navigation since I ended up in various places.

-Darrell

0 Kudos
SravanKumar1234
Contributor
Contributor

Any update on this issue?

0 Kudos
stoevm
VMware Employee
VMware Employee

Hello Sravan,

I tried to reproduce this problem on vCSA 6.5 and did not succeed to reach the behaviour that you are having.

Can you modify one of the sdk samples to implement this type of behaviour, so I can test the real usecase.

Cheers,

--Martin

0 Kudos
SravanKumar1234
Contributor
Contributor

Hi Stoe,

I don't have a ready example. As you already verified please share that sample. so that I could recreate the scenario.

Thanks,

Sravan

0 Kudos
_vladi_
VMware Employee
VMware Employee

Hi Sravan,

I cannot legally share unreleased sample code on the forum. As Martin mentioned please take a Flex sample from the SDK and modify it to showcase this behavior as we have not been able to reproduce it.

Cheers,

Vladi

0 Kudos