Search · Index


Showing 11 - 20 of 660 Postings (summary)

Cookie Consent Widget

Created by Gustaf Neumann, last modified by Gustaf Neumann 22 Dec 2017, at 06:55 PM

Package Specification Summary for Package: cookie-consent

Summary: Cookie Consent Widget based on the free Cookie Consent Library
Maturity: New Submission or Maturity Unknown
This package depends on: acs-templating acs-tcl
Packages that depend on cookie-consent: None
Package parameters:
Version of the cookie-consent library, e.g.: cookieconsent2/3.0.3 (default cookieconsent2/3.0.3, type string, scope instance)

Bug Tracker Summary for Package: cookie-consent

There is no package with the name "cookie-consent" known to bug-tracker.

Code Metrics Summary for Package: cookie-consent

# Tcl Procs 10
# Tcl Lines 513
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 ORA: 0
# ADP pages 1
# ADP lines 20
# Include pages (cookie-consent/lib/) 0
# Documentation pages 0
# Documentation lines 0
Browse Source API-browser

Integration of the Cookie Consent Library into OpenACS

The Cookie Consent Library is and Cookie Consent to be free and open sourced library for for alerting users about the use of cookies on a website.  It is designed to help you comply with the hideous EU Cookie Law and not make you want to kill yourself in the process. So we made it fast, free, and relatively painless.


This package integrates the Consent Plugin with OpenACS, in particular with OpenACS subsites.

