Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 4 Jun 2006 00:45:25 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 17 Jul 2006 05:38:32 -0000 1.37 @@ -1,12 +1,11 @@ - -Creating an Application Package

Creating an Application Package

by Joel Aufrecht

+Creating an Application Package

Creating an Application Package

by Joel Aufrecht

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

The intended page map

Overview

To start developing new code in OpenACS, we build a new package. A package +

The intended page map

Overview

To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. - A package with user interface is called an application; + A package with user interface is called an application; a package which provides functions to other packages and has no direct interface, a - service. A package can be installed, upgraded, and + service. A package can be installed, upgraded, and removed. It communicates with other packages through an API. This chapter walks you through the minimum steps to create a useful package, including writing documentation, setting up database tables and procedures, writing web pages, debugging, and automatic regression testing. @@ -18,11 +17,11 @@ right now. Code that is temporary hackage is clearly marked.

In this tutorial, we will make an application package for displaying a list of text notes. -

Before you begin

You will need:

  • A computer with a working installation of +

Before you begin

You will need:

  • A computer with a working installation of OpenACS. If you don't have this, see Chapter�2, Installation Overview.

  • Example files, which are included in the -standard OpenACS 5.2.3b1 distribution. -

Figure�9.1.�Assumptions in this section

Fully qualified domain name of your serveryourserver.test
URL of your serverhttp://yourserver.test:8000
Name of development account$OPENACS_SERVICE_NAME
New Package keymyfirstpackage

Use the APM to initialize a new package

We use the ACS Package Manager (APM) to add, remove, and +standard OpenACS 5.2.3rc1 distribution. +

Figure�9.1.�Assumptions in this section

Fully qualified domain name of your serveryourserver.test
URL of your serverhttp://yourserver.test:8000
Name of development account$OPENACS_SERVICE_NAME
New Package keymyfirstpackage

Use the APM to initialize a new package

We use the ACS Package Manager (APM) to add, remove, and upgrade packages. It handles package meta-data, such as lists of files that belong in the package. Each package is uniquely identified by a package key. To start developing a new @@ -31,31 +30,31 @@ the initial directories, meta-information files, and database entries for a new package. (More info on APM)

  1. Browse to - http://yourserver:8000/acs-admin/apm. -

  2. Click Create a New Package.

    Fill in the fields listed below. Ignore the rest (and leave the check boxes alone). + http://yourserver:8000/acs-admin/apm. +

  3. Click Create a New Package.

    Fill in the fields listed below. Ignore the rest (and leave the check boxes alone). (Some will change automatically. Don't mess with those.)

    • - Package Key: - myfirstpackage

    • - Package Name: - My First Package + Package Key: + myfirstpackage

    • + Package Name: + My First Package

    • - Package Plural: - My First Package

    • - Package Type: - Application + Package Plural: + My First Package

    • + Package Type: + Application

    • - Initial Version: - 0.1d -

    • Summary: - This is my first package. + Initial Version: + 0.1d +

    • Summary: + This is my first package.

    At the bottom, click - Create Package. + Create Package.

This creates a package rooted at - /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage. - This is the "home directory" of our new package, and all + /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage. + This is the "home directory" of our new package, and all files in the package will be within this directory. More on the structure of - packages).

Add an Application Instance to the Server

In order to see your work in progress, you must create a + packages).

Add an Application Instance to the Server

In order to see your work in progress, you must create a map between the URL space of incoming requests and the package application instance. You do this by adding the application in the main site administration). This creates a link between the incoming URL requests and an @@ -64,9 +63,9 @@ code and tables. This requires that a package be developed package-aware. You'll see how to do that in this tutorial.

  1. Browse to -http://yourserver.test:8000/admin/applications/application-add/.

  2. Choose "My First Package" from the list and click OK (the other fields are optional).

By mounting the package, we've caused all requests to - http://yourserver.test:8000/my-first-package - to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

Quick start

The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
+http://yourserver.test:8000/admin/applications/application-add/.

  • Choose "My First Package" from the list and click OK (the other fields are optional).

  • By mounting the package, we've caused all requests to + http://yourserver.test:8000/my-first-package + to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

    Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
     psql $OPENACS_SERVICE_NAME -f myfirstpackage-create.sql
     cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
     mkdir ../../../../myfirstpackage/lib