ACS 3.4 Release Notes
by Richard Li, Bryan Quinn, and Michael Yoon
Supported Platforms
Requires AOLserver 3.0 + ad5
and the ArsDigita Oracle Driver v.2.2, available for download from the
ACS Repository.
Notes
ACS 3.4 includes a significant set of improvements in the core
architecture and basic APIs, including the Database Access API and the
Publishing API. These improvements include:
- Database
Access API upgraded to support bind variables by default.
Note that this feature requires the latest Oracle
driver.
- Every module of the ACS has been upgraded to use the new
Database Access API with bind variables. This has substantial security
benefits as a user's form variables cannot result in a change to
a SQL statement sent to the RDBMS. Moreover, the new Database
Access API lays the groundwork for SQL abstraction to assist the
efforts of the OpenACS Project.
- Every user-visible page now includes an
ad_page_contract
call, which provides type checking, input filtering (HTML, integer, etc.), and Javadoc-style documentation.
Every Tcl library file now uses the new Javadoc-style ad_library
. Both of these functions are
described in the new API Publication spec.
- Every user-viewable page now deprecates
ns_write
in favor of
returning all content with a single call to the command:
doc_return 200 text/html $result
- There are some small data model changes from ACS 3.3. You must load
/doc/sql/upgrade-3.3.1-3.4.sql
if you are upgrading from ACS 3.3.1.
Other improvements to this version of the ACS include:
- Improved support for server clustering with the addition of
ad_canonical_server_p
and a rewritten ad_schedule_proc
that schedules procedures to run only on the canonical server by default.
- The latest set of patches for the Dynamic
Publishing System, including updates for the documentation.
- Patches to support international character sets in the ACS.
Note that the new Database
Access API requires each statement to have a logical name; this
requirement simplifies the ultimate goal of SQL abstraction. However,
any code written using the original Database Access API will not work with
this upgrade.
Please report bugs or feature requests using the Software Development Manager
(contributed by the OpenACS Project).
To facilitate this, any page throwing an exception will offer
the option of submitting a bug report to http://arsdigita.com/sdm/. Please take
advantage of this feature!
bquinn@arsdigita.com