So far, this package supports on the "inform" type of cookie consent policies. When the "opt-out" or "opt-in" variants of the policies should really include all types of cookies (even session-cookies) the user would not be able to login to the site. However, most countries stick for now to the "inform" policy, and the detailed regulation are still in flux.


  •  Configure the appearance of the cookie consent widget via the following parameter (on acs-subsite):
    CookieConsentEnabled 0|1
    CookieConsentPosition bottom|top|pushdown|left|right
    CookieConsentLayout block|classic|edgeless|wire
    CookieConsentPalette oacs|honeybee|mono|neon|corporate


  • Usage from CDN (out-of-the box) or from a local copy (download your local copy via   "Site-Wide Admin" link in /acs-admin/)
  • Support for host-node-mapped subsites
  • Internationalized with OpenACS message keys


  1.  Install this package via the OpenACS Package Manager
  2.  Add this package to the templating system
    •  OpenACS 5.10.0d2 or newer:
       The cookie consent widgets uses the "subsite::page_plugin" callback, so no changes on templates are necessary. Make sure, you update also acs-bootstrap-installer to 5.10.0d2 or newer to obtain the updated blank-master
    • OpenACS 5.9.1:
      Add to the top of your blank-master.tcl the following snippet:
      if {[info commands ::cookieconsent::initialize_widget] ne ""} {
  3. Configure the CookieConsent* parameters of the subsite (e.g. of the main subsite) in the section "Cookie Consent"


The implementation uses nx from the next-scripting framework. 

which is automatically installed for XOTcl2 via naviserver-openacs

It works best with OpenACS 5.10.0d2 or newer, but works as well with 5.9.1 (see INSTALLATION section above) or earlier versions supporting Content Security Policy (CSP), and probably with  earlier versions as well, when CSP code is commented out.




Richtext CKEditor 5

Created by Gustaf Neumann, last modified by Gustaf Neumann 21 Dec 2017, at 09:28 AM

Package Specification Summary for Package: richtext-ckeditor5

Summary: Richtext editor plugin for integrating CKeditor 5 with the acs-templating richtext widget
Maturity: New Submission or Maturity Unknown
This package depends on: acs-templating acs-tcl xotcl-core attachments
Packages that depend on richtext-ckeditor5: None
Package parameters:
Fully featured "Spell Check As You Type" based on Please note that the spellchecked words are transferred to that site, so you might be cautious to activate this feature for confidential content. (default false, type string, scope instance)

Bug Tracker Summary for Package: richtext-ckeditor5

There is no package with the name "richtext-ckeditor5" known to bug-tracker.

Code Metrics Summary for Package: richtext-ckeditor5

# Tcl Procs 10
# Tcl Lines 622
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 ORA: 0
# ADP pages 1
# ADP lines 20
# Include pages (richtext-ckeditor5/lib/) 1
# Documentation pages 0
# Documentation lines 0
Browse Source API-browser

In general, the CKEditor 5 can be used via CDN (zero configuration, default) or via local files. One can use /acs-admin/ (section Site-wide Service Administration to download a version to your local site to reduce latency or to use local modifications.

So far, CKeditor 5 is not released yet, this integration is just minimal, no xowiki formfield support is included yet.

Documentation Project Plan (Approach 4)

Created by OpenACS community, last modified by Gustaf Neumann 12 Dec 2017, at 09:14 AM

This is Approach 4 of the en:Documentation_Project as defined in Documentation_Project_Discussion.  Users benefit when they can read docs the way the brain likes to work. Contributions to various OpenACS topics that further the plan are welcome.


See Documentation history


to write superb documentation, so that users, developers and administrators of OpenACS installations can enjoy working with and using the system (with fewer headaches! =)


OpenACS documentation, a systems view as a collection of subsystems and their parts.

API Documentation: there are no plans to move the API docs to XoWiki. That should remain as is.

DocBook docs at: are evolving separately at en:New_Documentation_Process


Requirements is about setting specifications and milestones we can verify, and includes exploration of scenarios, use cases etc.

Here are documentation requirements for:

Available resources

  • volunteers dedicated to regularly managing and updating the documentation
  • other volunteers who contribute arguably more valuable documentation less frequently (such as magazine articles ;) (and may need some assistance etc. to have their work fit into docs well.)
  • website, including use of xowiki
  • open-source software, text editors, spell checkers, html code validators etc.
  • Approaches in docs management explored. See en:Documentation_Project_Discussion


Strategy is about creating an approach to doing work. It guides behavior and tactical decisions on the work effort.

Shape ongoing documentation efforts by using principles of continual improvement and following general requirements to re-engineer documentation production and management.

OpenACS documentation development is subject to constraints of the software project development and release methods and cycles (the section called “Using CVS with OpenACS”). Essentially, all phases of work may be active to accommodate the asynchronous nature of multiple subprojects evolving by the efforts of a global base of participants with culturally diverse time references and scheduling idiosyncrasies.

The documentation strategy is to use methods that inspire collaborating or obtaining guidance or feedback (peer review) to distribute the workload and increase the overall value of output for the OpenACS project.

subdivide by subsystems and how they are used (context). Why?

"..the human mind can only deal with a relatively small number of independent pieces of data at one time, but if data are chunked together in appropriate ways, the mind can perform higher order abstractions, and these in turn can be chunked together, with successive abstractions, until an entire complex situation is encompassed. The systems approach addresses this property of the human mind by providing strategies for the data gathering, chunking, and abstracting process." George G. Lendaris, On Systemness and the Problem Solver: Tutorial comments 1983.

XoWiki docs can use a systems strategy of multiple perspectives to help identify subsystems and how OpenACS works.

Each XoWiki page discusses a single topic.

These topics are pieced together by any number of other xowiki pages to present an ordered presentation of the topics with a common thread/topic connecting them.

For example, en:openacs-system-install is a page that links together the topics of installing the component software of Openacs. Similarly, each component software, such as en:aolserver, has its own view of some overlapping topics.

XoWiki documents organized by subsystems (and how they are used) are easy to update and maintain since there is only one place to put relevant information for a particular topic.

Pages are not encumbered by a maze of categories that tend to only address one or a few perspectives, since pages link to related pages, and a page that addresses each perspective can link to overlapping topics.

In an ideal world, XoWiki will be able to export a page and all the pages that link to it, to any depth of the linkage tree, to form one document. That way, innumerable documents, each with a valid perspective, can be built for a specific purpose.

Work Breakdown Structure

Or Objectives and Key Results (OKRs) is about explicitly stating the way to implement the strategy as a set of milestones and the methods to use.

Allow document writers to reference package API via api-doc by using package_url, or find the local package_id so a link can be supplied from the local documentation to current, up-to-date API and SQL docs, like: use links like this: /api-doc/index?about_package_key=acs-datetime The feature has been added to cvs head (OpenACS 5.3.x) so will be released soon.[DONE]

Iterate through each topic on each docbook page.

  • Port the docbook pages to xowiki manually, because it allows me to look at each part in details and separate to subsystem/object context. Here is the process:
  • Browse to docbook url (something in this tree:
  • View page source
  • Copy the relevant part of source
  • Paste that source to your favorite text editor (not word processor).
  • Edit the page source, removing DIV tags and TARGET="_blank" attributes. Look for any immediate way to improve the document, make additional edits, check for spelling etc.
  • In a browser, open or create the xowiki page. Choose "Source" to view source html. Be sure to make Name starting with "en:"
  • Paste edited source into the xowiki page, repeat editing if needed
  • Click "ok" to post the xowiki changes.
  • That's it! (repeat)

Example documentation outline in wiki

These pages contain links to other pages where items are discussed in context:

Name for/description
en:docs-end-user documentation for everyone
en:openacs-system end-user about OpenACS system, ties together much of the stuff below.
en:docs-end-user-reqs end-user doc requirements and checklist
en:docs-install installing OpenACS prerequisits
en:openacs-system-install installing OpenACS overview
en:openacs-system-install-redhat installing OpenACS on Redhat
en:docs-install-reqs installation- docs requirements and checklist
en:docs-admin administrators
en:docs-admin-reqs administration - doc requriments and checklist
en:docs-dev-tutorial tutorials for developers
en:docs-dev-tutorial-reqs developer tutorials - requirements and checklist
en:docs-eng developers
en:docs-eng-reqs developing - requirements and checklist

These pages describe various OpenACS subsystems, and link to external documents where possible and appropriate. Note that an "OpenACS system" en:openacs-system page that outlines the system and ties these together is part of the end-user docs.

Name subsystem of OpenACS
en:aolserver AOLserver
en:aolserver-install installing AOLserver
en:aolserver-admin administrating AOLserver
[en:naviserver] NaviServer
en:naviserver-openacs installing NaviServer
en:oracle Oracle relational database
en:oracle-install installing Oracle
[en:oracle-admin] administrating Oracle
en:postgresql PostgreSQL relational database
en:postgresql-install installing PostgreSQL
en:postgresql-admin administrating PostgreSQL
en:os-nix *nix operating system
en:os-nix-install installing an OS
en:tcl Tcl language
en:tcl-install installing Tcl
en:openacs-subsystem OpenACS subsystem (layer)
en:openacs-subsystem-install install OpenACS

Auxiliary systems

en:ide-emacs gnu emacs as IDE
[en:ide-emacs-nxml] gnu emacs nXML Mode
[en:ide-emacs-psgml] gnu emacs PSGML Mode
en:ide-vi vi/vim as IDE


This is where we measure how well this plan was implemented. Success is measured by

  • A) verifying if the project has met the established goals and requirements, and
  • B) reviewing for ongoing problem areas etc.

Observations then help to modify the plan for the next documentation revision.

OpenACS follows verification through different means on different projects, but in all cases, the OpenACS community verifies the project as a success through feedback including bug reports, user and administrator comments, and code changes.

Related links and sources


AOLserver administration

Created by OpenACS community, last modified by Gustaf Neumann 12 Dec 2017, at 09:10 AM

This page is mostly outdated and we keep it for a reference. For non-packaged installs on *nix systems, consider naviserver-openacs which supports systemd and upstart scripts.

Automating AOLserver startup and stop

The simplest way to start and stop and OpenACS site is to run the startup shell script provided in the OpenACS distribution, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.

A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.

The Reference Platform uses Daemontools to control AOLserver. An alternative method, is using inittab.

Configuring Daemontools

  1. Daemontools must already be installed. If not, install it.

  2. Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. It works like this:

    • The init program starts every time the computer is booted.

    • A line in init's configuration file, /etc/inittab, tells init to run, and to restart if necessary, svscanboot.

    • svscanboot checks the directory /service every few seconds.

    • If it sees a subdirectory there, it looks for a file in the subdirectory called run. If it finds a run file, it creates a supervise process

    • supervise executes the run script. Whenever the run script stops, supervise executes it again. It also creates additional control files in the same directory.

    Hence, the AOLserver instance for your development server is started by the file /service/$OPENACS_SERVICE_NAME/run. But we use a symlink to make it easier to add and remove stuff from the /service, so the actual location is /var/lib/aolserver/$OPENACS_SERVICE_NAMEetc/daemontools/run.

    Daemontools creates additional files and directories to track status and log. A daemontools directory is included in the OpenACS tarball at /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools. To use it, first kill any existing AOLserver instances. As root, link the daemontools directory into the /service directory. Daemontools' svscan process checks this directory every five seconds, and will quickly execute run.

    [$OPENACS_SERVICE_NAME etc]$ killall nsd
    nsd: no process killed
    [$OPENACS_SERVICE_NAME etc]$ emacs /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run
    [$OPENACS_SERVICE_NAME etc]$ exit
    [root root]# ln -s /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run /service/$OPENACS_SERVICE_NAME/run

    Verify that AOLserver is running.

    [root root]# ps -auxw | grep nsd
    $OPENACS_SERVICE_NAME   5562 14.2  6.2 22436 15952 ?       S    11:55   0:04 /usr/local/aolserver/bin/nsd -it /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl -u serve
    root      5582  0.0  0.2  3276  628 pts/0    S    11:55   0:00 grep nsd
    [root root]#
  3. The user $OPENACS_SERVICE_NAME can now control the service $OPENACS_SERVICE_NAME with these commands:

    • svc -d /service/$OPENACS_SERVICE_NAME - Bring the server down

    • svc -u /service/$OPENACS_SERVICE_NAME - Start the server up and leave it in keepalive mode.

    • svc -o /service/$OPENACS_SERVICE_NAME - Start the server up once. Do not restart it if it stops.

    • svc -t /service/$OPENACS_SERVICE_NAME - Stop and immediately restart the server.

    • svc -k /service/$OPENACS_SERVICE_NAME - Sends the server a KILL signal. This is like KILL -9. AOLserver exits immediately. If svc -t fails to fully kill AOLserver, use this option. This does not take the server out of keepalive mode, so it should still bounce back up immediately.

  4. Install a script to automate the stopping and starting of AOLserver services via daemontools. You can then restart a service via restart-aolserver $OPENACS_SERVICE_NAME

    [root root]# cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/restart-aolserver-daemontools.txt /usr/local/bin/restart-aolserver
    [root root]# chmod 755 /usr/local/bin/restart-aolserver
    [root root]#
  5. At this point, these commands will work only for the root user. Grant permission for the web group to use svc commands on the $OPENACS_SERVICE_NAME server.

    [root root]# /usr/local/bin/svgroup web /service/$OPENACS_SERVICE_NAME
    [root root]#
  6. Verify that the controls work. You may want to tail -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME-error.log in another window, so you can see what happens when you type these commands.

    Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO.

Table 6.1. How it Works

Program Invoked by this program ... ... using this file Where to find errors Log goes to Use these commands to control it
svscanboot init /etc/inittab ps -auxw | grep readproctitle n/a  
aolserver supervise (a child of svscanboot) /service/$OPENACS_SERVICE_NAME/run /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME.log svc -k /service/$OPENACS_SERVICE_NAME
postgresql Redhat init scripts during boot /etc/init.d/postgresql /usr/local/pgsql/data/server.log   service postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)

