![]() | ![]() | Application Development |
Before delivering an application to its users, you need to package it for delivery. There are some basic constructions to remember that will make packaging your application more modular. This chapter describes general information about:
Basic Deployment Steps | ![]() |
formlib).
Your Panther application consists of at least one to three Panther libraries, depending on the application's architecture: a library for storing the objects that define the user interface (client.lib); a library for storing the objects required by application servers (server.lib); and, for JetNet/BEA Tuxedo, a common library (common.lib) for the objects that are needed by both client and server.
If, however, the components are to be made memory-resident, extract the desired components from their respective libraries before building your executables.
For web applications, alternatively, you can place your graphics files in the htdocs directory on your HTTP server and set the ImageDir variable in the web initialization file to point to that location.
formlib -o to lock the libraries. This step is irreversible. (After locking the library, you must use formlib -x to extract the contents and formlib -c to create a new library for editing.)SMBASE, SMVARS, SMTERM are set correctly:
SMBASE should point to your application directory (for example, setenv SMBASE /usr/myapp).
SMTERM should define the platform (for example, setenv SMTERM X).
SMPATH to point to other application directories.
SMFLIBS variable (in smvars or in the initialization file for clients).
On Windows, libraries are delineated with a ; or |.
On UNIX, libraries are delineated with a : or a |.
Required Files | ![]() |
All Panther applications require the following files:
prorun5.lib) containing all screens and JPL used by Panther.
msgfile.bin).
smjgbls.
Prolifics resource file.
prol5w32.ini.
smvars.bin, or specified in the system's initialization file.
lib/*.so.* on Sun).
bin directory.
locale and udataobj directories.
jetman, rbboot, rbshutdown).
Jetman) or initialization file for Windows (jetman.ini).
env files)
dll) and type library (*.tlb).
Optional Files | ![]() |
The following files are optional, depending on your application's components, requirements, and how it is configured:
grafcap, symbold, and symbols1 in your distribution. Include any graph-specific font files that are used in your application (for example, aldine.fnt, centry.fnt, duplex.fnt from the distributed config directory).
You also need the following platform-specific files:
gdsp and swsdrvr.
ldb.scr), include them in the appropriate library.
Specifying Files and Directories | ![]() |
For the client portion of your application, you can use the smvars file to specify all the libraries and directories that Panther needs to run. The only variables that must be set by the user would be SMTERM and SMVARS, which tell Panther which binary configuration files to use and where to find the application's files. Refer to page in the Configuration for more information about setting up the system environment.
Alternatively, your application can specify required files through calls to Panther functions:
sm_keyinit initializes the key translation file from the specified key file.
sm_vinit initializes the video translation file from the specified video file.
sm_soption supplies the search path for Panther binaries.
Detailed information on each function and their variants is available in the online Programming Guide.
Customizing the Distribution | ![]() |
This section describes additional measures you can take when you package your application. To ensure that these changes take effect, it is best to build your executable after customizing the appropriate files.
For JetNet/BEA Tuxedo applications, if you are administering the setup of your deployed application, you can provide a middleware configuration file that is similar to the one built when the application was being developed. If the application is being setup by your customer, you can provide documentation for using the JetNet manager and/or scripts for defining the number of client workstations, the number of machines, and the number of application servers that will be used to run your application.
When your application starts up it uses an initialization file (prol5w32.ini) under Windows and a resource file (Prolifics) under Motif. For Motif, instead of using the distributed files, you can change the name to reflect your application's name and specify the file in piinit.c (found in the link directory). To include the name of your resource file, for example:
sm_pi_xm__setup("myAppSetup");
For Windows, you can specify the name of the ini file on the Start Menu command line. For example, the PlayMusic application would place PlayMusic.ini in the Windows directory and call that ini file with the following command setting:
C:\Prolifics\Panther\prorun.exe -ini PlayMusic
You can design your own splash screen, just like the one that displays when you startup the screen editor, that will display when your application is initialized. The screen can be a BMP, JPEG, or GIF format. You specify the name of the screen in your startup file:
Prolifics), add the line:
Prolifics*introPixmap: "
titleScreen.ext"prol5w32.ini), include the name on the line:
When you minimize your application in Windows, the default Panther icon is used. You can replace the default icon with one of your own. Edit the Specifying Your Own Icon
prorun.rc file located in the link directory to include the name of your .ico file, for example:
#define ICONFILE myIcon.ico