Bugfixes, enhancements and new packages for ACS 4.2

For my industrial placement as part of my course I've been working at the ArsDigita London office. For the first part of the placement I was working (together with Tom Fotherby, and occasionally Simon Buckle and Sarah Ewen) on a community consultation site for getting feedback on housing developments. This is implemented with ACS Tcl 4.2, and we wrote some useful new packages as well as bugfixes to the ACS itself. This web page is just somewhere to put the code until it gets integrated into the main ACS Tcl codebase (heh) or more likely OpenACS.

Be warned: the following text is somewhat marketingy. I haven't actually lied about what the packages do, but perhaps inadvertently given the impression that they're more of a big deal than they really are. You should take 'scalable' to mean 'it doesn't use any exclusive locks' and 'seamless integration' to mean 'you can use it on the same web page as something else without crashing your browser' :-).

New packages

Simple Pictures

Updated 2001-09-26 (but the version number is still the same :-P)

A 'simple pictures' packages which is a picture chooser and upload tool. It's not very profound but it does provide an easy way to add pictures to a page with one line of code. The administrator can change the picture or upload new ones with a common interface (thumbnails are generated automatically). This package does not use the content repository, unfortunately. But I think it is useful nonetheless.

This package generates thumbnails automatically (don't worry, they're cached), and for this reason it needs a recent version of ImageMagick installed.

Demonstration of simple-pics - but not a very good one, because the interesting part of this package is really the interface for the administrator (choose an existing picture, or create a new one) and for the programmer (display a picture, with admin interface if appropriate, using one line of code).

download APM of simple-pics


Building on that, an imagemaps package to create client-side imagemaps from a picture and a set of points; a tool which lets the administrator create new imagemaps by pointing and clicking. This is currently most useful for creating zoomable maps ('click here for an enlarged view of this area').

The administration is purely web-based. The package provides three things:

A good demonstration of this package is the Your Neighbourhood section on the demo site we built. Although again, this does not show the point-clicky admin interface.

download APM of imgmaps


There was already a Page package included with ACS 4.2. Each instance of the package is a page of text which the administrator can edit. We rewrote it to use the content repository, so now there is a version history for each page. It also lets you upload PDFs as well as plain text and HTML. It's just much nicer than the old version.

There is no demo page for this package because all the non-administrator sees is a page of text or HTML (wrapped with the standard site template), or at best a PDF.

download APM of page

Simple Survey

Okay, this isn't a new package, but we've made quite a lot of changes to the package so it is easier to just distribute an APM rather than a set of patches.

There are bug fixes (the old version was not fully ported to ACS 4) and improvements to the admin interface. But the most noticeable new feature is attaching pictures to survey questions and answers ('which of these two faces looks friendlier?'). This uses the simple-pictures package mentioned above.

For a demo, look at the example tenant satisfaction survey. But you will need to register on the site first. The admin interface hasn't changed that much, apart from the addition of a picture chooser (thumbnails are used for the administrator's view of the survey).

download APM of simple-survey

Discover Dependencies

This isn't really a proper ACS package, just a quick hack we wrote. Our project had a dozen SQL create scripts and a dozen drop scripts and we couldn't remember the dependency order. This package reads the .sql files and tells you what order to load them in.

This probably isn't something you want to use, unless you've been having the exact same problem.

download APM of discover-deps


We made bugfixes to the ACS code and some packages, but we also added a couple of extra Tcl procs which are called by the packages mentioned above. So you'll need to at least apply the changes to site-nodes-procs.tcl (we wrote a proc to get the 'nearest' instance of a package) to use most of the above packages. Here's a text file with the code: patches against ACS Tcl 4.2.

Related stuff

Edward Avis
Last modified: Thu Oct 4 16:41:45 BST 2001