VMware {code} Community
VicTK
Contributor
Contributor

Tabs disappear on leaf nodes

Hello,

I am fairly new to VMWare plugin development. And am quite a rookie.

I am facing a problem in plugin. I have created Custom views with the following objects, lets call them

A, B, C & D

Every A has a list of B's (B's appear on A's related items tab)

Every A has a list of C's (C's appear on A's related items tab)

Every A has a list of D's (D's appear on A's related items tab)

The tabs appear correctly on the A work space, but when I go to B, C or D workspaces, the tabs disapper I just see a grey space, where the tabs supposed to be present. 

Also, I if I browse on the left navigation panel, the flow works correctly. If I browse using the double-click on the table items in the right, the Left Navigation disappears for B, C and D.

 

My plugin XML is attached

<?xml version="1.0" encoding="UTF-8"?>
 
<!--
   vmwarepluginui plugin metadata.
   The <plugin> tag doesn't contain any moduleUri property because it is an HTML plugin.
-->
 
<plugin id="com.mycompany.vmwarePluginui.vmwarepluginui"
      defaultBundle="com_mycompany_vmwarePluginui">
 
   <resources>
      <resource locale="{locale}">
         <module uri="locales/vmwarePlugin-ui-{locale}.swf"/>
      </resource>
   </resources>
   
    <resources>
    <resource locale="{locale}">
         <module uri="locales/com_mycompany_vmwarePluginui-{locale}.properties"/>
      </resource>
    </resources>
   
 
    <!-- Home view shortcut -->
 
   <extension id="com.mycompany.vmwarePluginui.homeShortcut">
      <extendedPoint>vise.home.shortcuts</extendedPoint>
      <object>
         <name>#{app.name}</name>
        <icon>#{application.icon}</icon> 
         <categoryUid>vsphere.core.controlcenter.monitoringCategory</categoryUid>
         <targetViewUid>com.vmware.samples.A.summary</targetViewUid>
      </object>
   </extension>
   
  <!--<extension id="com.mycompany.vmwarePluginui.BPointer">
<extendedPoint>vise.navigator.nodespecs</extendedPoint>
<object>
<title>B Detail</title>
<parentUid>com.vmware.samples.A.summary</parentUid>
<navigationTargetuid>com_mycompany_vmwarePluginui_B.summary</navigationTargetuid>
<icon>#{application.icon}</icon>
</object>
</extension> -->
 
   <!-- Main view -->
 
   <extension id="com.mycompany.vmwarePluginui.BDetails">
      <extendedPoint>vise.global.views</extendedPoint>
      <object>
         <name>#{app.name}</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/AXListing1.html</url>
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
   
   <extension id="com.mycompany.vmwarePluginui.main">
      <extendedPoint>vise.global.views</extendedPoint>
      <object>
         <name>#{app.name}</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/AXListing1.html</url>
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
   
 
 
   <!-- Host monitor sample view -->
 
   <extension id="com.vmware.samples.A.summary">
      <extendedPoint>com_mycompany_vmwarePluginui_A.summaryViews</extendedPoint>
      <object>
         <name>#{monitorTab.label}</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/ADetailsGrid.html</url>
                  
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
   
   <extension id="com.vmware.samples.B.summary">
      <extendedPoint>com_mycompany_vmwarePluginui_B.summaryViews</extendedPoint>
      <object>
         <name>B Summary</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/BDetails.html</url>
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
   
   <extension id="com.vmware.samples.C.summary">
      <extendedPoint>com_mycompany_vmwarePluginui_C.summaryViews</extendedPoint>
      <object>
         <name>B Summary</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/CDetails.html</url>
                  <dialogTitle>WSSDK Summary Sample</dialogTitle>
                  <dialogSize>440,400</dialogSize>
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
   
   <extension id="com.vmware.samples.D.summary">
      <extendedPoint>com_mycompany_vmwarePluginui_D.summaryViews</extendedPoint>
      <object>
         <name>B Summary</name>
         <componentClass className="com.vmware.vsphere.client.htmlbridge.HtmlView">
            <object>
               <root>
                  <url>/vsphere-client/vmwarepluginui/resources/DDetails.html</url>
               </root>
            </object>
         </componentClass>
      </object>
   </extension>
 
   
