Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -N -r1.44.2.10 -r1.44.2.11 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 21 Jun 2016 07:44:36 -0000 1.44.2.10 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 23 Jun 2016 08:32:46 -0000 1.44.2.11 @@ -3,7 +3,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

Install some API

As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

-    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

Page Map

Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

Figure 9.5. Page Map

Page Map

Build the "Index" page

Each user-visible page in your package has, typically, + cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

Page Map

Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

Figure 9.5. Page Map

Page Map

Build the "Index" page

Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including Tcl and database-independent SQL code, and does things like @@ -12,7 +12,7 @@ holds html. The -postgres.xql and -oracle.xql files contains database-specific SQL. The default page in any directory is - index, so we'll build that + index, so we'll build that first, starting with the tcl file:

[$OPENACS_SERVICE_NAME postgresql]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackages/www
 [$OPENACS_SERVICE_NAME www]$ emacs index.tcl

Paste this into the file.

ad_page_contract {
     This is the main page for the package.  It displays all of the Notes and provides links to edit them and to create new Notes.
@@ -31,7 +31,7 @@
 

Now index.adp:

<master>
   <property name="doc(title)">@page_title;literal@</property>
   <property name="context">@context;literal@</property>
-<include src="/packages/myfirstpackage/lib/note-list">

The index page includes the list page, which we put in /lib instead of /www to designate that it's available for reuse by other packages.

[$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/lib
+<include src="/packages/myfirstpackage/lib/note-list">

The index page includes the list page, which we put in /lib instead of /www to designate that it's available for reuse by other packages.

[$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/lib
 [$OPENACS_SERVICE_NAME www]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/lib
 [$OPENACS_SERVICE_NAME lib]$ emacs note-list.tcl
template::list::create \
     -name notes \
@@ -146,7 +146,7 @@
 mfp::note::delete -item_id $item_id
 
 ad_returnredirect "."
-# stop running this code, since we're redirecting
+# stop running this code, since we're redirecting
 abort
 
 # Local variables: