Deconstructing the custom feed to test your web application on Web Platform Installer

I have been working with Microsoft Web application Gallery for a while now and the most common concern I have seen is that developers would like to test their application before submitting to the Web Application Gallery but have difficulty building the custom feed .  You can view a sample custom feed   here   to test your application .   This blog article will deconstruct this feed and explain how you can modify this to your needs

1. Create a new product <entry> for your  application

 <!-- Sample application with dependencies -->
 <entry type="application">
<!-- Enter a UNIQUE productId for your application to avoid conflicts with other existing applications and products in Web PI -->
 <productId>Sample_PHP_MySQL_App</productId>
 <!-- Enter an appropriate title for your application -->
 <title>Sample PHP and and MySQL application</title>
<!-- Include some brief description about the application  -->
 <summary>PHP and MySQL application sample</summary>
 <!-- Include any detailed information about the application -->
 <longSummary>Sample PHP and MySQL to show how to add a feed with a custom PHP application to WebPI and define all dependencies.</longSummary>

 <keywords>
 <!-- To display under PHPApps subtab , include this Keyword --> 
 <keywordId>MyApps</keywordId>
 <keywordId>MySQL</keywordId>
 </keywords>
<version>1.0</version>
 <images>
 <icon>c:\SamplePHPAppIcon.jpg</icon>
 </images>
<updated>2009-10-5T18:30:02Z</updated>
 <published>2009-10-5T18:30:02Z</published>
<author>
 <name>Sample Application Builder</name>
 <uri>https://www.contoso.com</uri>
 </author>
<!-- Related product can be any product that is nice to have  , but is not required -->
 <related>
 <relatedProduct>
 <productId>MySQL</productId>
 </relatedProduct>
 </related>
<!-- 
 Minimum set of requirements/dependencies in order to successfully install the application: 
 PHP, WDeploy, SQL Management Objects, MySql Connector and URL Rewrite.
 You can replace PHP , Wincache to ASP.NET product Ids (ASP.NET 4.5 : NetFramework45  ; ASP.NET 3.5 : NetFramework35 )  if your application is an ASP.NET application . 
 -->
 <dependency>
 <and>
 <dependency>
 <productId>WDeployNoSMO</productId>
 </dependency>
 <dependency>
 <productId>PHP53</productId>
 </dependency>
 <dependency>
 <productId>MySQLConnector</productId>
 </dependency>
 <dependency>
 <productId>UrlRewrite2</productId>
 </dependency>
 </and>
 </dependency>
 <!-- Installer for an application should be Web Deploy package -->
 <installers>
 <installer>
 <id>1</id>
 <!-- List of languages this package is localized in: English, Russian, French, German and Italian -->
 <languageId>en</languageId>
 <languageId>ru</languageId>
 <languageId>fr</languageId>
 <languageId>de</languageId>
 <languageId>it</languageId>
 <installerFile>
 <!-- size of the package in KBs -->
 <fileSize>1024</fileSize>
<!-- Include a local file path like 'file://c:\myapplication\myapp.zip' or a HTTP URL -->
 <installerURL>https://www.contoso.com/SamplePHPApplication.zip</installerURL>
 <!-- SHA of the package file for signature verification -->
 <sha1>1223334444555556666667777777888888889999</sha1>
 </installerFile>
 <helpLink>https://www.contoso.com/SamplePHPApplicationForum.aspx</helpLink>
 <msDeploy>
 <!-- Default page is a start page -->
 <startPage />
 </msDeploy>
 </installer>
 </installers>
 </entry>

2. Create a new Tab where the application you wish to test can be listed

 <tabs>
 <tab>
 <keywordTab>
 <!-- Creates a new Tab called Sample Applications -->
 <id>SampleApplications</id>
 <name>Sample Applications</name>
  <description>Select from sample applications:</description> 
   <!-- Create multiple sub-tabs under 'Sample Applications'  -->
    <keywords> 
      <keywordId>MyApps</keywordId>
    </keywords>
  </keywordTab>
 </tab>
 </tabs>

3. Create a new Keyword to categorize the application . This allows you to creates Groups of applications within the same Tab section

 <keywords> 
<keyword id="PHPApps">PHP Apps</keyword>
</keywords>

You can modify this  feed as per your needs  and test your application with Web Platform installer .