Quantcast
Channel: VMware Communities : Discussion List - vSphere Client SDK
Viewing all articles
Browse latest Browse all 2218

Creating a new object workspace for a custom object

$
0
0

Hello,

I have a problem with creating object workspace for my custom object in the plugin. I'm trying to create something similar to "chassis-rack" sample that provided with the SDK. I added a new app category and I want to display inventory lists of various custom objects under it. For each custom object, I need to be able to view it's related objects and/or its own properties. So I did everything just like in "rack-chassis" sample. I am able to view lists of my custom objects. However, when I click on a specific object in the list, its workspace does not appear (although it's defined in plugin.xml), I get an empty screen with a message: "You have no privileges to view this object or it does not exist". I added two custom objects and they both behave the same way.

I checked all the logs and there is nothing interesting. I also debugged it and found out that "getData" function of the DataAdapter registered for these objects is not called when I click on the specific object, so I suppose the problem is related to the object workspace, but I can't find or understand how I can find it.

 

I will be very grateful for help.

 

Here is my plugin.xml:

 

<?xml version="1.0" encoding="UTF-8"?>

 

 

<plugin id="com.emc.ecs.scaleioPlugin"

   moduleUri="Scaleiopluginui.swf" defaultBundle="ScaleiopluginuiResources">

 

 

   <resources>

      <resource locale="en_US">

         <!-- relative path of the resource .swf generated by the build script -->

         <module uri="locales/scaleio-plugin-ui-resources-en_US.swf"/>

      </resource>

   </resources>

 

 

  <!--==========================================================================

  ================================== General ===================================

  ==============================================================================-->

 

   <!-- Add "ScaleIO ECS" node to the Virtual Infrastructure view of the object

   navigator. This category node is used below for the MDM clusters collection. -->

   <extension id="com.emc.ecs.scaleioAppCategory">

      <extendedPoint>vise.navigator.nodespecs</extendedPoint>

      <object>

         <title>#{scaleioAppCategory}</title>

         <parentUid>vsphere.core.navigator.virtualInfrastructure</parentUid>

      </object>

   </extension>

 

 

  <!--==========================================================================

  ==================================== MDM =====================================

  ==============================================================================-->  

 

 

  <extension id="com.emc.ecs.mdm.objectType">

      <extendedPoint>vsphere.core.objectTypes</extendedPoint>

      <object>

         <types>

            <String>ecs:Mdm</String>

         </types>

         <label>#{mdmLabel}</label>

         <labelPlural>#{mdmLabelPlural}</labelPlural>

         <icon>#{mdmIcon}</icon>

      </object>

    </extension>

 

 

    <templateInstance id="com.emc.ecs.mdm.viewTemplateInstance">

      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>

      <variable name="namespace" value="com.emc.ecs.mdm"/>

      <variable name="objectType" value="ecs:Mdm"/>

    </templateInstance>

 

 

    <templateInstance id="com.emc.ecs.lists.allMdm">

      <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>

      <variable name="namespace" value="com.emc.ecs.mdmCollection"/>

      <variable name="title" value="#{mdmLabel}"/>

      <variable name="icon" value="#{mdmIcon}"/>

      <variable name="objectType" value="ecs:Mdm"/>

      <variable name="listViewId" value="com.emc.ecs.mdm.list"/>

      <variable name="parentUid" value="com.emc.ecs.scaleioAppCategory"/>

    </templateInstance>

 

 

    <extension id="com.emc.ecs.mdm.list.sampleColumns">

      <extendedPoint>com.emc.ecs.mdm.list.columns</extendedPoint>

      <object>

         <items>

            <com.vmware.ui.lists.ColumnContainer>

               <uid>com.emc.ecs.mdm.column.ip</uid>

               <dataInfo>

                  <com.vmware.ui.lists.ColumnDataSourceInfo>

                     <requestedProperties>

                        <String>ip</String>

                     </requestedProperties>

                     <sortProperty>ip</sortProperty>

                     <exportProperty>ip</exportProperty>

                  </com.vmware.ui.lists.ColumnDataSourceInfo>

               </dataInfo>

               <component>

                  <mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

                     <headerText>Ip Address</headerText>

                     <dataField>ip</dataField>

                  </mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

               </component>

            </com.vmware.ui.lists.ColumnContainer>

 

 

            <com.vmware.ui.lists.ColumnContainer>

               <uid>com.emc.ecs.mdm.column.type</uid>

               <dataInfo>

                  <com.vmware.ui.lists.ColumnDataSourceInfo>

                     <requestedProperties>

                        <String>type</String>

                     </requestedProperties>

                     <exportProperty>type</exportProperty>

                  </com.vmware.ui.lists.ColumnDataSourceInfo>

               </dataInfo>

               <component>

                  <mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

                     <headerText>MDM Type</headerText>

                     <dataField>type</dataField>

                  </mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

               </component>

            </com.vmware.ui.lists.ColumnContainer>

         </items>

      </object>

   </extension>

 

 

  

  <!--==========================================================================

  ================================ MDM Cluster =================================

  ==============================================================================-->

 

 

 

   

   <templateInstance id="com.emc.ecs.mdmCluster.viewTemplate">

      <templateId>vsphere.core.inventory.objectViewTemplate</templateId>

      <variable name="namespace" value="com.emc.ecs.mdmCluster"/>

      <variable name="objectType" value="ecs:MdmCluster"/>

   </templateInstance>

 

 

 

 

    <templateInstance id="com.emc.ecs.lists.allMdmCluster">

      <templateId>vsphere.core.inventorylist.objectCollectionTemplate</templateId>

      <variable name="namespace" value="com.emc.ecs.mdmClusterCollection"/>

     <variable name="title" value="#{mdmClusterLabel}"/>

       <variable name="icon" value="#{mdmClusterIcon}"/>

      <variable name="objectType" value="ecs:MdmCluster"/>

      <variable name="listViewId" value="com.emc.ecs.mdmCluster.list"/>

      <variable name="parentUid" value="com.emc.ecs.scaleioAppCategory"/>

    </templateInstance>

   

 

 

    <extension id="com.emc.ecs.mdmCluster.list.sampleColumns">

      <extendedPoint>com.emc.ecs.mdmCluster.list.columns</extendedPoint>

      <object>

         <items>

            <com.vmware.ui.lists.ColumnContainer>

               <uid>com.emc.ecs.mdmCluster.column.name</uid>

               <dataInfo>

                  <com.vmware.ui.lists.ColumnDataSourceInfo>

                     <requestedProperties>

                        <String>name</String>

                     </requestedProperties>

                     <sortProperty>name</sortProperty>

                     <exportProperty>name</exportProperty>

                  </com.vmware.ui.lists.ColumnDataSourceInfo>

               </dataInfo>

               <component>

                  <mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

                     <headerText>Name</headerText>

                     <dataField>name</dataField>

                  </mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

               </component>

            </com.vmware.ui.lists.ColumnContainer>

 

 

            <com.vmware.ui.lists.ColumnContainer>

               <uid>com.emc.ecs.mdmCluster.column.mode</uid>

               <dataInfo>

                  <com.vmware.ui.lists.ColumnDataSourceInfo>

                     <requestedProperties>

                        <String>mode</String>

                     </requestedProperties>

                     <exportProperty>mode</exportProperty>

                  </com.vmware.ui.lists.ColumnDataSourceInfo>

               </dataInfo>

               <component>

                  <mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

                     <headerText>Mode</headerText>

                     <dataField>mode</dataField>

                  </mx.controls.advancedDataGridClasses.AdvancedDataGridColumn>

               </component>

            </com.vmware.ui.lists.ColumnContainer>

         </items>

      </object>

   </extension>

 

 

  

      <extension id="com.emc.ecs.mdmCluster.objectType">

      <extendedPoint>vsphere.core.objectTypes</extendedPoint>

      <object>

         <types>

            <String>ecs:MdmCluster</String>

         </types>

        

         <label>#{mdmClusterLabel}</label>

         <labelPlural>#{mdmClusterLabelPlural}</labelPlural>

         <icon>#{mdmClusterIcon}</icon>

      </object>

   </extension>

  

</plugin>


Viewing all articles
Browse latest Browse all 2218

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>