ArsDigita Archives
 
 
   
 
spacer

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
spacer