Molu Software Update

From Mophilly Support

Jump to: navigation, search

Contents

Introduction

With Molu Software Update Services you can update your client installations as often as you need. Instead of making them wait four to six months for "cost effective" delivery of fixes and enhancements, the update cycle can be weekly, monthly or whatever makes sense for your business. The Software Update Service is a simple, secure update way to drive down deployment costs by eliminating the need for update installers, extra CD's, special FTP downloads and the technical support that goes along with these methods.

The Molu Registration Service provides automated registration and activation of client installations. Integrating delivery of software licenses into your existing sales order and accounting systems is simple and straightforward.

The Molu Developers Tool manages your software updates and release notes for your account with Molu Software Update Services. It supports one or more of your products. The Molu Developers Tool is included with each Molu Client distribution.

The Molu Software Update is available as a service or a pre-configured server product. Each plan includes the Developer Tool for managing your product deployment and the client library to be included in your product distribution.

The Molu Software Update software was made possible by the contributions of Jorge Arias of Valhalla Systems, Mark Robillard of Clients & Profits, and Walter Venable of Alternative Engineering. Patrick Insko of Corporate Services provided copy editing and invaluable critique.

Hosted Service

Set up takes about 30 minutes or less. The server is hosted in our data center, backed up on a weekly basis. All data is encrypted using unique keys before being uploaded to the server. The update process is completely under your control.

Fees are a base rate per month for up to 1 GB data transfer volume. Higher volume is automatically accommodated and charged to your account in 1 GB blocks. High volume rates are available.

Server Appliance

The server host is available in either a 1U rack mount or small form factor device. Standard server operating system options are Linux, Mac OS X server operating systems. Windows server can be configured upon request.

Hardware configuration for the minimum server is 2.4 GHz Pentium class processor, 2 GB RAM, 10/100/1000 Mbps ethernet card, CD/DVD reader, 7200 rpm 80GB hard drive.

Molu Software Update FAQ

What’s Included

The release includes three Omnis Studio version 4 libraries and two Base64 binary files. The Base64 binary files are External Components for Omnis Studio, one for MacOS X and one for Windows. A version for Linux Desktop installations is available upon request.

Molu Services are encrypted and encoded during data transfer. This protects your data from being pilfered by cretins lurking on the internet. The encryption provide a measure of security, while the Base64 encoding assures clear sailing over the internet. These functions are built into the Base64 external component, which is required for the service to function properly.

Sample Application Code

The first Omnis Studio library is "Sample.lbs" which shows you how to implement the Molu Client in your application library. Sample.lbs is a working library, however it will not provide a live demonstration library until you have set up the Molu Developer Tool and uploaded your application to Molu Services.

osCoder's Menu
Enlarge
osCoder's Menu

Sample.lbs contains the code you need to integrate the Molu Client with your application. You can simply drop the window class into your library and amend one of your existing menus to open it, and you are ready to go. When the user selects the menu command they are presented with the Software Update dialog.

Software Update dialog
Enlarge
Software Update dialog

You may alter this window to match your application user interface motif.













Molu Client

The library "MoluClient.lbs" is the Molu Client for Omnis Studio and should be included as part of your standard deployment. The client also requires appropriate versions of the Base64 external components be installed to ensure proper encoding and decoding of data packets. Instructions for setting up the Omnis Runtime can be found later in this document.

The Molu Client does all the work of determining if an update is available, downloading and installing the update. There isn’t a user interface for the Molu Client. Rather, there are example windows you can use in the Sample.lbs file. The sample windows and menu found in Sample.lbs can be added to your application library, and they will handle the interaction with the Molu Client.

Molu Developer Tool

The third library "MoluDevTool.lbs" is to be used by you to manage the contents of the updates and release notes hosted by the Molu Service. This tool can be placed wherever is convenient for you. It is used within the Omnis development environment and is compatible with the Omnis SDK.

Setup Instructions

Test Environment Setup

Before you use Molu services, setup a test environment for your project. This is comprised of three parts:

  1. Master Application
    The master application contains the current working versions of your application files. This is the source of the software updates. It is typically the most recent stable build from your version control system.
  2. Application Archive
    The application archive is simply the place where you store the completed, tested versions of your application. This is a good place to put correct copies of the Baseline Installation and the Master Application.
  3. Baseline Installation
    The baseline product installation is the complete distribution as deployed to your clientele. This is the receiver of the updates. The Molu Client must be in the Startup folder of the Omnis directory for the Software Update system to function.

The Baseline Installation and the Master Application must be placed in separate directories to avoid confusion. The Molu Developer Tool will be used only with the Master Application. The Baseline Installation will be used only for downloading and testing software updates.