init - keeping AOLserver alive with inittab

This is an alternative method for keeping the AOLserver process running. The recommended method is to run AOLserver supervised.

This step should be completed as root. This can break every service on your machine, so proceed with caution.

  • There are 2 general steps to getting this working.

    1. Install a script called restart-aolserver. This script doesn't actually restart AOLserver - it just kills it.

    2. Ask the OS to restart our service whenever it's not running. We do this by adding a line to /etc/inittab.

    Calling restart-aolserver kills our service. The OS notices that our service is not running, so it automatically restarts it. Thus, calling restart-aolserver effectively restarts our service.

  • This script needs to be SUID-root, which means that the script will run as root. This is necessary to ensure that the AOLserver processes are killed regardless of who owns them. However the script should be executable by the web group to ensure that the users updating the web page can use the script, but that general system users cannot run the script. You also need to have Perl installed and also a symbolic link to it in /usr/local/bin.

    [joeuser ~]$ su - 
    Password: ***********
    [root ~]# cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/restart-aolserver.txt /usr/local/bin/restart-aolserver
    [root ~]# chown root.web /usr/local/bin/restart-aolserver
    [root ~]# chmod 4750 /usr/local/bin/restart-aolserver
    [root ~]# ln -s /usr/bin/perl /usr/local/bin/perl
    [root ~]# exit
  • Test the restart-aolserver script. We'll first kill all running servers to clean the slate. Then, we'll start one server and use restart-aolserver to kill it. If it works, then there should be no more servers running. You should see the following lines.

    [joeuser ~]$ killall nsd
    nsd: no process killed
    [joeuser ~]$ /usr/local/aolserver/bin/nsd-postgres -t ~/var/lib/aolserver/service0/nsd.tcl
    [joeuser ~]$ restart-aolserver service0
    Killing 23727 
    [joeuser ~]$ killall nsd
    nsd: no process killed

    The number 23727 indicates the process id(s) (PIDs) of the processes being killed. It is important that no processes are killed by the second call to killall. If there are processes being killed, it means that the script is not working.

  • Assuming that the restart-aolserver script worked, login as root and open /etc/inittab for editing.

    [joeuser ~]$ su -
    Password: ************
    [root ~]# emacs -nw /etc/inittab
  • Copy this line into the bottom of the file as a template, making sure that the first field nss1 is unique.

    nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/joeuser/var/lib/aolserver/service0/nsd.tcl
  • Important: Make sure there is a newline at the end of the file. If there is not a newline at the end of the file, the system may suffer catastrophic failures.

  • Still as root, enter the following command to re-initialize /etc/inittab.

    [root ~]# killall nsd    
    nsd: no process killed
    [root ~]# /sbin/init q
  • See if it worked by running the restart-aolserver script again.

    [root ~]# restart-aolserver service0
    Killing 23750

If processes were killed, congratulations, your server is now automated for startup and shutdown.

external monitoring of server uptime

starting aolserver before postgresql

Add a pause to the aolserver "run" script, for example:

    sleep 15

Alternately, John Sequeira suggests adding this code to the run script:

pid=`pidof -s postmaster`
while !([ $pid ] && /etc/init.d/postgresql status > /dev/null 2>&1)
pid=`pidof -s postmaster`
echo "checking...not yet"
sleep 1

run AOLserver on port 80 (or <1024) To run AOLserver on a port below 1024 (normally, for a webserver use port 80), edit the run script. /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)

Troubleshooting AOLserver

Check the serverlog 

To set up real-time monitoring of the AOLserver error log, from the shell, type

less /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/openacs-dev-error.log


F to show new log entries in real time (like tail -f)
C-c to stop and F to start it up again. 
G goes to the end.
? searches backward 
/ searches forward.  

Cannot view sample AOLserver welcome page There may be a problem with the server configuration. Start by viewing the AOLserver log, which is in /usr/local/aolserver/log/server.log. You should also try to find lines of the form:

