Uploading and Deploying Hybrid Apps

If the selected hybrid app uses the AppUpdate plugin, you can activate a new version of the app.


A hybrid app package that:
  • Contains the contents of the application's www folder and the config.xml project file, with a separate folder in the archive for each mobile platform (android/www and/or ios/www in all lowercase). The format structure for a hybrid apps is:
    |- android 
    | |- config.xml
    | |- www
    |- iOS
  • Is compressed into a standard .zip file for upload.


  1. In Management Cockpit, select Applications.
  2. For an application, select Start of the navigation path  Next navigation step Configure Next navigation step Application-Specific Settings End of the navigation path.
  3. To import a new application or update an existing application version, click Upload.
    1. In the Kapsel Upload dialog, click Browse, and navigate to the directory that contains the hybrid app package.
    2. Select the package, and click Upload.

    New version information appears for the uploaded Kapsel app for each mobile platform. You cannot change this information.

    Table 11: Kapsel App Properties
    Property Description
    Operating System The operating system on which the application runs.
    Revisions Identifies the production version revision. A revision number is assigned to a newly uploaded Kapsel app and incremented when a new version is uploaded.
    Required Kapsel Version Identifies the Kapsel SDK version that was used to develop the Kapsel app, for example, 3.0.0.
    Development Version Identifies the internal development version that was used to develop the Kapsel app.
    Uploaded By The user who uploaded the Kapsel app.
    Last Modified Date last modified.
    State State of the Kapsel app version:
    • New – a newly uploaded version.

    • Staged – in testing. A user who is defined as a tester can download and test applications. See Managing Registrations and Users.

      Once testing is complete, an administrator can promote a version to the Current state, so it becomes active. If testing fails, the administrator can change the state back to New.

    • Current – the version that is currently active.

    Table 12: Table 13: Moving Applications Between States
    Beginning State Action Ending State
    New Click Stage Staged
    New Click Deploy Current
    Staged Click Remove New
    Staged Click Deploy Current
  4. To deploy applications, select the check box for each application you want to deploy, and click Deploy.

    Deployed Kapsel app information appears as the current version, and the revision number is incremented.

    For device-application users:
    • If a Kapsel app with the default version (revision = 0) connects to the server, the server downloads the full Kapsel app.
    • If a Kapsel app with a version (revision = 1 or higher) connects to the server, the server calculates the difference between the user's version and the new version, and downloads a patch containing only the required changes.
    • If the application implements the AppUpdate plugin, the server checks for updates when the application starts or resumes. If the developer has made changes, AppUpdate detects them using the www folder content (the HTML-based content), and not with native plugins or changes made outside of that folder. For changes made outside the www folder, the developer must post a new copy of the app to the application download site, or use Afaria to push the new app to all users.
  5. To remove application versions that have been imported, but not yet deployed, select the check box for each application you want to remove, and click Remove.

    To optimize life-cycle management for Kapsel applications and to provide more efficient client updates, mobile services archive a limited number of applications that a client has previously downloaded to his or her device. If a client requests an application update and the client version of the application is available, the delta version is sent to the client; if the client version is not available, the full version is sent to the client.