Creating OpenACS Packages

Reuven shows how to develop your own simple web/database application using APM.

Finishing the Package

We can now return to APM and generate a package with our
templates and database creation scripts. Click on the atf-hello
package name, and then click on the manage file information link
toward the bottom of the page. Now click on scan for additional
files in this package. You should see a list of the .sql, .tcl and
.adp pages we installed. Indicate that all of these files should be
included in the package, and after returning to the main ATF Hello
APM management screen, click on the generate a new atf-hello.info
file link.

You're now set to create an APM that can be distributed to
any other OpenACS user. Click on the generate a file link, and the
distribution file information will indicate the size of the
generated APM. If you click on this link, an APM should be
downloaded to your system.

How do you install a new APM someone has sent you? The
easiest method is to place the APM on the server filesystem. Then
from within your web browser, return to the main APM page
(/acs-admin/apm/) and click on the install link. Tell the system
where the APM is located, and it will be placed under the packages
directory. You will then be able to install it using the APM
installer that we examined last month. The data model will be
inserted into the database, and the web pages will be made
available for any interested parties. And of course, once a package
is installed in the system, you can use the ACS site map
application to mount a new instance of the package under a URL of
your choice.

What Are We Missing?

This example package only scratches the surface of OpenACS
application development, for example:

The templating system comes with an automatic
form-builder system that makes it easy to create HTML forms that
automatically provide confirmation screens and data
validation.

We can load Tcl procedures into AOLserver at
startup time by defining them within the package's tcl
directory.

Named SQL queries, as mentioned above, make it
possible to write a single Tcl program that transparently accesses
both Oracle and PostgreSQL.

Each instance of a package can be kept separate
from its peers using the OpenACS concept of context.

Each instance can set its own parameters, allowing
it to have installation-specific information.

Each package can define (or use) its own set of
permissions, allowing you to create custom permissions and custom
access control lists for users and groups on the system.

Conclusion

OpenACS is complex, and APM is not the simplest system to
learn because it tries to handle so many complicated cases that
web/database developers often encounter. At the same time, I
haven't yet seen an easier way to distribute web/database
applications with this degree of modularity, portability across
databases and flexibility when it comes to the templates. The ease
of creating such applications, combined with a rich data model and
a large set of established applications makes OpenACS a viable and
useful platform for on-line communities.

Reuven
M. Lerner is a consultant specializing in web/database
applications and open-source software. His book, Core Perl, was
published in January 2002 by Prentice Hall. Reuven lives in
Modi'in, Israel, with his wife and daughter.

The site is intended for simplification of a life to those who wishes to understand the rough financial world.
On a site the useful and interesting information which will help you to orient as much as possible quickly in the financial world. Portal Finans