<extension id="com.mycompany.vmwarePluginui.NavigatorItem">
<extendedPoint>vise.navigator.nodespecs</extendedPoint>
<object>
<title>Xoriant Plugin</title>
<icon>#{navigator.icon}</icon>
<parentUid>vsphere.core.navigator.solutionsCategory</parentUid>
<navigationTargetuid>com.vmware.samples.A.summary</navigationTargetuid>
</object>
</extension>
 
 
 
<templateInstance id="com.vmware.samples.lists.allAs">
     <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>
     <variable name="namespace" value="com_mycompany_vmwarePluginui_A"/>
     <variable name="title" value="X SubA"/>
     <variable name="icon" value="#{navigator.icon}"/>
     <variable name="objectType" value="X:A"/>
     <variable name="listViewId" value="com_mycompany_vmwarePluginui_A.list"/>
     <variable name="parentUid" value="com.mycompany.vmwarePluginui.NavigatorItem"/>
</templateInstance>
 
<templateInstance id="com_mycompany_vmwarePluginui.viewTemplateInstance">
      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>
      <variable name="namespace" value="com_mycompany_vmwarePluginui_A"/>
      <variable name="objectType" value="X:A"/>
      <!-- remove the Related Objects tab since it is empty -->
      <relationsViewId>com_mycompany_vmwarePluginui.related</relationsViewId>
   </templateInstance>      
   
    <extension id="com.vmware.samples.A.list.sampleColumns">
      <!-- This extension point is created by objectViewTemplate above -->
      <extendedPoint>com_mycompany_vmwarePluginui_A.list.columns</extendedPoint>
      <object>
         <!-- XML representation of com.vmware.ui.lists.ColumnSetContainer -->
         <items>
          <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_A.column.id</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>ID</headerText>
                     <requestedProperties>
                        <String>id</String>
                     </requestedProperties>
                     <exportProperty>id</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_A.column.gid</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>Global Resource ID</headerText>
                     <requestedProperties>
                        <String>globalResourceId</String>
                     </requestedProperties>
                     <exportProperty>globalResourceId</exportProperty>
                     <sortProperty>globalResourceId</sortProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis name column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_A.column.name</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <!-- Column header -->
                     <headerText>Name</headerText>
                     <!-- Object property whose text value will be displayed (array of 1 element) -->
                     <requestedProperties>
                        <String>name</String>
                     </requestedProperties>
                     <!-- Use sortProperty to allow column to be sorted with header click -->
                     <sortProperty>name</sortProperty>
                     <!-- Use exportProperty to allow column data to be exported -->
                     <exportProperty>name</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
         </items>
      </object>
   </extension>
   
   
   <templateInstance id="com.vmware.samples.lists.allBs">
     <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>
     <variable name="namespace" value="com_mycompany_vmwarePluginui_B"/>
     <variable name="title" value="X B"/>
     <variable name="icon" value="#{navigator.icon}"/>
     <variable name="objectType" value="X:B"/>
     <variable name="listViewId" value="com_mycompany_vmwarePluginui_B.list"/>
     <variable name="parentUid" value="com.vmware.samples.A.list.sampleColumns"/>
</templateInstance>
 
