Index: openacs-4/packages/acs-admin/www/apm/version-i18n.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/version-i18n.tcl,v diff -u -r1.11.10.2 -r1.11.10.3 --- openacs-4/packages/acs-admin/www/apm/version-i18n.tcl 29 Jul 2014 11:23:55 -0000 1.11.10.2 +++ openacs-4/packages/acs-admin/www/apm/version-i18n.tcl 9 Sep 2014 08:31:53 -0000 1.11.10.3 @@ -103,7 +103,7 @@ -options {{{Find human language text and replace with <# ... #> tags} replace_text} {{Replace <# ... #> tags with #...# keys and insert message into catalog} replace_tags}} \ -values {replace_text} \ } else { - # TCL files or SQL files + # Tcl files or SQL files element create file_list_form tcl_action_inform \ -datatype text \ -widget inform \ Index: openacs-4/packages/acs-automated-testing/tcl/aa-test-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-automated-testing/tcl/aa-test-procs.tcl,v diff -u -r1.38.6.4 -r1.38.6.5 --- openacs-4/packages/acs-automated-testing/tcl/aa-test-procs.tcl 30 Apr 2014 23:40:47 -0000 1.38.6.4 +++ openacs-4/packages/acs-automated-testing/tcl/aa-test-procs.tcl 9 Sep 2014 08:31:53 -0000 1.38.6.5 @@ -309,7 +309,7 @@ @param cats Properties of the test case. Must be zero or more of the following:
Automated Testing provides a framework for executing tests of all varieties and for storing and viewing the results.
| Req # | Status in 5.0 | Priority for 5.1 (A=required, B=optional) | Description |
|---|---|---|---|
| 1 | Done | Done | Execute TCL tests. Execute a sequence of TCL code is executed and determine the correctness of the results. |
| 1.1 | partial | Done | Execute HTTP tests. Execute tests that can interact with a the webserver via the external, HTTP interface, including retrieving pages, following links, and submitting forms. (This is partially done in the sense that we can make http calls from tcl api, but there is no framework for doing anything complicated.) |
| 1.1.1 | � | Done | Execute tclwebtest scripts. A test can contain tclwebtest commands. If tclwebtest is not installed, those commands fail gracefully. |
| 1.1.1.1 | partial | A | tclwebtest is easy to install. Tclwebtest installation is fully documented and can be installed with less than five steps. (Install is documented in 5.0, but there's a can't-find-config error; also, some new work in tclwebtest HEAD needs to packaged in a new tarball release.) |
| 2 | Done | Done | Tests have categories. Individual tests can be marked as belonging to zero, one, or many of these categories. The UI provides for running only tests in selected categories, and for viewing only results of tests in selected categories. |
| 2.1 | � | A | Each test can be associated with a single OpenACS.org bug (ie, store bug id as in integer, or store full url so that this can point to other bugs) |
| 3 | � | B | Tests can be ordered lists of other tests. minimal: verify that a test proc can call other test procs. Better: A test can be created within the GUI by selecting other tests. This test is stored in the database and can be exported. (This is related to a bigger issue of storing test scripts in some format other than tcl procs.) |
| 4 | � | C | Test scripts can be imported and exported. It should be possible to import a test into the database from a file, and to export it to a file. These files should be sharable by different OpenACS installations. It should be possible to import/export directly between running OpenACS sites. (We should look at what did and didn't work in acs-lang catalog files and work from there.) |
| 5 | � | B | Macro Recording. End users can create and run tests from the web interface without writing code.
- 1) UI to turn on macro mode. 2) basic recording: when you fill out a form while macro mode is on, the submit is caught and displayed as tclwebtest code, and then executed. 3) UI for creating aa_true tests automatically, based on the content of the page. (For example, a form that says "the returned page must contain [ type regexp here] that spits out aa_true "test X" [string regexp blah blah] |
| 6 | � | A | Notification subscriptions are available for "email me whenever this test fails" and "notify me whenever a test in this category fails" |
| 7 | � | A | The results of an automated test are optionally written to an xml file. |
Because the current test package uses in-memory variables instead of database objects to track its tests, it is incompatible with the standard category package. It uses an internal, single-dimension category field. Should this eventually get extended, a more complete list of categories to implement could be:
Testing Mode +
Automated Testing provides a framework for executing tests of all varieties and for storing and viewing the results.
| Req # | Status in 5.0 | Priority for 5.1 (A=required, B=optional) | Description |
|---|---|---|---|
| 1 | Done | Done | Execute Tcl tests. Execute a sequence of Tcl code is executed and determine the correctness of the results. |
| 1.1 | partial | Done | Execute HTTP tests. Execute tests that can interact with a the webserver via the external, HTTP interface, including retrieving pages, following links, and submitting forms. (This is partially done in the sense that we can make http calls from tcl api, but there is no framework for doing anything complicated.) |
| 1.1.1 | Done | Execute tclwebtest scripts. A test can contain tclwebtest commands. If tclwebtest is not installed, those commands fail gracefully. | |
| 1.1.1.1 | partial | A | tclwebtest is easy to install. Tclwebtest installation is fully documented and can be installed with less than five steps. (Install is documented in 5.0, but there's a can't-find-config error; also, some new work in tclwebtest HEAD needs to packaged in a new tarball release.) |
| 2 | Done | Done | Tests have categories. Individual tests can be marked as belonging to zero, one, or many of these categories. The UI provides for running only tests in selected categories, and for viewing only results of tests in selected categories. |
| 2.1 | A | Each test can be associated with a single OpenACS.org bug (ie, store bug id as in integer, or store full url so that this can point to other bugs) | |
| 3 | B | Tests can be ordered lists of other tests. minimal: verify that a test proc can call other test procs. Better: A test can be created within the GUI by selecting other tests. This test is stored in the database and can be exported. (This is related to a bigger issue of storing test scripts in some format other than tcl procs.) | |
| 4 | C | Test scripts can be imported and exported. It should be possible to import a test into the database from a file, and to export it to a file. These files should be sharable by different OpenACS installations. It should be possible to import/export directly between running OpenACS sites. (We should look at what did and didn't work in acs-lang catalog files and work from there.) | |
| 5 | B | Macro Recording. End users can create and run tests from the web interface without writing code.
+ 1) UI to turn on macro mode. 2) basic recording: when you fill out a form while macro mode is on, the submit is caught and displayed as tclwebtest code, and then executed. 3) UI for creating aa_true tests automatically, based on the content of the page. (For example, a form that says "the returned page must contain [ type regexp here] that spits out aa_true "test X" [string regexp blah blah] | |
| 6 | A | Notification subscriptions are available for "email me whenever this test fails" and "notify me whenever a test in this category fails" | |
| 7 | A | The results of an automated test are optionally written to an xml file. |
Because the current test package uses in-memory variables instead of database objects to track its tests, it is incompatible with the standard category package. It uses an internal, single-dimension category field. Should this eventually get extended, a more complete list of categories to implement could be:
Testing Mode
Regression
Smoke
Stress
@@ -13,8 +13,8 @@
security_risk
Layer
Web Page
- TCL Page Contract
- TCL API
+ Tcl Page Contract
+ Tcl API
SQL
Severity (derives from ns_log values)
Notice (use this for informational items that do not imply a problem)
Index: openacs-4/packages/acs-automated-testing/www/doc/xml/requirements.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-automated-testing/www/doc/xml/requirements.xml,v
diff -u -r1.5 -r1.5.20.1
--- openacs-4/packages/acs-automated-testing/www/doc/xml/requirements.xml 16 Feb 2004 16:47:28 -0000 1.5
+++ openacs-4/packages/acs-automated-testing/www/doc/xml/requirements.xml 9 Sep 2014 08:31:54 -0000 1.5.20.1
@@ -31,7 +31,7 @@
1
Done
Done
- Execute TCL tests . Execute a sequence of TCL code is executed and determine the correctness of the results.
+ Execute Tcl tests . Execute a sequence of Tcl code is executed and determine the correctness of the results.
1.1
@@ -119,8 +119,8 @@
security_risk
Layer
Web Page
- TCL Page Contract
- TCL API
+ Tcl Page Contract
+ Tcl API
SQL
Severity (derives from ns_log values)
Notice (use this for informational items that do not imply a problem)
Index: openacs-4/packages/acs-content-repository/tcl/publish-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/publish-procs.tcl,v
diff -u -r1.10.2.5 -r1.10.2.6
--- openacs-4/packages/acs-content-repository/tcl/publish-procs.tcl 25 Aug 2014 09:41:55 -0000 1.10.2.5
+++ openacs-4/packages/acs-content-repository/tcl/publish-procs.tcl 9 Sep 2014 08:31:54 -0000 1.10.2.6
@@ -905,7 +905,7 @@
@private foreach_publish_path
- Execute some TCL code for each root path in the PublishRoots
+ Execute some Tcl code for each root path in the PublishRoots
parameter
@param url Relative URL to append to the roots
Index: openacs-4/packages/acs-core-docs/www/aolserver4.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v
diff -u -r1.26.2.1 -r1.26.2.2
--- openacs-4/packages/acs-core-docs/www/aolserver4.html 21 Aug 2013 10:19:19 -0000 1.26.2.1
+++ openacs-4/packages/acs-core-docs/www/aolserver4.html 9 Sep 2014 08:31:54 -0000 1.26.2.2
@@ -14,12 +14,12 @@
If the first command returns anything other than 1,
then tcl is not threaded. If tcl is threaded and the version is 8.4 or higher, then installing
tcl from source is optional.
-
Retrieve TCL 8.4 (or higher). Download and install TCL 8.4 from source
Note for Debian users: you can apt-get install +
Retrieve Tcl 8.4 (or higher). Download and install Tcl 8.4 from source
Note for Debian users: you can apt-get install tcl8.4-dev if you have the right version (stable users will need to add tcl8.4 to their sources.list file as described on the Install Postgres page). You'll have to use /usr/lib/tcl8.4/ instead of /usr/local/lib when you - try to find the tcl libraries, however.
If you have not installed TCL already, download the latest TCL version from Sourceforge
Debian: + try to find the tcl libraries, however.
If you have not installed Tcl already, download the latest Tcl version from Sourceforge
Debian:
apt-get install
tcl8.4 tcl8.4-dev and proceed to
the next step. In that step, replace
Index: openacs-4/packages/acs-core-docs/www/groups-design.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v
diff -u -r1.33.2.1 -r1.33.2.2
--- openacs-4/packages/acs-core-docs/www/groups-design.html 21 Aug 2013 10:19:22 -0000 1.33.2.1
+++ openacs-4/packages/acs-core-docs/www/groups-design.html 9 Sep 2014 08:31:54 -0000 1.33.2.2
@@ -2,7 +2,7 @@
User directory
Sitewide administrator directory
Subsite administrator directory
TCL script directory
Data model
PL/SQL file
User directory
Sitewide administrator directory
Subsite administrator directory
Tcl script directory
Data model
PL/SQL file
ER diagram
Transaction flow diagram
Almost all database-backed websites have users, and need to model the grouping of users. The OpenACS 4 Parties and Groups system is intended to provide the flexibility needed to model complex real-world organizational structures, Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -r1.26.2.1 -r1.26.2.2 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 21 Aug 2013 10:19:22 -0000 1.26.2.1 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 9 Sep 2014 08:31:54 -0000 1.26.2.2 @@ -1,6 +1,6 @@
The easiest way is to install the Edit-This-Page package.
Log in to the web site as an administrator.
Click on Admin > Install Software > Install from OpenACS Repository / Install new application
Choose Edit This Page and install
Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).
Go to /admin/permissions and grant Create to Registered Users
Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.
On the front page, click the Admin button.
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be . Note the trailing slash.weblogger/
Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/wwwEdit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
- A templated page uses an ADP/TCL pair. The first line in the ADP file is usually: + A templated page uses an ADP/Tcl pair. The first line in the ADP file is usually:
<master>
If it appears exactly like this, without any arguments, the template processer uses default-master for that subsite. For pages in /var/lib/aolserver/$OPENACS_SERVICE_NAME/www, this is /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/default-master.adp and the associated .tcl file.
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
Steps to Reproduce. The events package does not allow users to register for new events.
Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.
Select an available event
A link such as Registration: Deadline is 03/15/2004 10:00am.
» Login or sign up to register for this event. is visible. Click on "Login or sign up"
Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v
diff -u -r1.25.2.2 -r1.25.2.3
--- openacs-4/packages/acs-core-docs/www/i18n-convert.html 17 Oct 2013 08:58:08 -0000 1.25.2.2
+++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 9 Sep 2014 08:31:54 -0000 1.25.2.3
@@ -13,7 +13,7 @@
package and then click on
Internationalization, then
Convert ADP, Tcl, and SQL files to using the
- message catalog.. This pass only changes the adp files; it does not affect catalog files or the catalog in the database.

