User Management

by anchorarchivist... ()

Drupal includes a lot of functions for managing users, with the assumption that users will be registering themselves, contributing content to the site, and forming an online community. While we also want the Anchor Archive users to contribute content to the site and form an online community, the situation is slightly different because we need to collect additional data about our users, such as contact information, and we need to keep this information private and maintain some control over user registration.

Currently, to borrow items from the Anchor Archive zine library, one must become a member. This entails paying $2, donating a zine, or volunteering for a shift. Initially, Zac and I thought we would allow users to register themselves on the site so that remote users would be able to contribute tags and comments to zine records. However, this would necessitate distinguishing somehow between users and members who are actually allowed to borrow items. We decided in the end that users will not be able to register themselves and instead must come into the library and be registered by a volunteer when they become members. This will make user management easier and we doubt there will be that many remote users who will want to contribute data to zine records. When users register/become members, they will choose a login and password, which they will then be able to use to log in to the site and add tags and comments to zine records or to check their accounts.

Drupal’s default user registration form asks for little information beyond a user’s e-mail address. The Anchor Archive, on the other hand, needs to know the full names of users and their contact information. The Profile module allows one to add additional fields to the user registration form. We thought this would be sufficient. However, we kept coming across these modules that you can install that format CCK fields for easy data entry. For example, the Address Field for CCK module allows you to add a single field to a CCK node called “address” but this actually consists of 5 separate fields broken down into street name, city, etc. and the fields for province/state and country have pre-established lists of places to select. We felt these modules would be very useful for our user profile form but we couldn’t apply them to the profile form because it was not a CCK node.

Eventually, we discovered the module called Usernode, which allows you to make users into a content type and add fields to the user registration form. This essentially made the Profile module useless but it did allow us to use all of those great modules we had found. In the end, though, I think we only used the Address Field for CCK and Phone (CCK) modules. We tried using a module called Fullname Field for CCK, which again allows you to add one full name field that then becomes separate fields for different parts of a name. However, it distinguishes between “legal name” and “preferred name” and we decided the Anchor Archive patrons would not appreciate being asked for their “legal names,” so we removed this field and just added separate fields for first and last name.

The user profile registration form will ask for users’ first name, last name, address, phone number(s), and e-mail address. There will be an additional field for notes in which any comments can be made about a user, such as borrowing history. There will also be an option to block a user, which the Anchor Archive can enable if a user has a poor borrowing history. Additional fields can be added to collect information relevant to volunteers, such as volunteer start-date.

In Drupal you can set up various user roles with different permissions. The Anchor Archive will have 5 user roles:

Anonymous User: This is a user who has not registered as a member and is only able to view catalogue records and other public information on the site.

Authenticated User: This is the equivalent to a member who has paid his/her membership fee and registered on the system. Members will be able to view catalogue records and add tags, add comments to catalogue records, and view their account information.

Volunteer: This is someone who works shifts at the zine library during open hours. The volunteer will have all the permissions of an authenticated user, plus be able to create and edit circulation content (sign out zines for patrons), view user records, and create and edit user records.

Individual volunteers will actually be registered as authenticated users, and there will be only one volunteer user created. When individual volunteers are working a shift at the Anchor Archive, they will log in to the system as this “volunteer” user but use their authenticated user account when using the system at other times. This will prevent volunteers from being able to access user records and alter circulation records when they are not working at the Anchor Archive. The password on the volunteer account will be changed on a monthly basis to assist in this process.

Librarian: Librarians will be long-term volunteers who have been given additional responsibilities administering the Anchor Archive system and creating catalogue records. They will have all of the permissions of volunteers and be able to create and edit zine and item records, access and administer views for the purpose of viewing and creating reports, create and edit story and page content, and administer comments. Librarians will be registered individually as librarians, as they will have gained the Anchor Archive’s trust as long-term volunteers and this will allow them to do work on the Anchor Archive system from home if necessary.

Administrator: An administrator will be able to do everything, including modifying fields, giving user permissions, and configuring modules. Only the coordinators of the Anchor Archive and those responsible for systems administration will be given this role.