<templateInstance id="com_mycompany_vmwarePluginui.viewTemplateInstanceVol">
      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>
      <variable name="namespace" value="com_mycompany_vmwarePluginui_B"/>
      <variable name="objectType" value="X:B"/>
      <!-- remove the Related Objects tab since it is empty -->
      <relationsViewId>com_mycompany_vmwarePluginui.related</relationsViewId>
   </templateInstance>      
   
    <extension id="com.vmware.samples.B.list.related">
      <!-- This extension point is created by objectViewTemplate above -->
      <extendedPoint>com_mycompany_vmwarePluginui_B.list.columns</extendedPoint>
      <object>
         <!-- XML representation of com.vmware.ui.lists.ColumnSetContainer -->
         <items>
          <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_B.column.id</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>ID</headerText>
                     <requestedProperties>
                        <String>id</String>
                     </requestedProperties>
                     <exportProperty>id</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_B.column.gid</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>Global Resource ID</headerText>
                     <requestedProperties>
                        <String>globalResourceId</String>
                     </requestedProperties>
                     <exportProperty>globalResourceId</exportProperty>
                     <sortProperty>globalResourceId</sortProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis name column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_B.column.name</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <!-- Column header -->
                     <headerText>Name</headerText>
                     <!-- Object property whose text value will be displayed (array of 1 element) -->
                     <requestedProperties>
                        <String>name</String>
                     </requestedProperties>
                     <!-- Use sortProperty to allow column to be sorted with header click -->
                     <sortProperty>name</sortProperty>
                     <!-- Use exportProperty to allow column data to be exported -->
                     <exportProperty>name</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
             <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_B.type</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <!-- Column header -->
                     <headerText>Type</headerText>
                     <!-- Object property whose text value will be displayed (array of 1 element) -->
                     <requestedProperties>
                        <String>BType</String>
                     </requestedProperties>
                     <!-- Use sortProperty to allow column to be sorted with header click -->
                     <sortProperty>BType</sortProperty>
                     <!-- Use exportProperty to allow column data to be exported -->
                     <exportProperty>BType</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
         </items>
      </object>
   </extension>
   
   <templateInstance id="com.vmware.samples.lists.allCs">
     <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>
     <variable name="namespace" value="com_mycompany_vmwarePluginui_C"/>
     <variable name="title" value="X C"/>
     <variable name="icon" value="#{navigator.icon}"/>
     <variable name="objectType" value="X:C"/>
     <variable name="listViewId" value="com_mycompany_vmwarePluginui_C.list"/>
     <variable name="parentUid" value="com.vmware.samples.A.list.sampleColumns"/>
</templateInstance>
 
<templateInstance id="com_mycompany_vmwarePluginui.viewTemplateInstanceCs">
      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>
      <variable name="namespace" value="com_mycompany_vmwarePluginui_C"/>
      <variable name="objectType" value="X:C"/>
      <!-- remove the Related Objects tab since it is empty--> 
      <excludedExtension>com_mycompany_vmwarePluginui.related</excludedExtension>
   </templateInstance>      
   
    <extension id="com.vmware.samples.C.list.related">
      <!-- This extension point is created by objectViewTemplate above -->
      <extendedPoint>com_mycompany_vmwarePluginui_C.list.columns</extendedPoint>
      <object>
         <!-- XML representation of com.vmware.ui.lists.ColumnSetContainer -->
         <items>
          <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_C.column.id</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>ID</headerText>
                     <requestedProperties>
                        <String>id</String>
                     </requestedProperties>
                     <exportProperty>id</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_C.column.gid</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>Global Resource ID</headerText>
                     <requestedProperties>
                        <String>globalResourceId</String>
                     </requestedProperties>
                     <exportProperty>globalResourceId</exportProperty>
                     <sortProperty>globalResourceId</sortProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis name column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_C.column.name</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <!-- Column header -->
                     <headerText>Name</headerText>
                     <!-- Object property whose text value will be displayed (array of 1 element) -->
                     <requestedProperties>
                        <String>name</String>
                     </requestedProperties>
                     <!-- Use sortProperty to allow column to be sorted with header click -->
                     <sortProperty>name</sortProperty>
                     <!-- Use exportProperty to allow column data to be exported -->
                     <exportProperty>name</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
     
         </items>
      </object>
   </extension>
   
   <templateInstance id="com.vmware.samples.lists.allDs">
     <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>
     <variable name="namespace" value="com_mycompany_vmwarePluginui_D"/>
     <variable name="title" value="Ds"/>
     <variable name="icon" value="#{navigator.icon}"/>
     <variable name="objectType" value="X:D"/>
     <variable name="listViewId" value="com_mycompany_vmwarePluginui_D.list"/>
     <variable name="parentUid" value="com.vmware.samples.A.list.sampleColumns"/>