[01/Jun/2000:12:11:20][5914.2051][-nssock-] Notice: nssock: listening on http://localhost.localdomain:8000 (
[01/Jun/2000:12:11:20][5914.2051][-nssock-] Notice: accepting connections

If you can find these lines, try entering the URL the server is listening on into your browser. If you cannot find these lines, there must be an error somewhere in the file. Search for lines beginning with the word Error instead of Notice.

The sample-config.tcl file grabs your address and hostname from your OS settings.

set hostname        [ns_info hostname]
set address         [ns_info address]

If you get an error that nssock can't get the requested address, you can set these manually. If you type, AOLserver will try to listen on all available addresses. Note: ns_info address doesn't appear to be supported in current versions of AOLserver.

set hostname        [ns_info hostname]
#set address         [ns_info address]
set address

NsTclInitObjs: sizeof(int) < sizeof(long) This is a 64-bit compile problem that keeps Aolserver from starting. An error detection check in file nsd/tclobj.c is causing the error, and needs to be commented out. Wrap the following code with the C style /* */ comments (as shown), then rebuild. See for more info.

    if (sizeof(int) < sizeof(long)) {
        Tcl_Panic("NsTclInitObjs: sizeof(int) < sizeof(long)");

Cannot view the OpenACS login or OpenACS Installation: Welcome page. View your error log (/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME-error.log) to make sure the service is starting without any problems. The most common errors here are trying to start a port 80 server while not root, failing to connect because of a firewall, and aolserver failing to start due to permissions errors or missing files. If you need to make changes, don't forget to kill any running servers with killall nsd.

Modifying AOLserver configuration config.tcl

  • httpport - If you want your server on a different port, enter it here. The Reference Platform port is 8000, which is suitable for development use. Port 80 is the standard http port - it's the port used by your browser when you enter http://yourserver.test. So you should use port 80 for your production site.

  • httpsport - This is the port for https requests. The Reference Platform https port is 8443. If http port is set to 80, httpsport should be 143 to match the standard.

  • address - The IP address of the server. If you are hosting multiple IPs on one computer, this is the address specific to the web site. Each virtual server will ignore any requests directed at other addresses.

  • server - This is the keyword that, by convention, identifies the service. It is also used as part of the path for the service root, as the name of the user for running the service, as the name of the database, and in various dependent places. The Reference Platform uses $OPENACS_SERVICE_NAME.

  • db_name - In almost all cases, this can be kept as a reference to $server. If for some reason, the tablespace you are using is different than your servername, then you can set it here. You should have a good reason for doing this.

  • servername - This is just a *pretty* name for your server.

  • user_account - The account that will both own OpenACS files and connect to the database (for Postgresql).

  • debug - Set to true for a very verbose error log, including many lines for every page view, success or failure.

AOLserver is very configurable. These are some of the more commonly changed settings. For more options, read the AOLserver docs.

AOLserver command line


2006 Fall Conference Submissions and Program

Created by Carl Robert Blesius, last modified by Gustaf Neumann 19 Nov 2017, at 12:52 PM

OpenACS/.LRN Fall Conference 2006


Day 1 (Nov. 1) - International Workshop on Community Based E-Learning Systems

Location: Harvard Conference Center Rotunda  

07:30-08:30 Continental Breakfast and onsite registration

08:30 Opening Remarks and Orientation

08:40 Keynote: Creating Passionate Users

What do game designers, neuroscientist, and filmmakers know about creating passionate users? How can we exploit the way the brain works to reach our users/learners at a deeper level that inspires their attention, enthusiasm, long-term loyalty, and evangelism? New research points to a different way to craft interactive experiences that get the user's attention and--most importantly--KEEP it. For today's learners, sound instructional design is no longer enough.

In this session, we'll explore ways to work around the brain's natural filters that keep our message from getting in. We'll cover how to give interactive experiences an almost addictive quality--to keep our users engaged and wanting more. There's a place where science and entertainment meet that knows what turns the brain on, and we'll look at simple, powerful, easy-to-implement ways to make that happen. Whether you're building e-learning or plain old paper documentation, you'll learn techniques for creating passionate users/learners that you can put to work immediately.

Kathy Sierra

Kathy Sierra spent the last decade as a game developer, master trainer for Sun Microsystems, and creator of the first New Media Interaction Design courses for UCLA Extension's Entertainment Studies Department at the IBM New Media Lab. Together with her partner Bert Bates, Kathy created the bestselling and award-winning "brain-friendly" Head First book series. She's the original founder of the largest non-commercial software development community,, and author/creator of a Technorati Top 100 Blog. When she's not working on ways to help humans learn more quickly, she's playing with her three super-smart Icelandic horses.

09:40 Keynote: and ACS

Philip Greenspun will talk about: 

  • How is it possible that ACS is still viable?
  • The history of and ACS
  • stuff he and others are working on at

Philip Greenspun has been in and around the Massachusetts Institute of Technology since 1979. He alternates between teaching traditional electrical engineering classes and teaching "Software Engineering for Web Applications" (6.171), a course that he co-developed with Hal Abelson. This has been a successful course at MIT and is being used by computer science departments at 20 other universities around the world. Greenspun is the author of two textbooks used at MIT, including Internet Application Workbook (available at Greenspun is an instrument-rated private pilot and has flown his Diamond Star across most of the North American continent and two-thirds of the Caribbean islands.

In the mid-1990s, Greenspun founded the Scalable Systems for Online Communities research group at MIT and spun it out into ArsDigita, which he grew into a profitable $20 million (revenue) open-source enterprise software company. The software is best known for its support of public online communities, such as and, which started as Philip Greenspun's home page and grew to serve 500,000 users educating each other to become better photographers.

The learn@wu project

Gustaf Neumann - Chair of Information Systems and New Media at the University of Economics and Business Administration (WU) in Vienna, Austria

How do you create one of the most intensively used e-learning platforms worldwide? Gustaf explains.

Communities of users to support an open LMS: the Moodle perspective

Martyn Cooper - Head of Accessible Educational Media group at the Open University of UK

Martyn gives us a little peek into an alternate universe.

10:45-11:00 Coffee Break  

User-centred approach in LMS: Adaptiveness and Accessibility

Jesús G. Boticario - Head of aDeNu Research Group at The Universidad Nacional de Educación a Distancia (Spain)

Jesús introduces a new (.LRN related) European funded project focused on making sure that the technology that mediates lifelong learning does so accommodating the diversity of ways people interact with technology and the content and services it delivers.

E-Lane: European and Latin American New Education

Carlos Delgado-Kloos - Head of the Department of Engineering and Telematics at Universidad Carlos III de Madrid

Carlos gives us a quick overview, summary, and results of the E-Lane project that is coming to a close, but will live on in our software.

E-Learning in a Disconnected and Low Bandwidth Environment

Álvaro Rendón - University of Cauca Columbia

Álvaro will give an example of the E-Lane project in action that is based on .LRN and used in rural Colombia. It addresses network environments with low bandwidth connectivity and low cost access infrastructures.

01:00 PM Lunch

02:00 Afternoon sessions

2:00 PM Track 1: Accessibility and Technical Track

Towards Full Accessibility in LMS

2:00 PM Track 2: Case Studies and Theory

Education Talks and Demos

2:00 to 2:30 pm

Keynote: Accessibility in Community and Open Source Software Developments: the Moodle perspective

Martyn Cooper - Head of Accessible Educational Media group at the Open University of UK

Among diverse research and internal consultancy roles, Martyn Cooper has overall responsibility for accessibility in the Open University's Virtual Learning Environment which is based on Moodle.  The Open University has nearly 10,000 disabled students and takes its legal and moral responsibility to give them equal access to its teaching and learning very seriously.  It has been making substantial investments within the Moodle community to address the current deficits in accessibility of the software.  This paper reflects on this process and the more general issues of accessibility in community based and open source software developments.

2:00 to 2:30 pm

The Educator’s Guide to the Flat World: Flatteners and Convergences That Change Everything in Education

Steve Wilmarth

This workshop will focus on Thomas Friedman’s book, The World is Flat, and the theses that are driving globalization and multi-cultural educational issues.  Participants will develop ideas on how to think creatively and innovatively about changes that impact the purpose and value of education in the 21st century.  Participants will be challenged to see how the themes and concepts articulated in The World is Flat can or should be applied in classroom practices.



2:35pm to 3:05pm

Innovation and Research Accessibility Issues on eLearning: a user modelling approach

Jesús G. Boticario - Head of aDeNu Research Group at UNED (Spain)





2:35pm to 3:05pm

E-campus implementation: experiences at Galileo University

Rocael Hernandez 

Integration is a key factor for creating an e-campus initiative comprised of various systems. While there are multiple technical options for e-campus dynamic web services, we have chosen to use OpenACS for most of our web services.OpenACS has been an extremely powerful development framework to create new modules and achieve simple integration. Services provided in the e-campus initiative include .LRN, a Learning Management System (LMS), public news and institutional small Content Management System (CMS), tuition payment, course assignments, professor profiles, work opportunities and single account creation.

3:10pm to 3:40pm

Accessibility Requirements in dotLRN

 Olga C. Santos - R&D Technical Manager of aDeNu Research Group at UNED (Spain)


















Coffee Break 3:40-4:00 pm

3:10pm to 3:40pm

The DGSOM Personnel System, Weekly Message Digest, Room Reservation System, and Calendar Application

 Avni Khatri, UCLA - CTRL

Many universities, like the David Geffen School of Medicine at UCLA (DGSOM), are busy, heterogeneous organizations of people and resources alive with meetings, presentations, and cross collaborations. Perhaps because of our size, DGSOM is more like a federation of city-states than a well-structured hierarchically administered organization. Consequently, common problems are often encountered and addressed in isolation of one another, and this has led, in our case, to a morass of incompatible partial solutions to similar problems. A few of examples if this include Web-presentation of faculty member profiles, shared management of resources like conference rooms, and the dissemination of events and other timely information.

The Computing Technologies Research Lab (CTRL) at UCLA is a software development group within DGSOM that provides open source solutions to research and clinical data collection, management and reporting problems. Members of CTRL have used the AOLserver (p.k.a NaviServer) to build web-based applications at UCLA since 1994.

Using the OpenACS framework (and Oracle RDBMS), CTRL has developed several applications that address a set of problems that all universities face in one form or another: centrally managing faculty information and integrating the information with heterogeneous departmental web sites (using ACS subsites), and centrally managing shared resources, like conference rooms, in a fashion that protects departmental control over the resources.

The presentation will include requirements, design, and technical details of how we have tailored the OpenACS to address the faculty database, room reservations, and the weekly message digests.

Coffee Break 3:40-4:00 pm 

4:00pm to 4:30pm

Federated Search for Locating Learning Resources from Heterogeneous Learning Repositories

Stefan Sobernig

Stefan will talk about using OpenACS/DotLRN in a federated search environment for locating learning resources from heterogenous learning repositories (usage of OpenACS in the EU research projects iCAMP and Prolix, learning networks, SQI).

4:00pm to 4:30pm

ePortfolios: Using Personal Learning Landscapes, Student Performance Evaluation and Life-Long Learning Opportunities

Steve Wilmarth

This workshop will explore the use and application of ePortfolios as an alternative and/or supplemental assessment practice.  Participants will develop ideas on how to use ePortfolios as an essential component of a personal learning landscape.

4:30pm to 5:00pm

Implementation of IMS-LD in .LRN

Luis de la Fuente Valentin - Universidad Carlos III de Madrid

Applying pedagogical models to e-learning courses is the aim of the IMS Learning Design Specification, which can be used to describe educational processes by defining the flow of e-learning activities. Its design is wide enough to manage any methodology, and it provides a way to add services as a support tool for the learning activities. A .LRN player for IMSLD packages has been developed by the University Carlos III of Madrid, and is designed from scratch and fully integrated with the platform.




4:30pm to 5:00pm

Collaborative Curriculum: Using .LRN to Coordinate Data Collection and Analysis Between Classrooms Featuring Microscopic Image Collections

With an NSF SBIR grant (National Science Foundation Small Business Innovative Research), Prime Entertainment has partnered with the Concord Consortium (CC), and Solution Grove (SG), to develop cutting edge collaborative curriculum centered around projects using a digital microscope. Prime Entertainment makes the QX5 hardware, CC is developing the Java application for collecting data, and SG is implementing the .LRN back end and website where teachers and students can share data and work together. Get a preview of how these systems integrate with each other and the structure of the online community.


5:00PM to 6:00PM: Informal demos and discussions

8:00PM: New England Seafood Dinner at the Summer Shack

Jasper White's Summer Shack

Telephone 617-867-9955
50 Dalton Street in the Back Bay,
across from the Sheraton Hotel entrance and the Hynes Auditorium. Upstairs from Kings Bowling Alley.
Closest Subway T Station: Green Line - Hynes Auditorium.

Day 2 (Nov. 2) - General Web Applications Focus - OpenACS

Free-form and technology focused with opportunities to demo

8:15AM - 8:50AM Breakfast

9:00AM - Start

Location:  Harvard Conference Center Rooms 214/216/217/Lounge


The architecture of

Neophytos Demetriou

An XOTcl based architecture of an OpenACS-like system, scalability through database partitioning, providing google like services.

Zip Car

Roy Russell - Founding CTO
Roy advises the company on a broad range of subjects. He has been an integral part of the Zipcar team since inception. Since the early days of Zipcar, Roy has been instrumental in developing and deploying the unique technology that has given the company its leading position in user experience. 

xoTcl for OpenACS Developers (Introduction)

Neophytos Demetriou and Gustaf Neuman

This will be a short introduction of what will be presented in more detail on Day 3 (during the hacking/training sessions at the Museum of Science).

Solution Grove

Demo of AJAX usage - Hamilton Chua remotely with Caroline Meeks and Dave Bauer live.

Porting Sloan from Oracle to Postgres - Please let us know if there is anyone with a oracle installation interested in moving to Postgres, we will only do this if there is interest. Deds Castillo remotely with Caroline Meeks and Dave Bauer live.

Two Approaches to Virtualization and OpenACS/.LRN

Two Approaches to Virtualization and OpenACS/.LRN

The two main approaches to virtualization, "total OS encapsulation" as done by VMWare Server, and the "shared-kernel" approach as taken by Solaris 10 with its Zones technology, will be discussed. A live demonstration of installing a working OS under each approach will be given.

Patrick Giagnocavo

Patrick Giagnocavo is the CEO of Zill.Net. Zill.Net offers hosting and colocation with a focus on OpenACS and .LRN setup and ongoing system administration.

Remote queries with SOAP:
We have designed and created a simple way to run queries on a remote server, using SOAP to send queries and receive results that are similar to those that the db_* API returns. This method may be used by other applications such as the <multiple> tag and list-builder.

xoORB: An XOTcl based Object Request Broker for OpenACS (SOAP-based web-services, client, and server framework)

Stefan Sobernig


Conformance Testing of the .LRN platform


Gerardo Morales - Groupe des Ecoles des Télécommunications/ Institut National des Télécommunications (GET/INT) France

For big and complex applications such as .LRN, it is mandatory to execute in a scheduled way a set of test cases to assure its stability and the conformance to its original model, along with the continuous development of such application. This presentation highlights the importance of conformance testing and the types of tests needed for the .LRN platform. It also presents a new method to automatically generate test cases from a .LRN model described in UML.

Selenium Unit Tests in OpenACS

Tracy Adams (ACSPropel) 

1. Creating Selenium Unit Tests
2. Hosted Selenium Unit Test management

1:00 PM to 1:50 PM: Lunch 


Marketspace Advisory

Sam Stearns

Marketspace Advisory is a strategy consulting firm focused on improving its clients' customer-facing interface systems and associated channel migration challenges. Clients include large organizations in the media, financial services, and consumer products sectors. We use an OpenACS /.LRN - based extranet during our engagements to share knowledge with our clients (especially via social bookmarking) and help raise their digital literacy.

Load balancing using a cluster with .LRN

This talk describes a widely-distributed and integrated functionality to increase performance and service. The installation includes multiple servers specialized for both static and dynamic information. Also some specific synchronization scripts will be described that replicate high traffic pages that do not change often and are the same for most users. The following will also be discussed:
- cache sharing
- node sharing
- reload of procs
- Content Repository (CR) file system sharing

.LRN Windows installer

We present an easy way to run and test .LRN and OpenACS in your windows installation. This method is based on the original design by Rocael Hernandex, initial development by Vlassis and then ProjectOpen in Barcelona, and has been fully-refactored and now maintained by Byron Linares.

OpenACS OCT/.LRN Leadership Team/EU4ALL Meeting 

The European project "EU4ALL" just started (EU4ALL stands for "European Unified Approach for Accessible Lifelong Learning") and the Scientific Coordinators of the project (aDeNu Research Group at UNED represented by Emma, Olga, and Jesús) want to meet with OpenACS/.LRN leadership to align common objectives and define a framework to reach them Audio  OpenACS_Meeting_Nov_2006.ogg (OGG)  OpenACS_Meeting_Nov_2006.mp3 (MP3)


Caroline Meeks and Dave Bauer 

1. AJAX UI examples
2. Extending List Builder with filters and graphs
3. Moving SloanSpace from Oracle to Postgres
4. Dynamic Types (Dave and Lee together we hope)


A package that administers multiple surveys that are being sent to users. It administers the assessment package. At Galileo has been used widely to used to pass out surveys to students across the different programs. So far more than 65,000 surveys has been answered.
- Create survey templates
- Deploy templates
- Close surveys and results


Day 3 and 4 - Training and Hacking Days at the Boston Museum of Science


2006 OpenACS/.LRN Fall Conference

Created by Carl Robert Blesius, last modified by Gustaf Neumann 19 Nov 2017, at 12:40 PM


Boston, Massachusetts, USA

Harvard Conference Center 

Map (includes location, close hotels, and public transportation stops) 

Dates and Schedule

Registration and Fees

  • Registration is open. Please let us know if you need any documents beforehand for visa applications or reimbursement
  • Fees: Main conference fee is $95 (if you can not afford the cost of the conference please let us know - we will have a discounted rate and financial assistance may be available). Please see the registration page for additional details.



Average from Weather Underground

Local Airports

Logan International Airport is the airport in Boston. It is the closest airport to the conference center. Logan's airport code is BOS. International flights can land at Logan.

The Manchester Airport in Manchester, New Hampshire, and T.F. Green in Providence, Rhode Island, are airports within about an hour's drive of Boston and Cambridge. Many inexpensive airlines serve Providence and Manchester. It is possible to get from downtown Providence to Boston via commuter rail or bus. Hanscom Field in Bedford, Massachusetts, about 25 minutes away from Boston, has flights to and from Trenton, New Jersey.

Local Train Stations

Amtrak, the major American rail company, serves several stations in the Boston area. South Station is one of the area's major transit hubs. It is also on the Red Line (subway line). Amtrak also arrives at North Station, which is on the Green Line, and Back Bay station on the Orange Line.

Bus Lines and Subway



Best Western Inn at Longwood (SOLDOUT)
342 Longwood Ave, Boston, MA 02115
(617) 731-4700 or 1-(800)-GOT BEST
$159/night - "PARTNERS HEALTHCARE" rate
(try to reserve before October 16th to ensure availability)
0.5 miles from conference center

Longwood Guest Suites
63 Parker Hill Avenue, Boston, MA 02120
$132/night - 1 person occupancy
1 mile from conference center

Longwood Inn
123 Longwood Ave, Brookline, MA 02446
$119/night standard rate
0.8 miles from conference center



Looking for Roommates

(please add your name here if you are looking for someone to share a hotel room with) 

Crash Space

 (please add to these lists with a link to your user profile)


Crash Space Available:

Crash Space Needed:

Who needs a visa to enter the US?

If you are not a resident of the United States, you may need a visa to enter. If you already have a visa and need to enter the US, make sure it will not expire before you use it to apply for admission (entry) at the port. Citizens of the following 27 countries do not need a visa to enter the US for tourism or business for stays of 90 days or less [1]:

Andorra Iceland Norway
Australia Ireland Portugal
Austria Italy San Marino
Belgium Japan Singapore
Brunei Liechtenstein Slovenia
Denmark Luxembourg Spain
Finland Monaco Sweden
France the Netherlands Switzerland
Germany New Zealand United Kingdom

[1] Providing you meet the visa waiver criteria:

a) You must have a machine-readable passport (this means it should have a line of chevrons (e.g., <<< ) valid for six months past your expected stay in the U.S.

b) Any passport issued after October 26, 2005 must include a digital photo.

c) You must have a ticket going out of the US. I.e. only a one-way ticket into the US is not sufficient.

