ACS Bookmarks Release 4.1.1b
by Peter Marklund
on the 26:th of February 2001
Introduction
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:
- Adding Bookmarks
- Bookmarks may be exported from/to Netscape bookmarks file format (readable also by the Internet Explorer browser).
- Bookmarks may be added easily during web browsing with the help of a Bookmarklet (a Bookmark in the browser that contains Javascript instead of a url).
- Viewing Bookmarks
- Bookmarks are viewed in a tree structure with folders that may be opened and collapsed (like in a window file browser). The bookmark tree may be sorted by name or by access date. Alternatively the bookmarks can be viewed in a Javascript format.
- It is possible to view the bookmark tree of any fellow community member as well as the most popular hosts and urls in the community
- Keyword search is supported. In this search not only the urls and their titles will be used, but also any keywords and descriptions of urls that have been fetched from the html pages of those urls.
- Maintaining Bookmarks
- It is possible to check if URLs are alive so that non-responding URLs can be deleted.
- The user may to edit, move or delete any folder or bookmark in his tree.
Dependencies
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:
- bookmarks-4.0a (Dec 14, 2000)
- bookmarks-4.01a (Jan 09, 2001)
- bookmarks-4.1.1b This version includes a number of bugfixes and minor improvements over the previous one. Three of the most severe bugs in the alpha versions that have been fixed are:
- When two users were viewing the same bookmarks tree one user opening or closing folders would affect the view of the other user.
- The page displaying the most popular URLs displayed incorrect numbers.
- The checking of URLs was done on a bookmarks basis leading to URLs being checked more than once.
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!
Requirements
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).
- I installed the bookmarks module from the apm file on top of a
fresh ACS 4.1.1 installation.
- I mounted a bookmarks instance called "Main Bookmarks" under the
main site and another bookmarks instance called "Sub Bookmarks" under a subsite
- Added some bookmarks for George admin and verified that the
content in different instances is separated.
- Tried to add a non-existent url. A warning was issued but the
bookmark could still be added.
- Tried adding a responding url without title. The application tries
to fetch the title from the web page.
- On the bookmark-add page it is possible to create a new folder
that may be placed inside another folder.
- Single bookmarks as well as non-empty folders can be deleted.
- For every bookmark a details page showing html title, keywords and
description fetched from the html page of that URL may be viewed.
- 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.
- 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.
- Bookmarks may be sorted by name or by access date
- 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
- The url and title of bookmarks may be edited.
- Bookmarks and folders may be moved to a different folder
- 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.
- Any user can view the non-private part of any other users bookmark
tree.
- 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.
- 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.
- 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.
- Tested all links in the Javascript version
- 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:
- General comments on urls
- Possibility to add keywords for bookmarks
- Shared hierarchical categorization of urls. It will be possible to browse all urls in the system by these categories.
- Rating of urls
- Possibility to easily view all fellow users meta data about a url
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.
Scalability
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.
pmarklun@arsdigita.com