</templateInstance>
 
<templateInstance id="com_mycompany_vmwarePluginui.viewTemplateInstanceDs">
      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>
      <variable name="namespace" value="com_mycompany_vmwarePluginui_D"/>
      <variable name="objectType" value="X:D"/>
      <!-- remove the Related Objects tab since it is empty--> 
      <excludedExtension>com_mycompany_vmwarePluginui.related</excludedExtension>
   </templateInstance>      
   
    <extension id="com.vmware.samples.D.list.related">
      <!-- This extension point is created by objectViewTemplate above -->
      <extendedPoint>com_mycompany_vmwarePluginui_D.list.columns</extendedPoint>
      <object>
         <!-- XML representation of com.vmware.ui.lists.ColumnSetContainer -->
         <items>
          <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_D.column.id</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>ID</headerText>
                     <requestedProperties>
                        <String>id</String>
                     </requestedProperties>
                     <exportProperty>id</exportProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_D.column.name</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>Name</headerText>
                     <requestedProperties>
                        <String>instanceId</String>
                     </requestedProperties>
                     <exportProperty>name</exportProperty>
                     <sortProperty>name</sortProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
            <!-- Chassis ID column -->
            <com.vmware.ui.lists.ColumnContainer>
               <uid>com_mycompany_vmwarePluginui_D.column.gid</uid>
               <dataInfo>
                  <com.vmware.ui.lists.ColumnDataSourceInfo>
                     <headerText>Global Resource ID</headerText>
                     <requestedProperties>
                        <String>globalResourceId</String>
                     </requestedProperties>
                     <exportProperty>globalResourceId</exportProperty>
                     <sortProperty>globalResourceId</sortProperty>
                  </com.vmware.ui.lists.ColumnDataSourceInfo>
               </dataInfo>
            </com.vmware.ui.lists.ColumnContainer>
            
         </items>
      </object>
   </extension>
   
   <extension id="com.vmware.samples.relateditems.specs.chassis">
   <extendedPoint>vise.relateditems.specs</extendedPoint>
   <object>
      <type>X:A</type>
      <!-- relationsViewId references the "related items view" extension created
by the object template. It must be defined for the related items view to
be shown on the right-hand side.
-->
      <relationsViewId>com.vmware.samples.A.list.sampleColumns</relationsViewId>
      <relationSpecs>
         <!--1 -->
         <com.vmware.ui.relateditems.model.RelationSpec>
            <id>rackForChassis</id>
            <icon>#{navigator.icon}</icon>
            <label>B View</label>
            <relation>B</relation>
            <targetType>X:B</targetType>
            <listViewId>com_mycompany_vmwarePluginui_B.list</listViewId>
         </com.vmware.ui.relateditems.model.RelationSpec>
         <!--2 -->
         <com.vmware.ui.relateditems.model.RelationSpec>
            <id>rackForChassis1</id>
            <icon>#{C.icon}</icon>
            <label>C View</label>
            <relation>C</relation>
            <targetType>X:C</targetType>
            <listViewId>com_mycompany_vmwarePluginui_C.list</listViewId>
         </com.vmware.ui.relateditems.model.RelationSpec>
         
         <com.vmware.ui.relateditems.model.RelationSpec>
            <id>rackForChassis2</id>
            <icon>#{D.icon}</icon>
            <label>D View</label>
            <relation>D</relation>
            <targetType>X:D</targetType>
            <listViewId>com_mycompany_vmwarePluginui_D.list</listViewId>
         </com.vmware.ui.relateditems.model.RelationSpec>
      </relationSpecs>
   </object>