Information for Canadians

Canadian citizens generally do not need either visa or passport to enter the US. All travelers should bring evidence of their identity (e.g., a government photo-id) and citizenship (e.g., a passport; or a birth or citizenship certificate). Fiancees of US citizens, or spouses of US permanent residents, may need a visa even if they are Canadian citizens — especially if they are coming to the US to await final immigration status. .

Getting a visa

To get a visa, contact the nearest US Embassy, Consulate, or other authorized institute to find out how long the process will take (generally anywhere from 3 to 45 days).

Some guidelines for painless visa processing:

  • Ask us for a letter of invitation.
  • Start applying for a visa early. The basic visa process will not take this long, but you will want time to resubmit the application if necessary, and to buy your tickets after the visa has been granted.
  • Prepare for your visa interview/application. You should have
    1. Your entire travel itinerary, from when you leave your country to when you return

      Note that your travel plans depend upon early approval of the visa application

    2. Your invitation, and printed information about the conference

      If you are getting financial support to attend the conference, make sure you have printed documentation of this as well.

    3. Proof of association with OpenACS and/or .LRN (information about you as a researcher, developer, .LRN user, etc.)
    4. Evidence that you will return home -- that is, of "binding or sufficient" ties to your home country (normally your country of residence). Useful examples include:
      • evidence of family ties in your home country
      • evidence of property ownership
      • evidence/statements of bank accounts
      • an employment contract or letter from an employer demonstrating you have employment beyond the end of your trip
      • evidence of attending school, or a letter from a school official demonstrating you will be a student there beyond the end of your trip

