Index: openacs-4/packages/acs-templating/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/requirements.adp,v diff -u -r1.2.2.3 -r1.2.2.4 --- openacs-4/packages/acs-templating/www/doc/requirements.adp 1 Dec 2015 11:18:00 -0000 1.2.2.3 +++ openacs-4/packages/acs-templating/www/doc/requirements.adp 9 Jun 2016 13:03:12 -0000 1.2.2.4 @@ -17,7 +17,7 @@ The following is a requirements document for the ACS Templating System version 0.5. It has also been called Karl's Templates, the Dynamic Publishing System (DPS), and Stencil. The official package -name for the system is now acs-templating +name for the system is now acs-templating .

II. Vision Statement

@@ -54,23 +54,23 @@

The template system is designed to be used by two classes of users: programmers and designers. In bulding a web site, programmers are generally responsible for defining and implementing -the application logic of the site, while designers are more -responsible for the presentation. Generally speaking, the +the application logic of the site, while designers are more +responsible for the presentation. Generally speaking, the application logic generates data for the presentation to display to the user. The template system must provide mechanisms that supports both of these tasks and allows the designer and programmer to work seperately, but for their work to be combined at runtime into something that the user sees as a single page.

-

Thus, pages are naturally split into two parts. The logic -part executes application logic and generates data, and the -presentation part that specifies the layout of the page and +

Thus, pages are naturally split into two parts. The logic +part executes application logic and generates data, and the +presentation part that specifies the layout of the page and so on.

What is needed is:

  1. A notation and API for the programmer specify the application logic and to generate the data to be displayed. In ACS, we call the -data that we wish to display a data source or page -property. Application logic is driven by the inputs the page +data that we wish to display a data source or page +property. Application logic is driven by the inputs the page gathers from the user request (e.g. the HTTP request), and the computation that the page must perform on this input. This computation will generally create and populate the data sources and @@ -124,8 +124,8 @@ authors must use special tags to position each piece of dynamic data within the layout. Each template is associated with a data dictionary that lists all available variables.

    10.10.2 Use of Components

    To speed development and ensure consistency of design, template -authors are encouraged to assemble pages from distinct component -templates that may be recycled in different contexts. One +authors are encouraged to assemble pages from distinct component +templates that may be recycled in different contexts. One typical practice is to build a "master" template for an entire section of a site, with a common header, footer and sidebar layout. For each page request, the "content" template is incorporated @@ -143,9 +143,9 @@ specific data being presented. For example, when presenting a list of library books that a user has checked out, the designer might want to highlight the overdue ones in red. For this, designers must -have the ability to write simple program logic (Note: We run the +have the ability to write simple program logic (Note: We run the risk of inventing our own language here, we must be -careful).

    +careful).

  2. 10.10.5 Iteration

    Dynamic pages often present lists of values or records, each of which typically represents the results of a database query.