Table of Contents Previous Section
Installing Applications
You can use the developer application Project Builder to deploy WebObjects applications. When an application is ready to be deployed, do the following in Project Builder:
- Click the inspector button to open the Build Attributes Inspector. In the Install in field, type $(NEXT_ROOT)/NextLibrary/WOApps.
- If your project contains web server resources, go to the Makefile.preamble file under Supporting Files. Uncomment the following macro:
- In the Project Build panel, click the checkmark button to bring up the Build Options panel.
- Choose install as the build target, and close the Build Options panel.
- Click the Build button to start the build and installation process.
If you're installing a framework, type $(NEXT_ROOT)/NextLibrary/Frameworks
INSTALLDIR_WEBSERVER
Assuming that your application is named MyApp.woa, this procedure installs these directories:
NeXT_ROOT/NextLibrary/WOApps/MyApp.woa MyApp[.exe] Resources/ WebServerResources/ <DocRoot>/WebObjects/MyApp.woa WebServerResources/
As discussed previously in the section "Adaptor Modes," when the client tries to contact an application, the adaptor first looks for a public configuration file that names the application, then for a private configuration file that names the application, and then for an executable in <DocRoot>/WebObjects and NeXT_ROOT/NextLibrary/WOApps. Thus, you can install the entire directory under <DocRoot>/WebObjects, but doing so presents a security problem if you have scripted components. Any client can access any file under the document root, which means that if you install scripted components under the document root, you are exposing source code to outside users.
Instead, it is recommended that you install most of the application in NeXT_ROOT/NextLibrary/WOApps and install only the web server resources under the document root. It is also recommended that you install the application directly in the <DocRoot>/WebObjects directory rather than in a subdirectory. If you install in a subdirectory, your application can still run but cannot find image files unless you provide the application path on the command line. For more information, see "Starting Up Applications From the Command Line" in this guide.