You will now be walked through all of the selected adp pages. The UI shows you the intended changes and lets you edit or cancel them key by key.

Replace the temporary message tags in ADP files. From the same Convert ADP ... page in /acs-admin/apm as in the last step, repeat the process but deselect Find human language text ... and select Replace <# ... #> tags ... and click OK. This step replaces all of the temporary tags with "short" message lookups, inserts the message keys into the database message catalog, and then writes that catalog out to an xml file.
Replace human-readable text in TCL files with temporary tags. Examine all of the tcl files in the packages for human-readable text and replace it with temporary tags. The temporary tags in TCL are slightly different from those in ADP. If the first character in the temporary tag is an underscore (_), then the message keys will be auto-generated from the original message text. Here is an unmodified tcl file:
+ message catalog.. This pass only changes the adp files; it does not affect catalog files or the catalog in the database.You will now be walked through all of the selected adp pages. The UI shows you the intended changes and lets you edit or cancel them key by key.
Replace the temporary message tags in ADP files. From the same Convert ADP ... page in /acs-admin/apm as in the last step, repeat the process but deselect Find human language text ... and select Replace <# ... #> tags ... and click OK. This step replaces all of the temporary tags with "short" message lookups, inserts the message keys into the database message catalog, and then writes that catalog out to an xml file.
Replace human-readable text in Tcl files with temporary tags. Examine all of the tcl files in the packages for human-readable text and replace it with temporary tags. The temporary tags in Tcl are slightly different from those in ADP. If the first character in the temporary tag is an underscore (_), then the message keys will be auto-generated from the original message text. Here is an unmodified tcl file:
set title "Messages for $a(name) in $b(label)"
set context [list [list . "SimPlay"] \
[list [export_vars -base case-admin { case_id }] \
@@ -26,17 +26,17 @@
<#_ Administer %a.name%#>] \
<#_ Messages for %a.name%#>]
Note that the message key case_admin_page_title was manually selected, because an autogenerated key for this text, with its substitute variables, would have been very confusing
-
Replace the temporary message tags in TCL files. Repeat step 2 for tcl files. Here is the example TCL file after conversion:
+
Replace the temporary message tags in Tcl files. Repeat step 2 for tcl files. Here is the example Tcl file after conversion:
set title [_ simulation.admin_title]
set context [list [list . [_ simulation.SimPlay]] \
[list [export_vars -base case-admin { case_id }] \
[_ simulation.lt_Administer_name_gt]] \
[_ simulation.lt_Messages_for_role_pre]]
-Internationalize SQL Code. If there is any user-visible TCL code in the .sql or .xql files, internationalize that the same way as for the TCL files.
Internationalize Package Parameters. +
Internationalize SQL Code. If there is any user-visible Tcl code in the .sql or .xql files, internationalize that the same way as for the Tcl files.
Internationalize Package Parameters. See Multilingual APM Parameters
Internationalize Date and Time queries.
Find datetime in .xql files. Use command line tools to find suspect SQL code:
grep -r "to_char.*H" * grep -r "to_date.*H" * -
In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,
to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty
becomes
to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi
In TCL files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:
+
In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,
to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty
becomes
to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi
In Tcl files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:
set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]
When a datetime will be written to the database, first convert it from the user's local time to the server's timezone with lc_time_conn_to_system.
When a datetime field will be displayed, format it using the localizing function lc_time_fmt. lc_time_fmt takes two parameters, datetime and format code. Several format codes are usable for localization; they are placeholders that format dates with the appropriate codes for the user's locale. These codes are: %x, %X, %q, %Q, and %c.
set foo_date_pretty [lc_time_fmt $foo_date_ansi "%x %X"]
Use the _pretty version in your ADP page.
@@ -159,4 +159,4 @@
the message appears.
Avoid plurals. Different languages create plurals differently. Try to avoid keys which will change based on the value of a number. OpenACS does not currently support internationalization of plurals. If you use two different keys, a plural and a singular form, your application will not localize properly for locales which use different rules or have more than two forms of plurals.
Quoting in the message catalog for tcl. Watch out for quoting and escaping when editing text that is also code. For example, the original string
set title "Patch \"$patch_summary\" is nice."
breaks if the message text retains all of the escaping that was in the tcl command:
<msg>Patch \"$patch_summary\" is nice.</msg>
When it becomes a key, it should be:
<msg>Patch "$patch_summary" is nice.</msg>
Also, some keys had %var;noquote%, which is not needed since those variables are not quoted (and in fact the variable won't even be - recognized so you get the literal %var;noquote% in the output).
Be careful with curly brackets. Code within curly brackets isn't evaluated. TCL uses curly brackets as an alternative way to build lists. But TCL also uses curly brackets as an alternative to quotation marks for quoting text. So this original code
array set names { key "Pretty" ...} ... if converted to
array set names { key "[_bug-tracker.Pretty]" ...} ... won't work since the _ func will not be called. Instead, it should be
array set names [list key [_bug-tracker.Pretty] ...]
Be careful with curly brackets. Code within curly brackets isn't evaluated. Tcl uses curly brackets as an alternative way to build lists. But Tcl also uses curly brackets as an alternative to quotation marks for quoting text. So this original code
array set names { key "Pretty" ...} ... if converted to
array set names { key "[_bug-tracker.Pretty]" ...} ... won't work since the _ func will not be called. Instead, it should be
array set names [list key [_bug-tracker.Pretty] ...]
User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:
Use user preference for this package (stored in ad_locale_user_prefs)
Use system preference for the package (stored in apm_packages)
Use user's general preference (stored in user_preferences)
Use Browser header (Accept-Language HTTP header)
Use system locale (an APM parameter for acs_lang)
default to en_US
For ADP pages, message key lookup occurs in the templating engine. For TCL pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is
+
User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:
Use user preference for this package (stored in ad_locale_user_prefs)
Use system preference for the package (stored in apm_packages)
Use user's general preference (stored in user_preferences)
Use Browser header (Accept-Language HTTP header)
Use system locale (an APM parameter for acs_lang)
default to en_US
For ADP pages, message key lookup occurs in the templating engine. For Tcl pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is
found, then that locale is offered instead.
- Localizable text must be handled in ADP files, in TCL files, and + Localizable text must be handled in ADP files, in Tcl files, and in APM Parameters. OpenACS provides two approaches, message keys and localized ADP files. For ADP pages which are mostly code, replacing the message text with message key placeholders @@ -83,7 +83,7 @@ auto-generated by the APM. Example: <_ Title>
We recommend the short notation for new package development. -
In adp files message lookups are typically done with the syntax
\#package_key.message_key\#. In Tcl
files all message lookups *must* be on either of the following formats:
@@ -100,10 +100,10 @@
- Translatable texts in page TCL scripts are often found in page titles, + Translatable texts in page Tcl scripts are often found in page titles, context bars, and form labels and options. Many times the texts are enclosed in double quotes. The following is an example of grep commands - that can be used on Linux to highlight translatable text in TCL files: + that can be used on Linux to highlight translatable text in Tcl files:
# Find text in double quotesfind -iname '*.tcl'|xargs egrep -i '"[a-z]'@@ -118,7 +118,7 @@find -iname '*.tcl'|xargs egrep -i '(ad_complain|ad_return_error)'|egrep -v '<#'
- You may mark up translatable text in TCL library files and TCL pages + You may mark up translatable text in Tcl library files and Tcl pages with temporary tags on the <#key text#> syntax. If you have a sentence or paragraph of text with variables and or procedure calls in it you should in most cases @@ -171,11 +171,11 @@ When you feel ready you may vist your package in the package manager and run the action "Replace tags with keys - and insert into catalog" on the TCL files that you've edited to + and insert into catalog" on the Tcl files that you've edited to replace the temporary tags with calls to the message lookup procedure. -
- Most date, time, and number variables are calculated in TCL files. Dates and times must be converted when stored in the database, +
+ Most date, time, and number variables are calculated in Tcl files. Dates and times must be converted when stored in the database, when retrieved from the database, and when displayed. All dates are stored in the database in the server's timezone, which is an APM Parameter set at Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -r1.25.2.1 -r1.25.2.2 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 21 Aug 2013 10:19:23 -0000 1.25.2.1 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 9 Sep 2014 08:31:55 -0000 1.25.2.2 @@ -178,9 +178,9 @@ write other character sets. In particular, conversions to and from Unicode will need to be explicitly performed at the following times:
Loading source files (.tcl or .adp) or content files from the -filesystem
Accepting form input data from users
Delivering text output to a browser
Composing an email message
Writing data to the filesystem
Acs-templating does the following.
When the acs-templating package opens an an ADP or TCL file, it assumes the file is iso-8859-1. If the output charset (OutputCharset) in the AOLserver config file is set, then acs-templating assumes it's that charset. +filesystem
Accepting form input data from users
Delivering text output to a browser
Composing an email message
Writing data to the filesystem
Acs-templating does the following.
When the acs-templating package opens an an ADP or Tcl file, it assumes the file is iso-8859-1. If the output charset (OutputCharset) in the AOLserver config file is set, then acs-templating assumes it's that charset. Writing Files
When the acs-templating package writes an an ADP or - TCL file, it assumes the file is iso-8859-1. If the output + Tcl file, it assumes the file is iso-8859-1. If the output charset (OutputCharset) in the AOLserver config file is set, then acs-templating assumes it's that charset.
There are two classes of Tcl files loaded by the system; library files loaded at server startup, and page script files, Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -r1.32.2.1 -r1.32.2.2 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 21 Aug 2013 10:19:23 -0000 1.32.2.1 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 9 Sep 2014 08:31:55 -0000 1.32.2.2 @@ -8,7 +8,7 @@ Transport Agent, and source control system, are also needed for a fully effective installation.
Table 2.2. Version Compatibility Matrix
OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0 5.1 5.2 5.3 5.4 5.5 AOLserver 3 Yes No 3.3+ad13 Maybe Yes No 3.3oacs1 Maybe Yes No 3.4.4 No 3.4.4oacs1 Maybe Yes No 3.5.5 Maybe Yes No 4.0 Maybe Yes 4.5 No Yes Tcl 8.4 Yes 8.5.4 - Maybe PostgreSQL 7.0 Yes No 7.2 Maybe Yes No 7.3.2 - 7.3.x No Yes No 7.4 No Yes No 8.0 No Maybe Yes 8.1 No Yes 8.2 No CVS version only Yes 8.3 No Yes Oracle 8.1.6 Maybe Yes Maybe 8.1.7 Maybe Yes Maybe 9i No Yes 10g No Yes 11g No Maybe The OpenACS installation instructions assume the operating system and build environment are installed. - The instructions explain installation of TCL, Tcllib, tDOM, tclwebtest, a Web Server, a Database, a Process Controller, and + The instructions explain installation of Tcl, Tcllib, tDOM, tclwebtest, a Web Server, a Database, a Process Controller, and Source Control software. The following external links are for reference only.
OpenACS 5.7.0. The OpenACS tarball comprises the core packages and many useful additional packages. This includes a full set @@ -36,19 +36,19 @@ whereas on BSD distributions,
makeandgmakeare - different --use gmake.TCL 8.4.x.
TCL 8.4.x, REQUIRED. OpenACS is written in TCL, an interpreted - language. A threaded version of the TCL interpreter must be installed for - OpenACS to work. The TCL interpreter that is included in most standard - distributions may not be thread safe.
TCL 8.4.x development headers and libraries, OPTIONAL. The site-wide-search service, OpenFTS, requires these to + different --use gmake.
Tcl 8.4.x.
Tcl 8.5.x, REQUIRED. OpenACS is written in Tcl, an interpreted + language. A threaded version of the Tcl interpreter must be installed for + OpenACS to work. The Tcl interpreter that is included in most standard + distributions may not be thread safe.
TCL 8.5.x development headers and libraries, OPTIONAL. The site-wide-search service, OpenFTS, requires these to compile. (Debian users:
apt-get install - tcl8.4-dev). You need this + tcl8.5-dev). You need this to install OpenFTS.Tcllib, REQUIRED. OpenACS 5.7.0 uses those Tcl extensions to send e-mail out, among others.
tDOM, REQUIRED. OpenACS 5.7.0 stores queries in XML files, so we use an AOLserver module called tDOM to parse these files. (This replaces libxml2, which - was used prior to 4.6.4.)
tclwebtest, OPTIONAL. tclwebtest is a tool for testing web interfaces via tcl scripts.
Web Server. The web server handles incoming HTTP requests, provides - a runtime environment for OpenACS's tcl code, connects to the + was used prior to 4.6.4.)
tclwebtest, OPTIONAL. tclwebtest is a tool for testing web interfaces via Tcl scripts.
Web Server. The web server handles incoming HTTP requests, provides + a runtime environment for OpenACS's Tcl code, connects to the database, sends out HTTP responses, and logs requests and errors. OpenACS uses AOLserver; some people have had success running Apache with mod_nsd.
AOLserver 4.x, REQUIRED. Provides the base HTTP server
@@ -89,7 +89,7 @@ through a PAM module (such as RADIUS).
pam_radius 1.3.16, OPTIONAL. Provides RADIUS capabilities for PAM. You need this if you want to use RADIUS authentication via PAM in OpenACS.
ns_ldap 0.r8, OPTIONAL. Provides LDAP capabilities for AOLserver. You need this if you want to use LDAP authentication in OpenACS.
OpenFTS - TCL 0.3.2, OPTIONAL. Adds + Tcl 0.3.2, OPTIONAL. Adds full-text-search to PostgreSQL and includes a driver for AOLserver. You need this if you want users to be able to search for any text on your site. For postgres 7.4.x and Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -r1.34.2.1 -r1.34.2.2 --- openacs-4/packages/acs-core-docs/www/install-steps.html 21 Aug 2013 10:19:25 -0000 1.34.2.1 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 9 Sep 2014 08:31:56 -0000 1.34.2.2 @@ -88,7 +88,7 @@ you've done a search first. When you do post, be sure to include your setup information (OS, etc) as well as the exact commands that are failing with the accompanying error. If - there's a SQL error in the TCL error or in the log, + there's a SQL error in the Tcl error or in the log, post that too.
If you find errors in this document or if you have ideas about Index: openacs-4/packages/acs-core-docs/www/release-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.html,v diff -u -r1.54.2.1 -r1.54.2.2 --- openacs-4/packages/acs-core-docs/www/release-notes.html 21 Aug 2013 10:19:28 -0000 1.54.2.1 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 9 Sep 2014 08:31:56 -0000 1.54.2.2 @@ -83,7 +83,7 @@ release.
The ChangeLogs include an annotated list of changes (the section called “Changelog (most recent release only)”) since the last release and in the entire 5.7 release sequence the section called “Changelog for oacs-5-7”.
Bug fixes.
New TIPs implemented.
All Core Automated Tests for Postgres pass.
New Site and Blank master templates and CSS compatible with the .LRN Zen work. Compatibility master templates are provided for existing sites.
The ChangeLogs include an annotated list of changes (the section called “Changelog (most recent release only)”) since the last release and in the -entire 5.7 release sequence the section called “Changelog for oacs-5-7”.
Bug fixes.
The missing CR TCL API has been filled in, thanks to Rocael and +entire 5.7 release sequence the section called “Changelog for oacs-5-7”.
Bug fixes.
The missing CR Tcl API has been filled in, thanks to Rocael and his team and Dave Bauer.
This release does not include new translations.
Bug fixes, primarily for .LRN compatibility in support of upcoming .LRN 2.1.0 releases. This release does not include new translations since 5.1.2.
Translations syncronized with the translation server. Basque and Catalan added. 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 -r1.42.2.1 -r1.42.2.2 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 21 Aug 2013 10:19:32 -0000 1.42.2.1 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 9 Sep 2014 08:31:56 -0000 1.42.2.2 @@ -14,7 +14,7 @@ This tutorial uses the content repository package. This radically simplifies the database work, but forces us to work around the content repository's limitations, including an - incomplete TCL API. So the tutorial is messier than we'd like + incomplete Tcl API. So the tutorial is messier than we'd like 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. 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 -r1.43.2.1 -r1.43.2.2 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 21 Aug 2013 10:19:32 -0000 1.43.2.1 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 9 Sep 2014 08:31:57 -0000 1.43.2.2 @@ -5,7 +5,7 @@
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".
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.
Each user-visible page in your package has, typically,
three parts. The tcl file
- holds the procedural logic for the page, including TCL and
+ holds the procedural logic for the page, including Tcl and
database-independent SQL code, and does things like
check permissions, invoke the database queries, and modify
variables, and the adp page
Index: openacs-4/packages/acs-core-docs/www/tutorial-second-database.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-second-database.html,v
diff -u -r1.9.4.1 -r1.9.4.2
--- openacs-4/packages/acs-core-docs/www/tutorial-second-database.html 21 Aug 2013 10:19:33 -0000 1.9.4.1
+++ openacs-4/packages/acs-core-docs/www/tutorial-second-database.html 9 Sep 2014 08:31:57 -0000 1.9.4.2
@@ -1,5 +1,5 @@
-
It is possible to use the OpenACS TCL database API with +
It is possible to use the OpenACS Tcl database API with other databases. In this example, the OpenACS site uses a PostGre database, and accesses another PostGre database called legacy.
Modify config.tcl to accomodate the legacy database, and to
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml,v
diff -u -r1.26 -r1.26.4.1
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 11 Dec 2010 23:36:32 -0000 1.26
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 9 Sep 2014 08:31:57 -0000 1.26.4.1
@@ -110,7 +110,7 @@
There are now several ways to create a group of a given
- type. You can use this TCL API with or without a form from the form
+ type. You can use this Tcl API with or without a form from the form
system, or you can directly use the PL/SQL API for the group type.
Examples:
There are now several ways to create a party of a given
- type. You can use this TCL API with or without a form from the form
+ type. You can use this Tcl API with or without a form from the form
system, or you can directly use the PL/SQL API for the party type.
Examples:
Saves a list of files that have changed (and thus marked to be reloaded) in
the variable named
Index: openacs-4/packages/acs-templating/www/doc/index.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/index.html,v
diff -u -r1.4 -r1.4.20.1
--- openacs-4/packages/acs-templating/www/doc/index.html 10 Feb 2004 12:16:40 -0000 1.4
+++ openacs-4/packages/acs-templating/www/doc/index.html 9 Sep 2014 08:32:02 -0000 1.4.20.1
@@ -47,7 +47,7 @@
- As usual, the TCL page should start with a call to
+ As usual, the Tcl page should start with a call to
- At the end of the TCL script, you should call
+ At the end of the Tcl script, you should call
The Templating System must not cause any performance problems to a
site. It must be fast and efficient, and it must not slow down
- page load speed by more than 10% versus a TCL page with inline
+ page load speed by more than 10% versus a Tcl page with inline
HTML.
- For some reason, this seems to take much longer on the TCL only
+ For some reason, this seems to take much longer on the Tcl-only
page. Maybe because it's the first in a triple of pages that
e-Tester requests? There may be a little longer time gap between
chain-frac-2 and the next request of chain-frac-0
@@ -60,7 +60,7 @@
- Here the actual work supposedly happens. The TCL only page is
+ Here the actual work supposedly happens. The Tcl-only page is
clearly fastest. Always reparsing pages expectedly affects the
templated page, and -2, which compiles two ADP pages, is affected
more than -1. The benefit of -2, wrapping -1 in another include,
@@ -72,7 +72,7 @@
- For some reason, the TCL-only page takes significantly longer.
+ For some reason, the Tcl-only page takes significantly longer.
- We have graphs for 9 stages only. While TCL pages generate
+ We have graphs for 9 stages only. While Tcl pages generate
four more entries, these lack from templated pages, and hence I
suppressed them. The log message that marks
the beginning of each phase is written in the lower right of the
@@ -46,7 +46,7 @@
- In ACS 3.4.6, TCL only pages are sereved faster than in
+ In ACS 3.4.6, Tcl-only pages are sereved faster than in
4.0 beta-2. The templated pages are delivered much slower.
The first time the template system reads a templated page, it
takes about 3 seconds! The result is cached, mitigating the
Index: openacs-4/packages/acs-templating/www/doc/timing.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/timing.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/timing.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/timing.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -24,7 +24,7 @@
The Templating System must not cause any performance problems to a
site. It must be fast and efficient, and it must not slow down
- page load speed by more than 10% versus a TCL page with inline
+ page load speed by more than 10% versus a Tcl page with inline
HTML.
Relative times depend on the other components of the pipeline.
@@ -244,7 +244,7 @@
request processor) were slower, this wasn't that noticeable.
- For ACS 3.4, TCL-only chain-frac-0 pages take 115ms, where the
+ For ACS 3.4, Tcl-only chain-frac-0 pages take 115ms, where the
templated versisons are much slower, 320ms for chain-frac-1 and
340 for -2.
- Generally, avoid putting escaped TCL code in adp files, or
+ Generally, avoid putting escaped Tcl code in adp files, or
generating HTML fragments in tcl procedures. It subverts the
separation of code and layout, one of the benefits of
templating. Embedded Tcl makes templates non-portable to ACS/Java.
Index: openacs-4/packages/ajaxhelper/www/doc/index.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajaxhelper/www/doc/index.html,v
diff -u -r1.7 -r1.7.2.1
--- openacs-4/packages/ajaxhelper/www/doc/index.html 8 Sep 2007 14:21:22 -0000 1.7
+++ openacs-4/packages/ajaxhelper/www/doc/index.html 9 Sep 2014 08:32:03 -0000 1.7.2.1
@@ -1,199 +1,199 @@
-
-
- Hamilton G. Chua (ham@solutiongrove.com) What's New : 0.87d Lee Denison's template::head code must be available. This code will soon be committed to CVS head after consulting the community and some more testing. In the mean time, you can find the files you need to implement template head from packages/ajaxhlper/www/docs. You should copy the files into the following locations blank-master.tcl On the adp file you must put the javascript on a click event NOTE : Hamilton G. Chua (ham@solutiongrove.com) What's New : 0.87d Lee Denison's template::head code must be available. This code will soon be committed to CVS head after consulting the community and some more testing. In the mean time, you can find the files you need to implement template head from packages/ajaxhlper/www/docs. You should copy the files into the following locations blank-master.tcl On the adp file you must put the javascript on a click event NOTE :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- # OPTION 1: Create the group using the TCL Procedure. Useful if the
+ # OPTION 1: Create the group using the Tcl Procedure. Useful if the
# only attribute you need to specify is the group name
db_transaction {
set group_id [group::new -group_name "Author" $group_type]
}
- # OPTION 2: Create the group using the TCL API with a templating
+ # OPTION 2: Create the group using the Tcl API with a templating
# form. Useful when there are multiple attributes to specify for the
# group
Index: openacs-4/packages/acs-subsite/tcl/party-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/Attic/party-procs.tcl,v
diff -u -r1.8.4.1 -r1.8.4.2
--- openacs-4/packages/acs-subsite/tcl/party-procs.tcl 6 Sep 2013 12:06:49 -0000 1.8.4.1
+++ openacs-4/packages/acs-subsite/tcl/party-procs.tcl 9 Sep 2014 08:31:59 -0000 1.8.4.2
@@ -45,21 +45,21 @@
- # OPTION 1: Create the party using the TCL Procedure. Useful if the
+ # OPTION 1: Create the party using the Tcl Procedure. Useful if the
# only attribute you need to specify is the party name
db_transaction {
set party_id [party::new -email "joe@foo.com" $party_type]
}
- # OPTION 2: Create the party using the TCL API with a templating
+ # OPTION 2: Create the party using the Tcl API with a templating
# form. Useful when there are multiple attributes to specify for the
# party
Index: openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl,v
diff -u -r1.43.8.3 -r1.43.8.4
--- openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 8 Sep 2014 07:14:22 -0000 1.43.8.3
+++ openacs-4/packages/acs-subsite/tcl/subsite-procs.tcl 9 Sep 2014 08:31:59 -0000 1.43.8.4
@@ -19,7 +19,7 @@
{-package_id:required}
{-node_id:required}
} {
- This is the TCL proc that is called automatically by the APM
+ This is the Tcl proc that is called automatically by the APM
whenever a new instance of the subsites application is mounted.
@author Don Baccus (dhogaza@pacifier.com)
Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.html,v
diff -u -r1.2 -r1.2.28.1
--- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.html 11 Aug 2001 21:31:03 -0000 1.2
+++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.html 9 Sep 2014 08:32:00 -0000 1.2.28.1
@@ -106,7 +106,7 @@
To allow administrators to create dynamic object types (e.g. subtypes
of the object types group, membership_rel,
-and composition_rel), we provide a TCL library of
+and composition_rel), we provide a Tcl library of
procedure that generate PL/SQL packages. For each dynamically created
object type, we:
Index: openacs-4/packages/acs-tcl/tcl/apm-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/apm-procs.tcl,v
diff -u -r1.94.2.23 -r1.94.2.24
--- openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 6 Sep 2014 19:17:05 -0000 1.94.2.23
+++ openacs-4/packages/acs-tcl/tcl/apm-procs.tcl 9 Sep 2014 08:32:00 -0000 1.94.2.24
@@ -409,7 +409,7 @@
Examines all tcl_procs files in package version $version_id; if any have
changed since they were loaded, marks (in the apm_reload array) that
they must be reloaded by each Tcl interpreter (using the
- apm_load_any_changed_libraries procedure).
+ apm_load_any_changed_libraries procedure).
$file_info_var, if provided. Each element
@@ -1383,17 +1383,17 @@
ad_proc -private apm_post_instantiation_tcl_proc_from_key { package_key } {
- Generates the name of the TCL procedure we execute for
+ Generates the name of the Tcl procedure we execute for
post-instantiation.
@author Michael Bryzek (mbryzek@arsdigita.com)
@creation-date 2001-03-05
- @return The name of a tcl procedure, if it exists, or empty string
- if no such tcl procedure was found.
+ @return The name of a Tcl procedure, if it exists, or empty string
+ if no such Tcl procedure was found.
} {
set procedure_name [string tolower "[string trim $package_key]_post_instantiation"]
- # Change all "-" to "_" to mimic our tcl standards
+ # Change all "-" to "_" to mimic our Tcl standards
regsub -all {\-} $procedure_name "_" procedure_name
if { [info commands ::$procedure_name] eq "" } {
# No such procedure exists...
@@ -1945,7 +1945,7 @@
ns_set updates values in an ns_set
+ Takes a Tcl list of variable names and ns_set updates values in an ns_set
correspondingly: key is the name of the var, value is the value of
the var. The caller is (obviously) responsible for freeing the set if need be.
@@ -2486,7 +2486,7 @@
@param put If this boolean switch is specified, it'll use ns_set put instead
of ns_set update (update is default)
- @param args A TCL list of variable names that will be transported into the ns_set.
+ @param args A Tcl list of variable names that will be transported into the ns_set.
@author Lars Pind (lars@pinds.com)
Index: openacs-4/packages/acs-templating/tcl/data-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/data-procs.tcl,v
diff -u -r1.17.2.3 -r1.17.2.4
--- openacs-4/packages/acs-templating/tcl/data-procs.tcl 29 Jul 2014 10:56:36 -0000 1.17.2.3
+++ openacs-4/packages/acs-templating/tcl/data-procs.tcl 9 Sep 2014 08:32:01 -0000 1.17.2.4
@@ -69,7 +69,7 @@
} {
Validates natural numbers data types.
- Will trim leading 0 in order to avoid TCL interpreting it as octal (code borrowed
+ Will trim leading 0 in order to avoid Tcl interpreting it as octal (code borrowed
from ad_page_contract_filter_proc_naturalnum)
@author Rocael Hernandez
\
when compiling ADP source: template::adp_compile $source_type {$source}"
}
Index: openacs-4/packages/acs-templating/tcl/util-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/util-procs.tcl,v
diff -u -r1.26.2.8 -r1.26.2.9
--- openacs-4/packages/acs-templating/tcl/util-procs.tcl 25 Nov 2013 09:36:38 -0000 1.26.2.8
+++ openacs-4/packages/acs-templating/tcl/util-procs.tcl 9 Sep 2014 08:32:01 -0000 1.26.2.9
@@ -450,7 +450,7 @@
ad_proc -public template::util::set_file_encoding { file_channel_id } {
Set encoding of the given file channel based on the OutputCharset
- parameter of AOLserver. All adp, tcl, and txt files are assumed
+ parameter of AOLserver. All ADP, Tcl, and txt files are assumed
to be in the same charset.
@param file_channel_id The id of the file to set encoding for.
@@ -736,7 +736,7 @@
}
ad_proc -public template::util::tcl_to_sql_list { lst } {
- Convert a TCL list to a SQL list, for use with the "in" statement.
+ Convert a Tcl list to a SQL list, for use with the "in" statement.
Uses DoubleApos (similar to ns_dbquotevalue) functionality to escape single quotes
} {
Index: openacs-4/packages/acs-templating/www/doc/design.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/design.html,v
diff -u -r1.2 -r1.2.26.1
--- openacs-4/packages/acs-templating/www/doc/design.html 13 Sep 2002 16:46:30 -0000 1.2
+++ openacs-4/packages/acs-templating/www/doc/design.html 9 Sep 2014 08:32:01 -0000 1.2.26.1
@@ -339,7 +339,7 @@
Less simple cases involve dependent templated pages. They are
requested with the <include> and
<master> tags. In these cases,
- TCL and/or ADP parsing happens recursively.
+ Tcl and/or ADP parsing happens recursively.
Tcl Call Stack
Developer Guide
- API for programming the TCL part of a page
+ API for programming the Tcl part of a page
@@ -60,7 +60,7 @@
Index: openacs-4/packages/acs-templating/www/doc/migration.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/migration.html,v
diff -u -r1.2.22.1 -r1.2.22.2
--- openacs-4/packages/acs-templating/www/doc/migration.html 24 Sep 2013 20:07:35 -0000 1.2.22.1
+++ openacs-4/packages/acs-templating/www/doc/migration.html 9 Sep 2014 08:32:02 -0000 1.2.22.2
@@ -16,15 +16,15 @@
separate code and graphical presentation. The latter goes
into an ADP file; it contains essentially HTML, augmented by a few
special tags and the Demonstration
- Samples of the various mechanisms, with both TCL and ADP
+ Samples of the various mechanisms, with both Tcl and ADP
parts.
@variable@ construct.
- The code goes into a TCL script. In other words, a templated page
- consists of two files, a TCL part that puts its results in data
+ The code goes into a Tcl script. In other words, a templated page
+ consists of two files, a Tcl part that puts its results in data
sources, and an ADP page (the template), into which these data
sources will be interpolated to yield a complete HTML page.
General
ad_page_contract. In its -properties
block you promise the data sources that your script will provide;
they were earlier called page properties, hence the
@@ -34,7 +34,7 @@
see below.
ad_return_template. The template runs after the
tcl script, and can use these data sources.
Index: openacs-4/packages/acs-templating/www/doc/requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/requirements.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/requirements.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/requirements.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -374,7 +374,7 @@
0.2
Merge with previous docs
8/25/2000
- Christian Brechb�hler
+ Christian Brechbühler
Index: openacs-4/packages/acs-templating/www/doc/timing-1.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/timing-1.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/timing-1.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/timing-1.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -37,7 +37,7 @@
Serving /webroot/web/brech/acs/packages/acs-templating/www/admin/test/chain-frac-0.tcl with rp_handle_tcl_request
Invoking trace filter ad_issue_deferred_dml
Done invoking trace filter ad_issue_deferred_dml (returning filter_ok)
@@ -88,7 +88,7 @@
Overall, the templated pages are delivered faster. Forcing
the template system to always reread all files and to recompile
the ADP part slows them down, as expected, but overall they are
- still faster than the TCL only page.
+ still faster than the Tcl-only page.
Christian Brechbuehler
Index: openacs-4/packages/acs-templating/www/doc/timing-2.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/timing-2.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/timing-2.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/timing-2.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -45,7 +45,7 @@
slower, by about 65ms.
Forcing the template system to always reread all files and to
recompile the ADP part slows them down, as expected, but overall
- they are still faster than the TCL only page.
+ they are still faster than the Tcl-only page.
Christian Brechbuehler
Index: openacs-4/packages/acs-templating/www/doc/timing-3.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/timing-3.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/timing-3.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/timing-3.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -15,7 +15,7 @@
syntax.

RefreshCache in section
template can be set to always or
never to affect the cacheing strategy; the latter
@@ -116,7 +116,7 @@
dev0103-001:/home/brech/prog/tcl/timing.tcl,
which generates the directories stage00 to
stage14 and the ten files
@@ -233,9 +233,9 @@
On reusia.boston, we had a much better performance of the
request processor. The processing times of the pages proper
(stage 10 before, 11 now) didn't change much; we just got
- clearer results. The total processing time of TCL-only pages is
+ clearer results. The total processing time of Tcl-only pages is
around 155ms, while templated pages take around 220ms, that is
- 42% longer (or TCL-only pages take 30% less).
+ 42% longer (or Tcl-only pages take 30% less).
Index: openacs-4/packages/acs-templating/www/doc/TclDocs/publish.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/TclDocs/publish.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/TclDocs/publish.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/TclDocs/publish.html 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -705,7 +705,7 @@
-Execute some TCL code for each root path in the PublishRoots parameter
+Execute some Tcl code for each root path in the PublishRoots parameter
Index: openacs-4/packages/acs-templating/www/doc/demo/comment.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/demo/comment.adp,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/demo/comment.adp 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/demo/comment.adp 9 Sep 2014 08:32:02 -0000 1.1.1.1.28.1
@@ -3,7 +3,7 @@
The template system introduces no new mechanisms for comments.
You can use
HTML comments ()
- and TCL comments (<%# but they can never look at that %>).
+ and Tcl comments (<%# but they can never look at that %>).
Neither are visible on the HTML page.
Index: openacs-4/packages/acs-templating/www/doc/guide/tcl.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/tcl.html,v
diff -u -r1.1.1.1 -r1.1.1.1.28.1
--- openacs-4/packages/acs-templating/www/doc/guide/tcl.html 13 Mar 2001 22:59:27 -0000 1.1.1.1
+++ openacs-4/packages/acs-templating/www/doc/guide/tcl.html 9 Sep 2014 08:32:03 -0000 1.1.1.1.28.1
@@ -16,7 +16,7 @@
demonstration page.
Ajax Helper
-
- September 2007
- v0.87d
-
- Components :
- Prototype v1.5.1 (http://prototype.conio.net/)
- Scriptaculous v1.7.3 Beta (http://script.aculo.us/)
-
-Overlibmws (http://www.macridesweb.com/oltest/)
-Curvey Corners (http://www.curvycorners.net/)
-Yahoo User Interface Library 2.3.0 (http://developer.yahoo.com/yui/)
-Dojo Toolkit
-0.4 (http://dojotoolkit.com)
-ExtJs 1.1.1 (http://extjs.com)
-
-
-
- Introduction :
-
- The Ajax Helper package provides helper TCL API procs to generate the
- javascript from the above listed components to enable their various features
- for use in OpenACS applications.
- The motivation for this package is to easily enable Web 2.0 like
- features in OpenACS applications using the most popular javascript
- libraries.
-
- Prerequisites :
-
- The ajax helper package must be installed and mounted in /ajax
- . The installer should automatically
-mount the ajax helper in /ajax/ upon installation of the package.
-
-
-
-
- openacs_root/packages/acs-templatng/tcl/
-
-
-
- openacs_root/packages/acs-templatng/tcl/
-
-
-
- openacs_root/www/
-
-
-
- openacs_root/www/
-
-
-
- openacs_root/www/
-
-
-
- openacs_root/www/
-
-
-
- openacs_root/www/
-
-
-
- openacs_root/www/
-
- Javascript Sources :
-
- Ajax Procedures :
-
-Prototype has a pair of javascript functions that alllow
-programmers to use XMLHTTP. The ajax.updater and ajax.request
-functions. See http://wiki.script.aculo.us/scriptaculous/show/Ajax.Updater
-and http://wiki.script.aculo.us/scriptaculous/show/Ajax.Request
-for more information about these javascript functions.
-
-The TCL API is used like this
-
-The above api will generate an ajax.request javascript function that is
-best placed in an event like "onClick".
-set request [ah::ajaxrequest -url "/url/to/call" -pars "parameter1=parameter_value¶meter1=parameter_value"]
-
-
-Consult the api-doc for more information about other parameters you can
-pass on to the ah::ajaxrequest proc.
-<a href="#" onClick="@request;noquote@">Send Request</a>
-
-
-The ah::ajaxrequest will make an xmlhttp call but does not do anything
-about the response. To update content based on the response from an
-xmlhttp request, use ah::ajaxupdate. This procedure will not only make
-an xmlhttp call but update the contents of a div or layer with the
-response text of the xmlhttp request.
-
-Here's an example :
-
-On the adp side, you can just put
-set js_update_connections [ah::ajaxupdate -container "connections" \
- -url "/url/to/call \
- -enclose \
- -pars "'effects=$effects&limit_n=$limit_n'" \
- -effect "Fade" \
- -effectopts "duration: 0.5"]
-
-
-
-<a href="#" onClick="@js_update_connections;noquote@">Update</a>
-
-The "-enclose" parameter tells the procedure to enclose the resulting
-script in script tags <script></script>. This is another
-option in addition to putting the scripts in html event attributes like
-onClick, onMouseover or onChange.
-
-The "-pars" parameter is where you pass the querystring that you want
-to send along with the xmlhttp request. Notice that it takes the form
-of a querystring that you normally see in the address bar of your
-browser. Use this to pass values to the URL you are making an xmlhttp
-request to.
-
-The "-effect" parameter is an optional parameter that allows you to
-specify the effect you want to execute after the container's content
-has been updated.
-
-Cinematic Effects :
-
-Use ah::effects to generate javascript that allows you to
-implement transitional and cinematic effects to html elements. You will
-need to consult the scriptaculous documentation
-http://wiki.script.aculo.us/scriptaculous/tags/effects to know what
-kinds of
-effects and what kinds of options you can pass to the effect script.
-
-The procedure is called in this manner in the tcl file:
-
-
-set effect [ah::effect -element "container" -effect "Fade" -options "duration: 1.5"]
-
-
-<a href="#" onClick="@effect;noquote@">Show Effect</a>
- The Effect name and the options are case sensitive.
-
-
- DHTML Callouts :
-
- There is currently basic support for overlibmws. Right now we
- are able to create bubble type call outs.
-
-In your tcl file ...
-
- The adp file should have something like this ....
- set onmouseover [ah::bubblecallout -text " Contents of My Popup" ]
-
-
-
-<a href="#" @onmouseover;noquote@ >Link with Popup</a>
-
- Drag and Drop Sortables :
-
- Sortables are documented in the scriptaculous wiki http://wiki.script.aculo.us/scriptaculous/show/Sortables.
- For sortables to work you will need to define a container which will
- hold the elements you want to be sortable.
-
- Here is what the script looks like
-
- You adp page should contain a div with id attribute container. This "container" should have subcontainers which the above script will make
- sortable.
-
-
+
+
+
+
-append scripts [ah::sortable -element "container" -options "tag:'div',only:'portlet',overlap:'horizontal',constraint:false,ghosting:false"]
-Ajax Helper
+
+ September 2007
+ v0.87d
+
+ Components :
+ Prototype v1.5.1 (http://prototype.conio.net/)
+ Scriptaculous v1.7.3 Beta (http://script.aculo.us/)
+
+Overlibmws (http://www.macridesweb.com/oltest/)
+Curvey Corners (http://www.curvycorners.net/)
+Yahoo User Interface Library 2.3.0 (http://developer.yahoo.com/yui/)
+Dojo Toolkit
+0.4 (http://dojotoolkit.com)
+ExtJs 1.1.1 (http://extjs.com)
+
+
+
+ Introduction :
+
+ The Ajax Helper package provides helper Tcl API procs to generate the
+ javascript from the above listed components to enable their various features
+ for use in OpenACS applications.
+ The motivation for this package is to easily enable Web 2.0 like
+ features in OpenACS applications using the most popular javascript
+ libraries.
+
+ Prerequisites :
+
+ The ajax helper package must be installed and mounted in /ajax
+ . The installer should automatically
+mount the ajax helper in /ajax/ upon installation of the package.
+
+
+
+
+ openacs_root/packages/acs-templatng/tcl/
+
+
+
+ openacs_root/packages/acs-templatng/tcl/
+
+
+
+ openacs_root/www/
+
+
+
+ openacs_root/www/
+
+
+
+ openacs_root/www/
+
+
+
+ openacs_root/www/
+
+
+
+ openacs_root/www/
+
+
+
+ openacs_root/www/
+
+ Javascript Sources :
+
+ Ajax Procedures :
+
+Prototype has a pair of javascript functions that alllow
+programmers to use XMLHTTP. The ajax.updater and ajax.request
+functions. See http://wiki.script.aculo.us/scriptaculous/show/Ajax.Updater
+and http://wiki.script.aculo.us/scriptaculous/show/Ajax.Request
+for more information about these javascript functions.
+
+The Tcl API is used like this
+
+The above api will generate an ajax.request javascript function that is
+best placed in an event like "onClick".
+set request [ah::ajaxrequest -url "/url/to/call" -pars "parameter1=parameter_value¶meter1=parameter_value"]
+
+
+Consult the api-doc for more information about other parameters you can
+pass on to the ah::ajaxrequest proc.
+<a href="#" onClick="@request;noquote@">Send Request</a>
+
+
+The ah::ajaxrequest will make an xmlhttp call but does not do anything
+about the response. To update content based on the response from an
+xmlhttp request, use ah::ajaxupdate. This procedure will not only make
+an xmlhttp call but update the contents of a div or layer with the
+response text of the xmlhttp request.
+
+Here's an example :
+
+On the adp side, you can just put
+set js_update_connections [ah::ajaxupdate -container "connections" \
+ -url "/url/to/call \
+ -enclose \
+ -pars "'effects=$effects&limit_n=$limit_n'" \
+ -effect "Fade" \
+ -effectopts "duration: 0.5"]
+
+
+
+<a href="#" onClick="@js_update_connections;noquote@">Update</a>
+
+The "-enclose" parameter tells the procedure to enclose the resulting
+script in script tags <script></script>. This is another
+option in addition to putting the scripts in html event attributes like
+onClick, onMouseover or onChange.
+
+The "-pars" parameter is where you pass the querystring that you want
+to send along with the xmlhttp request. Notice that it takes the form
+of a querystring that you normally see in the address bar of your
+browser. Use this to pass values to the URL you are making an xmlhttp
+request to.
+
+The "-effect" parameter is an optional parameter that allows you to
+specify the effect you want to execute after the container's content
+has been updated.
+
+Cinematic Effects :
+
+Use ah::effects to generate javascript that allows you to
+implement transitional and cinematic effects to html elements. You will
+need to consult the scriptaculous documentation
+http://wiki.script.aculo.us/scriptaculous/tags/effects to know what
+kinds of
+effects and what kinds of options you can pass to the effect script.
+
+The procedure is called in this manner in the tcl file:
+
+
+set effect [ah::effect -element "container" -effect "Fade" -options "duration: 1.5"]
+
+
+<a href="#" onClick="@effect;noquote@">Show Effect</a>
+ The Effect name and the options are case sensitive.
+
+
+ DHTML Callouts :
+
+ There is currently basic support for overlibmws. Right now we
+ are able to create bubble type call outs.
+
+In your tcl file ...
+
+ The adp file should have something like this ....
+ set onmouseover [ah::bubblecallout -text " Contents of My Popup" ]
+
+
+
+<a href="#" @onmouseover;noquote@ >Link with Popup</a>
+
+ Drag and Drop Sortables :
+
+ Sortables are documented in the scriptaculous wiki http://wiki.script.aculo.us/scriptaculous/show/Sortables.
+ For sortables to work you will need to define a container which will
+ hold the elements you want to be sortable.
+
+ Here is what the script looks like
+
+ You adp page should contain a div with id attribute container. This "container" should have subcontainers which the above script will make
+ sortable.
+
+
Index: openacs-4/packages/ajaxhelper/www/tests/test_yahoomenu-js.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajaxhelper/www/tests/test_yahoomenu-js.adp,v
diff -u -r1.2.2.1 -r1.2.2.2
--- openacs-4/packages/ajaxhelper/www/tests/test_yahoomenu-js.adp 11 Sep 2013 18:40:23 -0000 1.2.2.1
+++ openacs-4/packages/ajaxhelper/www/tests/test_yahoomenu-js.adp 9 Sep 2014 08:32:03 -0000 1.2.2.2
@@ -1,5 +1,5 @@
+append scripts [ah::sortable -element "container" -options "tag:'div',only:'portlet',overlap:'horizontal',constraint:false,ghosting:false"]
+