ACS Bookmarks Release 4.1.1b

by Peter Marklund on the 26:th of February 2001


This is a web application that runs on top of OpenACS, the successor of th ArsDigita Community System. The ACS Bookmarks application enables bookmarks to be accessed from any web browser on any computer. The sharing of bookmarks between community members is also supported. The application is distributed under the GNU public license from the OpenACS Package Repository.

Feature Overview

The ACS Bookmarks package enables web access to bookmarks that are normally stored in the browser on a desktop computer. Bookmarks are urls with metadata attached to them, they are called Favorites in the Internet Explorer browser. The obvious advantage of storing bookmarks on the web is that you may access your collection of favorite urls from any computer connected to the web. Another important feature of the Bookmarks module is that it lets you view the bookmarks of your fellow community members and the most popular urls in the community. Here is an overview of the key features of the Bookmarks module:


This version of the Bookmarks module requires the OpenACS 4.1 or newer.

Version History

The following versions have been released so far for the the ACS 4.x Tcl platform:

Upgrade Instructions

I have not prepared any data model upgrade scripts for the alpha versions. If you feel that you have the need for such an upgrade please let me know. If you don't have too many users in your system you can export their bookmarks manually to Netscape format files. Then you have to delete the package (make sure that the drop script gets run) and then install the new version of the bookmarks module (make sure that you have the new source code and that the create script gets run).

Feedback and Bugreports

Bugs and enhancement requests should be submitted to the OpenACS Ticket System.

Community of Contributors and Testers

Here is a list of people who have contributed with ideas and testing of the bookmarks module: If your are using the bookmarks module and have any ideas of how it could be improved - please contact me!


Although a separate document with formal requirements have not yet been written almost all requirements may be derived from the test protocol below.

Test Protocol for version 4.1.1b

This Bookmark release has been rigorously tested according to the protocol below. During the test I was logged in simultaneously with three different users, two bookmark users (Joe and Jane) and one bookmarks admin (George).
  1. I installed the bookmarks module from the apm file on top of a fresh ACS 4.1.1 installation.
  2. I mounted a bookmarks instance called "Main Bookmarks" under the main site and another bookmarks instance called "Sub Bookmarks" under a subsite
  3. Added some bookmarks for George admin and verified that the content in different instances is separated.
  4. Tried to add a non-existent url. A warning was issued but the bookmark could still be added.
  5. Tried adding a responding url without title. The application tries to fetch the title from the web page.
  6. On the bookmark-add page it is possible to create a new folder that may be placed inside another folder.
  7. Single bookmarks as well as non-empty folders can be deleted.
  8. For every bookmark a details page showing html title, keywords and description fetched from the html page of that URL may be viewed.
  9. A tree of bookmarks may be imported/exported from/to a Netscape format bookmarks file. Exporting a bookmark structure that has been imported I end up with a Netscape file with identical structure to the one that was imported.
  10. When browsing the web bookmarks may be added easily to the bookmarks module without interrupting the web browsing too much. This is achieved by the use of a Bookmarklet (a browser bookmark that contains Javascript). This Bookmarklet may be added to the browser toolbar so that every time the user comes across a page that he wants to bookmark all he has to do is click on a button in the toolbar and he is given the possibility to enter a title and choose a folder for the bookmark whereafter he is redirected back to the web page he was viewing.
  11. Bookmarks may be sorted by name or by access date
  12. An administrator may check all urls in the system (in one package instance) and may opt to delete those that are not responding. Every user may check his own bookmarks
  13. The url and title of bookmarks may be edited.
  14. Bookmarks and folders may be moved to a different folder
  15. A bookmark may be marked as private in which case only the owner of the bookmark may view it. If a folder is marked as private it means that all contained bookmarks and folders are private. If a bookmark is not marked as private it will per default have the same permissions as the bookmarks package instance. Bookmarks and folders inherit permissions from their parent folder and the root folder of a user inherits permissions from the bookmark package instance.
  16. Any user can view the non-private part of any other users bookmark tree.
  17. It is possible to see a list of the domains that have the most bookmarks in the system as well as a list of the urls that have been bookmarked most times.
  18. I dropped the bookmarks package (sourced bookmarks-drop.sql) and then recreated it (sourced bookmarks-create.sql). There were no error messages and the application was fully functional again.
  19. Two users can close/open the same folder without affecting eachother. Also tested what happens to the view of the other user if one of the users moves a folder or adds a folder.
  20. Tested all links in the Javascript version
  21. Removed all debugging print outs

Ideas for Future Improvements

Collaboration and Metadata

It is planned to make the bookmarks application more rich with metadata and more collaborative with the followoing additions: With these additions the bookmarks module will evolve beyond being merely a web storage of bookmarks to being a tool for collaboratively categorizing and adding metadata to the web.


The tree view of bookmarks does not scale very well - closing and opening folders becomes impractible with for example 200 bookmarks (however the bookmarks may still be viewed and used). Users who have this many bookmarks can preferably use the Javascript version. Load tests have shown that the Bookmarks module can not handle thousends of bookmarks for a single user. Future versions will try to address these cases with a viewing mode different from the current tree view.