The Toolkit for Online Communities
18825 Community Members, 1 member online, 1809 visitors today
Log In Register
OpenACS Home : xowiki : Weblog
Search · Index
Previous Month September 2015
Sun Mon Tue Wed Thu Fri Sat
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3

Popular tags

ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bugtracker , COMET , cvs , debian , emacs , fedora , FreeBSD , hstore , includelets , install , installation , installers , javascript , libthread , linux , monitoring , munin , NaviServer , nginx , nx , OmniOS , oracle , osx , patches

No registered users in community xowiki
in last 30 minutes




Showing 1 - 10 of 822 Postings (summary)

OpenACS 5.9 HTML validty fixes

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)


Known Problems

  • double "id": 
    Example: /admin/rel-types/new-2?supertype=membership_rel

  • developer-support breaks validation (adds "div" immediately after "ul" due to include):
    Example: /admin/groups/
    Solved, by adding ability to suppress div wrapper via <include ds=0 src=...>

Installing OpenACS on Mac OS X

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:

Should you decide to Install OpenACS from source using general en:openacs-system-install instructions, refer to these notes for changes:

Installing postgresql

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:

nireport / /groups name gid | grep "[0-9][0-9][0-9]" nireport / /users name uid | grep "[0-9][0-9][0-9]"

Now you can install the users

sudo niutil -create / /groups/web sudo niutil -createprop / /groups/web gid 201 sudo niutil -create / /users/postgres sudo niutil -createprop / /users/postgres gid 201 sudo niutil -createprop / /users/postgres uid 502 sudo niutil -createprop / /users/postgres home /usr/local/pgsql sudo niutil -create / /users/$OPENACS_SERVICE_NAME sudo niutil -createprop / /users/$OPENACS_SERVICE_NAME gid 201 sudo niutil -createprop / /users/$OPENACS_SERVICE_NAME uid 201 mkdir -p /usr/local/pgsql chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7 chmod 750 /usr/local/pgsql

Compile and install PostgreSQL

If you're using Fink:

Append --with-includes=/sw/include/ --with-libraries=/sw/lib flags to ./configure.

./configure --with-includes=/sw/include/ --with-libraries=/sw/lib

Set PostgreSQL to start on boot

cd /Library/StartupItems/ tar xfz /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/osx-postgres-startup-item.tgz

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:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>GroupName</key> <string>nsadmin</string> <key>Label</key> <string>org.postgresql.PostgreSQL</string> <key>OnDemand</key> <false/> <key>ProgramArguments</key> <array> <string>/usr/local/pg820/bin/pg_ctl</string> <string>-D</string> <string>/usr/local/pg820/data</string> <string>-l</string> <string>/usr/local/pg820/data/server.log</string> <string>start</string> </array> <key>ServiceDescription</key> <string>PostgreSQL Server</string> <key>UserName</key> <string>postgres</string> </dict> </plist>

For Mac OS X Leopard (10.5.*), use:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.postgresql.PostgreSQL</string> <key>UserName</key> <string>postgres</string> <key>GroupName</key> <string>nsadmin</string> <key>OnDemand</key> <false/> <key>ProgramArguments</key> <array> <string>/usr/local/pg820/bin/postmaster</string> <string>-D</string> <string>/usr/local/pg820/data</string> <string>-c</string> <string>log_connections=YES</string> </array> </dict> </plist>

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

  1. 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.

  2. 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'
  3. add a new line, somewhere after the first line:
    export CPP="/usr/bin/cpp"