Getting visa help

A letter of invitation alone does not guarantee you will be issued a visa. If you have followed the above steps, and your visa application is rejected, let us know immediately. Immigration officials in Massachusetts will contact your embassy to try to overturn the rejection.

If you cannot afford the cost of visas or related fees, let us know. Financial assistance may be available.

Interest in Attending

Enter your name, and any topics you are interested in here Fall Conference 2006 Interest in Attending

Social Program

Dinner  on November 1st will take place at

Jasper White's Summer Shack
Starts at 8:00PM
50 Dalton Street in the Back Bay, Boston, MA
across from the Sheraton Hotel entrance and the Hynes Auditorium. Upstairs from Kings Bowling Alley.
Closest Subway T Station: Green Line - Hynes Auditorium.

The social program on subsequent days will be informal and will be announced at the event




 MGH LCS ACSPropel  Solution Grove 


OpenACS/.LRN for Debian

Created by Héctor Romojaro, Stefan Sobernig, last modified by Gustaf Neumann 08 Nov 2017, at 08:52 AM




Packages of OpenACS  and .LRN  are now available for Debian GNU/Linux . We hope to facilitate the adoption by novices and the infrastructure deployment by professional users, both running Debian GNU/Linux  and its derivatives. Our packaging activity explicitly targets Debian GNU/Linux  stable , testing and unstable . Important dependencies are co-maintained with the Debian Tcl/Tk Maintainers .

