Application Packaging Standard

Last updated 18-Mar-2019

OSS Provider Control Panel

An application can plug its UI into the OSS provider control panel (OSS PCP) as explained here.

Placeholders for Navigation Tree

The OSS PCP exposes some placeholders for embedding APS UI into the following places:

  • Application instance screen
  • Operations Automation navigation panel on the left-hand side of the PCP
  • Dashboards

To use the two last places in the list above, the PCP contains custom placeholders for plugging APS UI in addition to Placeholders. To use them, you need to enable the APS placeholders in provider panel feature.

../../../../_images/pcp-settings.png

Embedding to Application Instance Screen

One of placeholders predefined in the APS Specification allows embedding a navigation tree into the application instance screen. In the following example, metadata declaration in APP-META.xml makes the tree with the “Offers Management” label embedded into the application instance screen, as required by element <plugs-to id=”http://www.aps-standard.org/ui/application”/>.

<navigation id="pcp" label="Offers Management">
   <var name="cloud" type-id="http://aps-standard.org/samples/offer-mgmt/clouds/1.0"/>
   <plugs-to id="http://www.aps-standard.org/ui/application"/>
   <item id="offers" label="Offers">
      <view id="offers" label="Offers List">
         ...
      </view>
   </item>
</navigation>

In PCP, a plugged custom view looks as presented below.

../../../../_images/pcp-app-instance-embed.png

APS UI in this case allows the provider to create and manage global resources of the application, such as offers in our example.

Embedding to Navigation Panel

It is possible to embed APS UI on the second level of the Operations Automation navigation panel.

../../../../_images/pcp-levels1.png

To plug APS UI on the second level of the navigation panel, use the following placeholders in the <plugs-to> tag when declaring the navigation tree or its items:

In the following demo declaration, two navigation items of the APS navigation tree must be embedded into the Operations folder of the Operations Automation navigation panel.

<navigation id="pcp" label="VPS Management - PCP">
    <var name="cloud" type-id="http://www.parallels.com/custom-ui-test/cloud/1.0"/>
    <plugs-to id="http://www.aps-standard.org/ui/application"/>
    <item id="samples1" label="L1 Samples 01">
         <plugs-to id="http://www.parallels.com/poa/pcp/operations"/>
         <view id="samples" label="Samples 1 List">
         </view>
    </item>

    <item id="samples2" label="L1 Samples 02">
        <plugs-to id="http://www.parallels.com/poa/pcp/operations"/>
        <view id="samples" label="Samples 2 List" src="ui/samples.html">
        </view>
    </item>

</navigation>

The following items must appear after importing the APS package and installing an APS application instance for the package.

../../../../_images/pcp-navigation-embed.png

Embedding to Dashboards

Operations Automation exposes the following placeholders to embed a navigation tree or navigation items in a dashboard:

The following example illustrates how to embed the whole APS UI tree into the Services > Infrastructure Cloud dashboard.

<navigation id="ci-pcp" label="Cloud OS Management">
   <var name="cloudos" type-id="http://www.parallels.com/infrastructure/cloudos/1.0"/>
   <plugs-to id="http://www.parallels.com/poa/pcp/services/cloud"/>
   <item id="ci-wap" label="Windows Azure Pack">
      <item id="ci-plans" label="Plans">
         <view id="ci-plans.list" src="ui/plans.list.html">
            ...
         </view>
      </item>
      <item id="ci-subscriptions" label="Subscriptions">
         <view id="ci-subscriptions.list" src="ui/subscriptions.list.html">
            ...
         </view>
      </item>
      <item id="ci-endpoints.view" label="Settings">
         <view id="ci-endpoints.view" label="Windows Azure Pack endpoints">
            ...
         </view>
      </item>
   </item>
</navigation>

The APS navigation tree with its items must appear after importing the APS package and installing an APS application instance for the package.

../../../../_images/pcp-dashboard-embed.png