When versions of aolservers different to aolserver 4.5 (head, including changes from Mar 22, 2008) are used, aolserver is likely to segfault on startup due to recent changes in the Mac OS X System libraries. To avoid this, use
ulimit -n 256
in the startup script (don't use unlimited).


Created by Dave Bauer, last modified by Gustaf Neumann 26 Aug 2015, at 01:05 PM

Release Status

See openacs-release-status

Development is taking place in the HEAD 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

    • 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.

  • 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

  • Templating:
    • 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

  • Documentation:
    • 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.

  • Cleanup:
    • 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
  • WCAG2-AA

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
  • acs-mail-lite:
    • 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 an alternative table of contents by nested UL/LI (without JavaScript) for static output
      • 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

Old 5.0 Roadmap  discussion 

Roadmap discussion 1 

 [Ideas for Boston 2006 Future of OpenACS discussion]

My previous attempt at collaborative roadmap 

A .LRN Roadmap 

Another .LRN Roadmap discussion 

What's on this page?

This page should include work that is planned on and has someone comitted to working on it.

ADP Files

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

    Although AOLserver/NaviServer ADP supports this try to make use of OpenACS Templating or http://your.openacs/doc/acs-templating/ 

  • 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.

    <head> <title>@doc.title@</title> </head> <body bgcolor="#ffffff"> <h1>@heading@</h1> <slave> </body>
    <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
    <property name="doc(title)">@title;literal@</property>
    <property name="context">@context;literal@</property>
  • 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.

Quick Links:

OpenACS Handbook: openacs-handbook
OpenACS Packages: packages
OpenACS Installation: openacs-system-install

Recent Wiki Page Edits:

OpenACS Projects

Subsystems Documentation

Coding Standards

ADP Files (1 month ago)


Wiki (3 months ago)


.LRN Installation (4 months ago)
Plataforma Elearning (4 months ago)

Core Documentation

Installing OpenACS (4 months ago)


Try Openacs (4 months ago)

Non-Core Packages

News (6 months ago)
Spreadsheet (9 months ago)
Q-Forms (9 months ago)
XoWiki (11 months ago)
XOTcl Core (11 months ago)


Accounts Finance (9 months ago)

OpenACS Release Status

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

Download OpenACS 5.8.1 

Previous Releases

5.8.0 Released 2013-08-30 

Download OpenACS 5.8.0 

5.7.0 Released 2013-07-17 

Download OpenACS 5.7.0 

5.6.0 Released 2010-09-22 

Download OpenACS 5.6.0 

5.5.0 Released 2009-06-22 

Download OpenACS 5.5.0 

5.4.3 Released  2008-11-26 (No more releases on the 5.4 branch)

Download OpenACS 5.4.3 

5.4.2 Released  2008-06-08

Download OpenACS 5.4.2 

5.4.1 Released  2008-04-07

Download OpenACS 5.4.1 

5.4.0 Released  2008-02-07

Download OpenACS 5.4.0 

5.3.2 Released  2007-07-18 (No more releases on the 5.3 branch)

Download OpenACS 5.3.2 

Next Bugfix Release 


Next Major Release


TODO list for next release

.LRN Installation

Created by yesten dan, last modified by Gustaf Neumann 01 May 2015, at 10:18 AM

Before OpenACS 5.8.1, DotLRN installations required a different installer than its base system OpenACS. There was no way for an end-user to upgrade from an existing OpenACS installation to DotLRN without loosing data, or to make hybrid installations (maybe in the future to use e.g. as well components from Project Open, etc.).

Starting with OpenACS 5.8.1 (and DotLRN 2.8.0) one can upgrade from OpenACS to DotLRN via the standard OpenACS package manager. Therefore, one easy approach to install DotLRN 2.8.0 is to install first a minimal OpenACS system and upgrade in a second step:

  1. Install OpenACS 5.8.1. For details, check out openacs-system-install.

  2. On the running OpenACS system
    • browse to YOUR_SYSTEM/acs-admin/
    • Click on "Install Software" 
    • Click on "Install from Repository"
    • select "dotLRN" and click on the button "Install..."

This will install dotLRN with the required core components. More packages can be installed a some later times if desired.

Packaged installations

For platforms like Linux/Ubuntu, Linux/Debian, FreeBSD or Windows, one can use the packaged solutions installing separate databases for DotLRN and OpenACS:

Plataforma Elearning

Created by Geovanni Hernandez, last modified by Gustaf Neumann 01 May 2015, at 10:06 AM

  • Plataformas Elearning


    Se denominador  Aprendizaje electrónico (Also Conocido Como e-learning ) a la Educación a Distancia virtualizada A Traves de canales Electrónicos (Las Nuevas Redes de Comunicación, en especial Internet ), utilizando párr Ello Herramientas o Aplicaciones de hipertexto ( Correo electrónico , paginas web , Foros de Discusión , Mensajería Instantánea , Plataformas de Formación, Entre Otras) Como Soporte de los Procesos de Enseñanza-Aprendizaje. En un Concepto Más relacionado con lo semipresencial, tambien es Llamado b-learning ( blended learning ). 1

    El b-learning Es Una modalidad Que Combina la Educación a Distancia y la Educación presencial, Retomando las Ventajas de Ambas Modalidades Y complementando EL APRENDIZAJE de los aprendices.

    Also Florerias definirse Como un Sistema BASADO en la Comunicación Masiva y bidireccional Que sustituye la interaction personal en el aula del profesor y alumno, Como medio preferente de Enseñanza, Por La Acción Sistemática y Conjunta de Recursos Didácticos DIVERSOS y El Apoyo De Una organization tutorial, Que PROMUEVE EL APRENDIZAJE AUTONOMO de los Estudiantes, ademas de Reforzar La de habilidad de la Comunicación Efectiva Con Los Participantes A Traves De Las Plataformas implementadas.

      del consiste en la Educación y Capacitación through Internet. Este tipo de Enseñanza en línea permite la         interaction del usuario con el material el Mediante la utilizacion de Diversas Herramientas informáticas.

    Este nuevo Concepto educativo Es Una revolucionaria modalidad de Capacitación Que posibilitó Internet, Y Que hoy se posiciona de Como La forma predominante de Capacitación En El Futuro. Este Sistema ha transformado la Educación, Abriendo Puertas al Aprendizaje individuo y organizacional. Es por Ello Que hoy en día this ocupando ONU Lugar Cada Vez Más destacado y reconocido Dentro de las Organizaciones Empresariales y Educativas.

    Sigue un "Geovanni Hernández"

Installing OpenACS

Created by OpenACS community, last modified by Gustaf Neumann 01 May 2015, at 10:00 AM

There are many ways to get OpenACS working for you quickly and/or easily. See Try OpenACS for demonstrations and hosting solutions.

Packaged installations

For platforms like Linux/Ubuntu, Linux/Debian, FreeBSD or Windows, one can use the packaged solutions:

Generic installation scripts

For many Linux platforms (e.g. Ubuntu, Debian, Fedora), one can use the generic installer that compiles all base components (using Naviserver) and creates users/groups as needed; which works with Postgres 9.2 or newer. These install scripts can be as well used on Mac OS X, when MacPorts  are installed. These installer scripts are regularly updated.

The following alternative script installs aolserver and the contained modules from sources. It assumes, that PostgreSQL is already installed:

  1. Install AOLserver: http://openacs.org/storage/view/aolserver/install.tgz 
  2. Install OpenACS: en:openacs-subsystem-install

Manually installing OpenACS:

These are the steps involved in setting up OpenACS. Before beginning, read about ways of getting help (en:docs-admin-help) during installation. Also, read the documentation completely before beginning, to minimize the chance of any surprises during installation.

  1. Prerequisites to installing OpenACS
  2. OpenACS reference platform
  3. Install a *nix based operating system
  4. Get the code
  5. Install Oracle
  6. Install PostgreSQL
  7. Install Tcl
  8. Install AOLserver
  9. Install OpenACS distribution

These pages contain notes where installing OpenACS on a specific OS different from the *nix standard installation instructions (above).  These notes also refer to helper scripts and automated installers that can really simplify installation:

Try Openacs

Created by OpenACS community, last modified by Gustaf Neumann 01 May 2015, at 09:43 AM

To try OpenACS, you might lease a hosted system with OpenACS installed on it:

Next Page