See also OpenACS for Ubuntu.

Getting started

Please, review the section on supported distributions first.  Currently, the core packages (openacs, dotlrn) and their dependencies are included into the official Debian GNU/Linux  repositories.


  1. Run:

    apt-get update


  2. (optional) Provide for a PostgreSQL environment: If you don't have a PostgreSQL installation at hand, provide one. You do not need to care about setting up a concrete data base. This is automatically done by the OpenACS and dotlrn post-install instructions. For further PostgreSQL-related set-up issue, see ...
    apt-get install postgresql
    If you run a remote PostgreSQL instance, remember to allow for access of the PostgreSQL Administrator (postgres) and the openacs/dotlrn user from machine hosting your OpenACS/.LRN installation.
  3. Install the core packages and follow the on-screen instructions:
    # OpenACS
    apt-get install openacs
    ... or ...
    # .LRN
    apt-get install dotlrn   

After Install

  1. (optional) To change IP address and port of the instance, please edit the file:
    # OpenACS
    # dotLRN
  2. (optional) To control the instance using daemontools, please install the daemontools debian packages and follow the instructions on the file:

    # OpenACS
    # dotLRN


Next Steps, After Basic Installation (above)



Active contributors

  • Héctor Romojaro 
  • Stefan Sobernig
  • Avni M. Khatri
  • Carl R. Blesius

Packages status

Packages maintained by Debian Tcl/Tk Maintainers 


Packages co-maintained by OCT & Debian Tcl/Tk Maintainers 





Please, for getting in contact and reporting issues, consider ...

.LRN Accessibility

Created by Olga C. Santos, last modified by Gustaf Neumann 25 Oct 2017, at 08:34 AM

From quite a long time .LRN community has been moving towards producing both accessible interfaces and services for all. Accessibility analysis on previous releases have been done such as Tristan Kalnins-Cole's under Dorian Peter's (dotLRN Director of Visual Design) supervision. This lead to the unofficial conclusion that version 2.1.3 was level A compliant.