The Molu Client must be in the Startup folder of the Omnis directory for the Software Update system to function. The Molu Client is delivered configured with your unique Molu Service access sequences, so you needn’t worry about that.

Begin by creating the Master Application, then create the Baseline Installation from the Master Application. The Baseline Installation is a branch of the Master Application. Typically, the Master Application contains more recently modified code than the Baseline Installation. The Baseline Installation represents your installed base.

Molu Client Setup

In the text below, the words "directory" and "folder" are synonymous. The term "directory tree" refers to a given directory and its sub-directories; that is, the hierarchy of nested directories.

You will modify your application to include the calls to Molu Client. The Sample.lbs file includes all the code you need to implement the check for updates procedure in your application.

  1. Create a directory for the "end user" test installation.
  2. Install the Omnis runtime in this directory and serialize it.
  3. Test that the Omnis runtime is working properly before continuing.
  4. Place the Base64 external component in the xcomp folder in the Omnis directory tree.
  5. Place the Molu Client library in the Startup directory in the Omnis directory tree.
  6. Copy the window class &qout;wSoftwareUpdate" from Sample.lbs into your master library.
  7. Modify the appropriate menu or window class in your application to open the &qout;wSoftwareUpdate" window.

Note: Make certain your master library and the end user library include the Molu Client code before attempting to use Molu Services. If the master library lacks the Molu Client code, the first download may overwrite the class and eliminate the Molu Client code.

Developer Tool Setup

The file MoluDevTool.lbs can be placed anywhere that is convenient. We like to keep it in our development tools directory one level higher that the Omnis Studio SDK directory.

Place the Base64 external in the Omnis xcomp folder. Restart the Omnis SDK to ensure the external component is loaded correctly.

The Molu Developer Tool offers a variety of features organized on tabs in the Class Manager window. Here are some screen shots of each tab:

Operating Instructions

The First Time Process

In the beginning you will need to test your implementation of the Molu Client. Before you can do that, you must upload new software to Molu Services. Please follow these steps to ensure a smooth completion of your set up.

  1. Set up the Molu Developer Tool and the Molu Client.
  2. Start the Omnis SDK and open your master library.
  3. Open the Molu Developer Tool.
  4. Click on the "Manager" tab.
  5. Click on the "plus" button to add your new product to the server.
  6. Upload all of the classes in your master library.
    • Click on the "Local Classes" tab.
    • Click on the "Prepare for Upload" button. The first time, all classes will be selected for uploading.
    • Click the "Upload Now" button.
  7. Click on "Release Notes" tab.
  8. Add a Release Note and save it.

Regular Use

As a developer you will find that working with the Molu Developer Tool is convenient and time efficient. When the Molu Developer Tool opens, it displays the Class Manager. This window is used to upload revised and new classes to the Molu Service. It reads the list of open files as it opens but doesn't update at the moment.

The window sports four tabs: Local Classes, Remote Classes, Release Notes, and Manager.

  • Local Classes displays the contents of the open working library.
  • Remote Classes shows you what classes are available on the Molu Server.
  • Release Notes allows you to upload to the server release notes for your product.
  • Product Manager for adding and deleting product and library information.

Uploading New Changes

To upload classes, follow these steps:

  1. Open your source library and make any changes required. Save your work and make a backup in your usual fashion.
  2. Open MoluDevTool.lbs and the Class Manager window will be displayed.
  3. If it is not already selected, select your library in the drop-down list in the top area of the window.
  4. Click the "Prepare for upload" button to initiate the comparison between the local library and the Molu Services database. When the process is complete the class list will be redrawn with the version numbers for local and remote classes and the action to be taken.
  5. Click the "Upload" button. This will upload the selected classes to the server.

Testing the End User Installation

When the upload is finished you are ready to use the end-user installation to verify the system is working. This is an important step before releasing an update to the end-users.

If you implemented Molu Client as it is in the Sample.lbs library then this is no more difficult than opening the end user application, selecting the Software Update menu item and letting it run. Allow the update process to complete, then verify that the modifications you made have been added to the application.

  1. Open the Omnis Runtime or SDK, and launch the End User test installation.
  2. Select Software Update from the menu you modified earlier. Your application should check for updates. If it finds some it will present the release notes. Otherwise, it will present a user alert saying no updates are available.
  3. If there is an update available, click “Install” to download the updates. After downloading the update data for your application, it should complete the installation gracefully and close the Software Update window.
  4. Check the application to be certain the updated classes were installed.
Personal tools