</extension>
 
<!-- 'createChassis' list action is defined in a separate extension without any
         objectType metadata because it is global. It should not show up in the
         chassis object menu as it does not belong to any chassis object. -->
   <extension id="com.vmware.samples.chassisa.listActionSet">
      <extendedPoint>vise.actions.sets</extendedPoint>
      <object>
         <actions>
               <!-- Create Chassis -->
            <com.vmware.actionsfw.ActionSpec>
               <uid>com.vmware.samples.chassisa.createChassis</uid>
               <label>Add B</label>
               <icon>#{sampleAction1.icon}</icon>
               <delegate>
                  <className>com.vmware.vsphere.client.htmlbridge.HtmlActionDelegate</className>
                  <object><root>
                     <!-- execute the action on client-side (html view in a modal dialog) -->
                     <actionUrl>/vsphere-client/vmwarepluginui/resources/addB.html</actionUrl>
                     <dialogTitle>Add B</dialogTitle>
                     <dialogSize>500,300</dialogSize>
                     <dialogIcon>#{sampleAction1.icon}</dialogIcon>
                 </root></object>
               </delegate>
               <!-- All context-less actions should be marked as private to prevent them
                  from showing up in all menus.-->
               <privateAction>true</privateAction>
            </com.vmware.actionsfw.ActionSpec>
             
         </actions>
      </object>
    </extension>
    
    
     <extension id="com.vmware.samples.chassisa.actionSet">
      <extendedPoint>vise.actions.sets</extendedPoint>
      <object>
         <actions>
            <com.vmware.actionsfw.ActionSpec>
               <uid>com.vmware.samples.chassisa.deleteChassis</uid>
               <label>Delete B</label>
               <icon>#{sampleAction2.icon}</icon>
               <delegate>
                  <className>com.vmware.vsphere.client.htmlbridge.HtmlActionDelegate</className>
                  <object><root>
                     <!-- execute the action on client-side (html view in a modal dialog) -->
                     <actionUrl>/vsphere-client/vmwarepluginui/resources/deleteB.html</actionUrl>
                     <dialogTitle>Delete B</dialogTitle>
                     <dialogSize>400,150</dialogSize>
                     <dialogIcon>#{sampleAction2.icon}</dialogIcon>
                 </root></object>
               </delegate>
               <!-- All context-less actions should be marked as private to prevent them
                  from showing up in all menus.-->
            </com.vmware.actionsfw.ActionSpec>
           
         </actions>
      </object>
       <metadata>
         <!-- This filters the actions to be visible only on B -->
         <objectType>X:B</objectType>
      </metadata>
    </extension>
    
 
<!-- Global actions in the chassis list, i.e. actions that don't require a
      selected object and appear in the toolbar LHS => createChassis here. -->
   <extension id="com.vmware.sample.chassis.listAction">
      <extendedPoint>vmware.prioritization.listActions</extendedPoint>
      <object>
         <prioritizedIds>
            <String>com.vmware.samples.chassisa.createChassis</String>
         </prioritizedIds>
         <regionId>com_mycompany_vmwarePluginui_B.list</regionId>
         
      </object>
   </extension>
</plugin>
0 Kudos
1 Reply
irahov
VMware Employee
VMware Employee

Hi, VicTK,

Thank you for your interest in the vSphere Client SDK.

I would advise you start with minimum code and just modify it step by step.

It may be quite complicated if you introduce 4 object types all at once.

The SDK team may not have much capacity to fully investigate each use case in details described in the forum.

In your case I would start by taking a look at Chassis B sample which deals with 2 object types and their relation.

Having said all of that I would point out to something that I have noticed in your plugin.xml with regards to the related items:

You have defined just one relation for type A

    <extendedPoint>vise.relateditems.specs</extendedPoint>

while you need also the relation described for the other directions

You should also make sure that your server side data adapter knows about all the types.

If you want to get deeper in that route it will be really beneficial if you investigate Chassis B sample.

0 Kudos