Selva theme was designed to make easier the customization of the look and feel of .LRN, improving navigation and usability. Moreover, unlike other .LRN templates, it is strongly based on CSS. Therefore, it can be easily seen that Selva theme was a step forward in considering accessibility issues.

During the development of version 2.2.0 we have been working to assure that .LRN 2.2.0 with Selva theme is compliant at least with W3C WAI WCAG 1.0 level A. In this sense, three new categories of bugs have been created in the Bug Tracker and are being used to report problems regarding accessibility. So far, within the framework of several R&D projects in which aDeNu Research Group at UNED is involved, we have compiled several accessibility analysis performed by some of our partners (Soluziona) and research groups within UNED to translate the problems found at different development stages to .LRN/OpenACS bugs and discuss them in the .LRN IRC Tuesday meetings. "This work has led to the release of .LRN 2.2.0 as W3C WAI WCAG 1.0 level A compliant, except for LORS package (there is a strong incompatibility between the SCORM RTE and WCAG 1.0, which is to be solved with WCAG 2.0). Moreover, there may be some minor level A bugs reported found here, which are to be solved."

The planning for next version is to achieve WC3 WAI WCAG level AA and take into account, when available, specific guidelines from national regulations such as the American Section 508, UK SENDA, Australian DDA , German BITV or Italian Stanca. Our plans are to consider WCAG 2.0 as soon as they are officially released as well as other WAI documents (e.g. ATAG and UAAG).

In order to improve the accessibility quality of dotLRN, we ask you to use W3C Web Content Accessibility bug types to report any problems encountered so they are taking into account when developing.

Update for dotLRN 2.3

See Zen project and external evaluations on Educational packages [1], [2].

Information on the progress is also done in periodic dotLRN/OpenACS conferences:

  • Fall 2006
  • Spring 2007
    • Improving Accessibility, Usability, and Code Quality of .LRN and OpenACS: The .LRN Zen Project [3]
    • Workshop on Experiences on Accessible eLearning Platforms


Last modified: 2017-10-25 08:34:57.234495+02

Ajax Helper

Created by Hamilton Chua, last modified by Gustaf Neumann 25 Oct 2017, at 08:32 AM

Package Specification Summary for Package: ajaxhelper

Summary: Ajax Helper for various javascript libraries.
Description: Provides helper procs to generate javascript used for Ajax and generating cinematic effects. Includes Scriptaculous 1.7.1 beta3 with Prototype 1.5.1, ExtJS 1.1.1 and the Yahoo UI Libraries (2.3.0). As of 0.87d, there is now an option to load YUI js source files direct from yahoo ( Lee Denison's template::head is now used to load javascript sources and css. The YUI loader is used to intelligently load YUI sources and css. As of 0.7d, all javascript libraries have been moved to ajaxhelper/www/resources to take advantage of caching. As of 0.8d, the wrappers will now be able to check a global variable to see if the required sources are loaded, this allows helper procs to automatically load the javascript sources you need.
Documentation: Package Documentation
Maturity: Immature
This package depends on: acs-kernel acs-tcl
Packages that depend on ajaxhelper: ajax-filestorage-ui ajax-photoalbum-ui connections contacts eduwiki learning-content messages planner scorm-player
Package parameters:
Set this parameter to 1 if you wish to load YUI javascript sources from yahoo's servers. (default 0, type number, scope instance)
Set this parameter to 1 if you want ajaxhelper to load minified versions of the javascript sources whenever possible. (default 0, type number, scope instance)

Bug Tracker Summary for Package: ajaxhelper

There is no package with the name "ajaxhelper" known to bug-tracker.

Code Metrics Summary for Package: ajaxhelper

# Tcl Procs 67
# Tcl Lines 3068
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 ORA: 0
# ADP pages 15
# ADP lines 147
# Include pages (ajaxhelper/lib/) 1
# Documentation pages 9 (Package Documentation)
# Documentation lines 1396
Browse Source Not installed


Ajax Helper is a package created to assist OpenACS developers incorporate Ajax into their web applications. It is composed of helper procs that wrap javascript functions that perform DHTML effects and Ajax. 

Ajax Helper incorporates javascript from Thomas Fuch's Scriptaculous Javascript Library ( and Yahoo's User Interface Library or YUI ( ).

Tutorials on how to use Ajax Helper :

Introduction to Ajax Helper with Simple Effects

Using Ajax

Simple Drag and Drop

Current Release on CVS HEAD : AjaxHelper 0.87d
includes Scriptaculous v.1.7.3 Beta, YUI v. 2.3.0 and ExtJs 1.1.1


Assessment Admin UI

Created by Caroline Meeks, last modified by Gustaf Neumann 20 Oct 2017, at 05:25 AM


  • Update this page with the latest work
  • Carl will fill in here... 

 The current UI is very confusing and cluttered.

Our vision of a final UI is that a assessment creator would pick a type of assessment he wants and the site will set all defaults appropriately for it. However, the first attempt to do this was a failure so we are working on an incremental approach that we think will provide value with minimal effort. Our intent is that later we move to an even friendlier UI.

 Incremental Improvement Vision:  The current user experience is: every time you create anything you are confronted by many many choices, most of which you can ignore. Similarly all the admin pages have many repeated buttons and its not clear when you want to do what.  Thus our goal is:

  • Creation pages are very very simple and useful defaults are set for everything.
  • Objects then have one button to an Edit page that has all the complex things you can do with the object.

Related Pages:


These are screenshots of the work in progress.


Simplified quick assessment creation form. 


One Assessment Admin Page 


One Section Admin Page



 Add a question page.

First the original question form:

Now the new form. The question creation process used to require filling out 3 forms. We compressed it to one form by removing unused settings, and making intelligent default decisions. Some more work needs to be done. Assessment has a huge amount of complex features and it is not clear how they are used together to create a certain type of assessment. It is clear that all of the settings rarely need to be used together.


Next Page
previous March 2018
Sun Mon Tue Wed Thu Fri Sat
25 26 27 28 1 (1) 2 3
(1) 4 5 6 7 8 (1) 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Popular tags

17 , 5.9.0 , 5.9.1 , ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bootstrap , bugtracker , CentOS , COMET , compatibility , CSP , CSRF , cvs , debian , emacs , engineering-standards , fedora , FreeBSD , guidelines , host-node-map , hstore , includelets , install , installation , installers , install-ns
No registered users in community xowiki
in last 30 minutes