Created by Robert Taylor, last modified by Gustaf Neumann 23 minutes ago
Created by Emmanuelle Raffenne, last modified by Gustaf Neumann 7 hours 5 minutes ago#
Created by Gustaf Neumann, last modified by Jeff Rogers 27 Sep 2015, at 09:29 AM
Upgrades from earlier version than OpenACS 5.8 should read upgrade-oacs-5-8.
OpenACS 5.9 requires PostgreSQL 9.0 or newer and XOTcl 2.0 or newer (part of the nsf package). XOTcl 2.0 can be installed e.g. via install-ns, or from debian sid https://packages.debian.org/sid/ , or from sources https://next-scripting.org/ . In order to check the versions of these packages already installed in your OpenACS installation, check the output of /xotcl/version-numbers in your installation.
Before upgrading to OpenACS 5.9, upgrade all packages in your current installation to recent versions in your OpenACS 5.8 installation (i.e. in the oacs-5-8 channel, especially if you are using edit-this-page, which has bugs in its data model that can complicate the oacs-5-9 installation).
In general it is always recommended to backup your current installation before overwriting it. Make e.g. a tar archive of all files of the OpenACS tree and a database dump.
After upgrading the packages in the oacs-5-8 channel, the following steps are recommended:
- Restart the server with OpenACS 5.8
- Install newest version of the source files (e.g. from the OpenACS 5.9 tar distributions, or install/upgrade from the oacs-5-9 branch from cvs),
- Upgrade the acs-core packages via package manager, restart server
- Upgrade/install application packages via package manager as needed (from file-system or from repository)
Created by Dave Bauer, last modified by Gustaf Neumann 26 Sep 2015, at 05:14 PM
Development is taking place in the oacs-5.9 branch.
OpenACS Version 5.9 Agenda
- Slimming pg SQL core:
- Part 1: improve performance of object deletion
- remove manual delete operations from acs_object__delete()
- Part 2: content-repository - manual referential integrity management
- handle referential integrity via pg's integrity constraints rather by functions cr_revision_del_ri_tr, cr_revision_ins_ri_tr, cr_revision_up_ri_tr, cr_revision_del_rev_ri_tr, and cr_revision_del_rev_ri_tr
- fix broken/missing upgrade scripts from earlier updates
- Part 3: content-repository - manual deletions and nulling
- Removed manual nulling of live_revision and latest_revision
- Removed manual deletion of old_revision and new_revision in cr_item_publish_audit
- Removed manual deletion of item_id in cr_item_publish_audit, cr_release_periods, cr_item_template_map, and cr_item_keyword_map
- Removed manual deletion of direct permissions
- Added missing index for child_id to cr_child_rels.
- Part 4: get rid of tree_sortkey in acs-objects
- Check/fix dependencies in oacs-5-8 packages
- Get rid of broken/uncalled functions using the column
- Check/fix dependencies in other packages
- Remove tree_sortkey and max_child_sortkey
- Check/fix dependencies in oacs-5-8 packages
- Wishlist (unclear, if we are able to do this for OpenACS 5.9):
- Final cleanup of permissions:
- Get rid of acs_object_context_index on pg: huge table,
- expensive maintenance, used only in a few places,
- used as well by Oracle (effort has to be determined)
- mark redundant / uncalled sql functions as deprecated
- simplify core sql functions by using defaults.
- say farewell to CVS.
- Final cleanup of permissions:
- Web interface:
- Improve client performance
- moving core.js from head to body
- provide kernel parameter to control expiration date for /resources/
- Protect against more XSS attacks
- Improved HTML validity (see oacs-5-9-html-validity for the checklist)
- Add lightweight support for ckeditor4 for templating::richtext widget (configurable via package parameter "RichTextEditor" of acs-templating. ckeditor4 supports mobile devices (such as iPad, ...).
- New kernel parameter ResourcesExpireInterval to control expiration dates of resources
- Improve theme-ability
- Move more information into theme packages in order to create responsive designs
- Reduce hard-coding of paths, HTML etc.
- Dimensional slider reform (ad_dimensional):
- Remove hard-coded table layout from dimensional slider
- Add backwards compatible templates
- Move hard-coded styles into theme styling
- Remove obsolete comments from ad_dimensional
- Complete template variable controls (adding noi18n):
- @foo@: perform html quoting and internationalization
- @foo;noquote@: perform internationalization
- @foo;noi18n@: perform html quoting
- @foo;literal@: perform neither html quoting nor internationalization
- Improved Russian nationalization
- Use ACS templating for the (static) OpenACS documentation to provide a more consistent layout and user experience.
- Make pretty-naming of acs-core packages more consistent.
- Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as deprecated
- Version numbers:
* require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)
* require XOTcl 2.0 (presented at the Tcl conference in 2011).
OpenACS Version 5.8 Agenda
- PostgreSQL 9.2+:
- Get rid of nonstandard backslash escapes in function definitions
- Change quote syntax in sql files (single quotes around the functions) to recommended PostgreSQL quoting using (recommended since pg8.0, jan 2005). li>Drop aliases in favor of named function arguments (recommended since pg8.0)
- Fix wrong function_args, add missing function_args, align default semantics with the defaults in pg (providing "null" as default means the argument is optional)
- Make OpenACS loadable without any tweaks in the pg config files
- Use recursive queries for e.g. permission lookup to avoid performance problems in pg 8.4 and newer)
- ADP: Use byte-compiled function wherever possible in compiled adp-code, support "@var;literal@" when neither quotes nor localization is needed in compiled adp-code
- Improve support of NaviServer
- Switch to Tcl 8.5 (TIP #143)
- Improve scalability: Reduce mutex-stress on util-memoize cache and for cache maintenance in general
- Code cleanup:
- Get rid of calls to deprecated code (e.g. ad_tables, ad_parameter, ... in acs-core and main packages)
- Improve awareness of usage of deprecated code (complain to error.log)
- Use Tcl 8.5 idioms
- cleanup of various http-client approaches and introduce a common implementation util::http::get and util::http::post; get rid of other usages, mark these as deprecated
- page-contracts: Perform checking of all ids in acs-core and main packages to improve error messages and to improve security
- OpenACS 5.8.1 should be released with main packages
OpenACS Version 5.7 Agenda
- Support for object management in core
- Postgresql 9.0
- TinyMCE update (fix for random JS injection issue, affecting Safari)
- Fix for "remember me" issue
OpenACS Version 5.6 Agenda
- global parameters
- package "embeds"
- fix search by package_id
- core works on Postgresql 8.4
OpenACS Version 5.5 Agenda
- DONE: Postgresql 8.3 support: especially regarding tsearch2
- DONE: acs-authentication:
- fix upgrade, add conditional logic into site wide tcl library so that you can login to perform the rest of the upgrade
- DONE: tinymce:
- upgrade to 3.1.1 + language packs
- HTML Strict cleanup
- create appropriate parameters for its config in acs-templating
- DONE: cleanup duplicated procs (bounce)
- review the parsing of bouncing messages (case user_id 0)
- DONE: rollout support
- Documentation improvements as discussed at the Guatemala conference:
- Make current openacs.org/test-doc source for static files included in the release and provide ease means to achieve this for the release manager
- DONE (CVS HEAD): Provide in XoWiki a prototype page similar to "book" without edit-buttons etc., using the new table of contents
- Update openacs.org/test-doc where necessary (incomplete list):
- DONE: Fix the page ordering for the higher chapters (the original document had no 3rd. level numbering)
- update pages in /test-doc which are more recent in openacs/xowiki
- bump version numbers of OpenACS, where appropriate (some places talk about openacs-5-0, others about openacs-5-1, oacs-5-2-3rc1 or 5-3)
- some version numbers of the required components are quite a mess. e.g. some parts say that Postgres 7.3 is required, some examples talks about postgres 7.4.7 and 8.2.4 in the same listing.
- also the dotlrn version numbers are old dotrln-2.0
- Tcl version numbers should be 8.4.19
- The install section for XOTcl is missing in II.3.4
- remove ChangeLog from documentation
- find some other prominent place for the ChangeLog
- Fix indenting in examples (e.g. in Rocael's robust web development framework)
- overthink Win2000 guidelines. There are the native compiled packages from Maurizio, including everything from postgres, xotcl ....
- It is desired to find a single person responsible for overworking the documentation, however, funding is unclear.
OpenACS Version 5.4 Agenda
- DONE: HTML Strict (openacs core)
- DONE: finish template::head (daveb)
- DONE: test acs-mail-lite (complex send)
- DONE: test notifications (complex send)
- DONE: new XinHA release, get rid of RTE & HTMLarea, test on Safari
- DONE: Form builder: add the ID attribute to the form tag
- DONE: acs-lang - keepLocalTranslationP to be removed
- DONE search and intermedia-driver: move intermedia specific stuff to its package
- DONE: acs-mail-lite - patch for mime::qp_encode bug
- Split Xinha and TinyMCE into seperate packages see: http://openacs.org/forums/message-view?message_id=2750958
- Usability ("my account" page)
- XHTML ?
- Testing and documentation for recording automated tests using the firefox plugin and the upload feature for it new in automated testing. Probably needs some polishing and should be talked to with Quest who are getting into this.
- Parameter Scope Patch http://openacs.org/bugtracker/openacs/patch?patch%5fnumber=845
- Remove obsolete master template stuff (default and site master template in openacs-4/www, acs-subsite's group-master, and related CSS and images). Probably in the version which follows 5.5 (probably 5.6). Also remove the compat master stuff at the same time.
Things to merge into this page
[Ideas for Boston 2006 Future of OpenACS discussion]
What's on this page?
This page should include work that is planned on and has someone comitted to working on it.
Created by Gustaf Neumann, last modified by Gustaf Neumann 24 Sep 2015, at 10:27 AM
OpenACS (5.8) works with PostgreSQL 9.1 or newer out of the box, no special configurations in postgresql.conf are needed like with previous versions.
To work with PostgreSQL 9, one has to use an actual postgres driver:
- AOLserver 4.5.* + nspostgres (tag: nspostgres_v4_r2)
- NaviServer 4.99.5 + nsdbpg
OpenACS core + commonly used packages (search, forums, xowiki, ...) have been tested with PostgreSQL 9.2.4
For new installs, OpenACS 5.8 works without further considerations. When upgrading the database to PostgreSQL 9.*, one has to keep in mind, that not only the sql-install scripts have to be SQL 9.* compatible, but as well the update scripts (migration scripts). During the work for making OpenACS compatible with PostgreSQL 9.*, we did not update (all) of the migration scripts (e.g. kernel upgrades) of earlier versions.
Therefore, the following upgrade steps are recommended:
- For users of PostgreSQL versions earlier than 8.4: In case you run a version of OpenACS earlier than 5.5 then upgrade first your code to OpenACS 5.5 (oacs-5-5 branch from the CVS Repository), then dump your database and reload it into pg 8.4 (e.g. into pg 8.4.17, which is the oldest still supported version from postgres, end-of-life July 2014). Then continue with the next step below.
- For users of PostgreSQL version 8.4 (or newer before 9): Make sure, you are running Tcl 8.5, then get OpenACS 5.8.0 (or newer) and upgrade OpenACS and your used packages (e.g. via acs-admin/apm + "install packages"). Then dump the database and restore it in pg 9.*.
Created by Gustaf Neumann, last modified by Gustaf Neumann 29 Aug 2015, at 12:26 PM
Fixed validity of the following (mostly admin) pages:
/admin/groups/ (elements-by-group-type, elements-by-group-type)
/admin/site-map (folder add, rename)
- double "id":
- developer-support breaks validation (adds "div" immediately after "ul" due to include):
Solved, by adding ability to suppress div wrapper via <include ds=0 src=...>
Created by OpenACS community, last modified by Gustaf Neumann 29 Aug 2015, at 10:52 AM
Installing OpenACS on Apple Mac OS X
See one of these:
- Installing Naviserver PostgreSQL and OpenACS on Mac OS X 10.10.2 Yosemite or newer
- Installing OpenACS on Mac OS X (for OpenACS 5.x)
- Installing OpenACS via Macports on OS X 10.5
- OpenACS on Mac OS X (outdated)
Should you decide to Install OpenACS from source using general en:openacs-system-install instructions, refer to these notes for changes:
OS X conventions
On Mac OS X type sudo su - to become root.
Use curl -L -O instead of wget
If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4. Note: if you're installing PG on an Intel Mac, you'll need to install 8.x; 7.4.x won't compile because of a lack of "native spinlock support" -- and this is something that the PG maintainers aren't inclined to fix. See this. PG 8.0.x installs fine, as does PG 8.1 or 8.2.
Creating postgres user
Do this instead:
First make sure the gids and uids below are available (change them if they are not). To list taken uids and gids:
Now you can install the users
Compile and install PostgreSQL
If you're using Fink:
Append --with-includes=/sw/include/ --with-libraries=/sw/lib flags to ./configure.
Set PostgreSQL to start on boot
Alternatively, one can use an XML file like the following to start postgres via launchd (specifying the postgres binary directory and database directory)
For Mac OS X Tiger (10.4.*), use:
For Mac OS X Leopard (10.5.*), use:
Save the above files as /Library/LaunchDaemons/org.postgresql.PostgreSQL.plist and postgres will be started automatically on the next boot of the system. One can use launchctl to start the service for testing;
launchctl % load /Library/LaunchDaemons/org.postgresql.PostgreSQL.plist % start org.postgresql.PostgreSQL % ^D
To get Tcl to build on Leopard or newer
for compiling under Mac OS X Leopard or newer, use the following flags to compile Tcl:
./configure --prefix=/opt/aolserver --enable-threads --disable-corefoundation --enable-symbols
To get tDOM to build on tiger
Download and install/update to the latest version of xcode tools (version2.2) from http://developer.apple.com/tools/xcode which updates the gcc compiler.
Then make some additional changes to the unix/CONFIG file (after modifying the unix/CONFIG file according to instructions at en:aolserver-install, uncomment:
'CC=gcc; export CC'
add a new line, somewhere after the first line:
Created by Rocael Hernández Rizzardini, last modified by Gustaf Neumann 11 Jul 2015, at 07:49 PM
- Avoid putting in Tcl code on ADP pages if possible
- Quote in the master, pass "properties" literally from slave adp files
when variables are used in templates without modifiers (marked with a ";") then the values of the variables are internationalized and html-quoted. The substitutions should be done at the place, where the variables are actually used, which is for "properties" in the master templates. That the places, where the variable values are just passed on, the modifier ";literal" should be used to prevent quoting and internationalization.
Master:<head> <title>@doc.title@</title> </head> <body bgcolor="#ffffff"> <h1>@heading@</h1> <slave> </body>Slave:<master> <property name="doc(title)">@title;literal@</property> <property name="heading">@title;literal@</property> ...Passing arguments to ADP includes:... <include src="name-of-included-adp" ... var="@value;literal@" ...> ...
- Pass always the "context" and "doc(title)" properties to the site master template
- Quote HTML attributes
Quoting HTML attribute values improves the safety against XSS attacks, especially when the attribute values are variables. Double quotes are preferred over single quotes, both are fine.
Created by gustaf neumann, last modified by Gustaf Neumann 31 May 2015, at 06:42 PM
Welcome to the OpenACS Wiki!
This is the OpenACS Wiki system, built with the xowiki package. This wiki contains user documentation, how-tos, and tips and tricks related to OpenACS. It also serves as a collaboration area for OpenACS contributors.
Recent Wiki Page Edits:
Documentation Non-Core Packages
File Storage Portlet (23 minutes ago)
Upgrade to OpenACS 5.9 (1 week ago)
Upgrade to OpenACS 5.8 (1 week ago)
Installing OpenACS on Mac OS X (1 month ago)
Installing OpenACS (5 months ago)
Tcl (5 months ago)
Install OpenACS with NaviServer from Scratch (5 months ago)
Windows-OpenACS (5 months ago)
Monitoring Naviserver (7 months ago)
OpenACS compatibility matrix (8 months ago)
OpenACS TODO List (1 week ago)
OpenACS 5.9 HTML validty fixes (1 month ago)
OpenACS Release Status (4 months ago)
OpenACS/dotLRN windows installer how to (5 months ago)
ADP Files (2 months ago)
Wiki (4 months ago)
Installing OpenACS (5 months ago)
Try Openacs (5 months ago)
Accounts Finance (10 months ago)
Created by Dave Bauer, last modified by Gustaf Neumann 22 May 2015, at 08:14 PM
Current Stable Release
5.8.1 Released 2014-10-25
5.8.0 Released 2013-08-30
5.7.0 Released 2013-07-17
5.6.0 Released 2010-09-22
5.5.0 Released 2009-06-22
5.4.3 Released 2008-11-26 (No more releases on the 5.4 branch)
5.4.2 Released 2008-06-08
5.4.1 Released 2008-04-07
5.4.0 Released 2008-02-07
5.3.2 Released 2007-07-18 (No more releases on the 5.3 branch)
Next Bugfix Release
Next Major Release