HttpVPN Developer's Guide: Creating Web App's Release Definition at the Portal

Overview

This document explains steps that need to be taken when you about to release new version of your web application. The content of the document assumes reader's familiarity with the following topics:
- Developer's Guide: The Overview.
- Developer's Guide: Creating Your Web App Store.

Before your redistributable web app can be published, some administrative tasks have to be performed within the context of your web app store. They include:

  • Creating a Product Line.
  •    Creating one or more application's Target Platform Definitions for each product line.
  •      Creating an application release definition under the target platform definition.

Managing Product Lines

Product line concept links together multiple app versions released over time. Product line allows smooth upgrade experience from one app version to another, when end users order and install your apps. It will also allow for better reporting in the future (when stats and revenue reporting is implemented) for the app store functionality.

Product lines are managed at the Web App Store Management page.
Web app store management
Just click "Manage Product Lines" link and then on the "App Store Product Line Management" page click "Create New Product Line" link.

Specify the name for the product line and the description of what all releases of this application will do, regardless when they were released.
Creating a new product line
Click "Insert" link when done. This action will take you back to the "App Store Product Line Management" page, which now will look like this:
Product line management page

To move to the next step of making your future app available for ordering at the HttpVPN Portal please click "Manage Releases" link highlighted on the screenshot above. It will take you to the "Application Release Management" page, which in its pristine state looks like this:

What Are Target Platforms For?

Any web application can potentially be created to run on multiple operating systems. Although HttpVPN Proxy currently is running only on Windows, it is simple enough to be ported to other operating systems in a foreseeable future. Still, even if the Proxy is Windows-bound right now, your application does not have to be. Target Platform is an abstraction that allows you to maintain different release lines for each target platform. From the end-user stand point, Target Platform is something users select *first* when they order an app. Therefore, before any application release can be published, target platform definition(s) should be created for each product line.

To create a new platform definition, please click "Create New Platform Definition" link shown on the screen shot above:
Creating new target platform definition for a web app product line
What you enter as the platform name is quite important because that's what end users will see and use to make a decision whether the app is compatible with the computer they are going to install it on. Please be as precise and specific as possible, and be sure to include only systems you have actually tested your app with into the target platform name. For example, if you never ran your app on 64-bit Windows 7, please make sure your target platform name does not imply your app will work with it. Click "Insert" link to create a new platform definition. This action will update "Application Release Management" page to look like this:
App release management page with target platform definition

Creating a New Application Release Definition

Once your product line has at least one target platform defined, you can get to the final logical step of creation application release definition. App release definition has to be created for every new version of the app. App release contains all important details about the software you distribute: its version, price, download location, etc. Even if your application is still far from being ready to be released and not all details are available at this stage of the process, it is still appropriate to create a release definition right now - simply because your application installer will need to know its release ID in order to register your app instance with the Portal when end user installs it. Also, creating a release definition does not make the release exposed to the public at large right away. Release becomes available only after it is explicitly published, as shows further in this guide.

To create a new release, please click "Create Release" link highlighted on the screenshot above, which will take you to the New Application Release screen, where you start with checking "It's a Beta (Test) Release" checkbox and entering most details available at this point:
Note that download URL and support URL are not entered at this point because the application is not yet ready and was not made available for downloading. Making application release a Beta forces it to be free of charge, and also tells users that another, final release can be expected soon. Once you have filled out details of the release, please click "Insert" link.

This will once again update your Release Management screen by showing details of newly created release:

From this screen you will be able to get access to important functions like

  • Getting release registration information required in order for app's installer to register the application with the Portal;
  • Creating a sample order for your installer testing purposes - without making this release available for ordering to general public;
  • Setting up upgrade prices to provide discounts for users who bought either earlier versions of your products or own competing products;
  • Editing properties of the release definition in order to update software download location, price information and other settings;
  • Publishing the release when everything is ready for the prime time.

Be sure to update your app's installer (that registers your app with HttpVPN)
by specifying new Release ID (SKU) that is created for each new release or your app!

At this point, most of the Portal-side preparations for your app release are done. There will be some additional steps to be completed once your app is tested, packaged and ready. Now it's time to turn your web app into a truly redistributable software by building an installation package that will deploy HttpVPN Proxy, install your app, and kick off application registration process.

Next Steps