Deconstructed View of an application package used by Web Application Gallery

To help you understand what a web deployable package for Web Application Gallery is , I have deconstructed the contents of the package in this post :

#1 : manifest.xml (required):  

This file is used to

  • set up the ACLs for your application
  • content path for your application
  • may include any references to SQL Server or MySQL scripts
  • may include “alias” provider that allows you to “add” a new file to the code base during deployment or “rename” an existing file during deployment 

#2: parameters.xml (required):

This file is used to identify the

  • Destination content path for your application
  • ACL parameters that match the ACL specified in the manifest.xml 
  • Database parameters if application supports a database
  • Any user defined parameters that allows you to replace “information” in a file based on user input or replace “information” with some default value that would be required for a specific scenario.

For example, you can use parameters to create a site’s admin user or allow the user to enter a Secret Key for the ecommerce application etc.   

#3: SQL Server or MySQL scripts (required if application supports a database):

The minimum requirement for these scripts is to create a ‘non-admin’ database user. You can find sample scripts here

 

#4: Application content root folder

This will contain the content of the application that needs to be deployed to a website

#5: Additional files that are used with “alias” provider in manifest.xml:    

Here is an example of a scenario when this is applicable 

If you have a PHP application say Moodle, and the core package on the community website does not have a web.config file for the application. But we need the web.config file for deploying it to Azure. In this case, you can use the “alias” provider as shown here and include “web.config” file at the root level of the ZIP package

 

<alias to=”application_root_folder_name/web.config” from=”web.config” />

 

During deployment, web deploy will copy the web.config from the root level of the zip file to the site root of the application