This project is not covered by Drupal’s security advisory policy.

An address book application for storing and sharing contact information in a multiuser environment.

Features:

This module adds a self contained address book system to a Drupal website. The address book is designed for use in a multiple user environment where users wish to share contact information with others (e.g. in a company/organization environment).

  • Roles system including: (i) regular users who can create and manage own contacts, as well as see other publicly viewable contacts in the system; and (ii) administrators who can manage other users' contacts.
  • Can assign contacts to a particular event so one can look up contacts based on the event where you first met that contact.
  • Import and export of contacts in CSV format (currently tested on MS Outlook 2010 and Mozilla Thunderbird CSV formats).
  • Contacts can be publicly visible (i.e. seen by all users) or privately visible (i.e. only visible to contact owner).
  • Use of colored icons to easily differentiate between own contacts and those of others.
  • System can be optionally configured so that private contacts can not be seen by administrators.
  • System can be optionally configured so that publicly visible contacts will remain in the system even if the original user has been deleted.
  • Users can customize which items of contact information to display in a particular view.
  • Contacts can be grouped by organization name or event (i.e. the event where a particular contact was first meet).
  • live search function which enables dynamic filtering of contacts (great when trying to find a contact from among a list of many).
  • Email mailing list creation. Provides basic functionality to create a list of email addresses which can then be copy and pasted into an email.

About

The idea behind this module was to create a contacts management system that is self contained and can be easily integrated into an existing Drupal website. Ideal usage situation would be an organization with a website, that wishes to enable registered users (e.g. own employees) to access a common pool of contacts. Would be perfect for a smallish organization or company.

This is a port of a php/mysql app I had written for personal use in my last job, which required the sharing of work related contacts among company members. I decided to port this application to Drupal as I was looking for a project to help me learn how to create modules using the Drupal framework, and figured this would be a good one to start with. Hopefully others might also find it useful.

As this is my first Drupal module, I would grately appreciate any and all feedback.

This app consists of a main module, as well as multiple supporting sub-modules which provide various functionality including several custom node types, as well as, "live search" and import/export of CSV files functionality.

Installation

This module relies on a number of other modules to run. Please see list of dependencies under the modules administration section of your website, after adding the namecards module to your modules directory.

After enabling the namecards module you may be asked to rebuild permissions. Follow the link provided in the displayed notification to do this.

Documentation

After enabling the module a link call namecards will appear in the primary links menu. This is the main access point for the namecards application (you can move this link to another location or menu using Drupal's menus administration page). After clicking the link the user will be taken to the default tab for the application.

The application has six tabs:

  • Browse

    Provides an overview of all contacts in the system (the fields displayed in this view can be altered by the user under the Settings tab). Individual contacts can be viewed (click on details link), edited (click on edit link), or deleted (click on delete link).

  • Organizations

    Lists contacts grouped by organization. Clicking on an organization name will toggle the display of contacts belonging to that organization. Searches performed on this page will filter based on an organization's name rather than individual contacts.

  • Events

    Lists contacts grouped by event. Clicking on an event name will toggle the display of contacts belonging to that event. Searches performed on this page will filter based on an event's name rather than individual contacts.

  • Email

    Creates a list of email addresses formatted for use in an email recipient field. Check the boxes of the contacts to add to the email list and the name of the email application which will be used to send the email. After submitting the form, a list of email addresses will be displayed which can then be copied and pasted into an email.

  • Add

    Add a new contact to the system. When adding a new contact, one can set the contact as either public or private. Private contacts will not be viewable by other users, with the exception of administrators (only if the "private contacts visible to administrator" setting has been enabled under the modules admin settings).

  • Settings

    Used to configure a user's personal settings. From this page one can: configure the default tab to open when the user clicks on the namecards menu link; set which fields to display in the 'Browse', 'Organizations', and 'Events' tabs; and bulk import and export of contacts from a comma separated file.

Contact icons

In certain views a colored icon will appear next to the contact. Contacts with green icons belong to the currently logged in user. Yellow icons denote contacts belonging to other users. Icons also denote whether the contact is marked as public or private. Private contacts are discernible by icons with a darkened head.

Permissions

The module provides two kinds of permissions:

  • Access namecards: User can access the namecards system and create contacts. They can also view the public contacts of other users.
  • Administer namecards: user can view, edit and delete any contacts in the system. They may also view the private contacts of other users, if the relevant option has been set in the module configuration settings.

General module settings

A number of settings are available from the Namecards module configuration page

  • Privacy settings: determine whether users' private contacts are visible to administrators.
  • Action to take when deleting a user: determines whether to delete all contacts belonging to a user, or only that user's private contacts (public contacts are reassigned).
  • Scan for orphaned nodes: checks for and deletes any orphaned linked nodes. Typically, one would not need to use this feature as the Namecards module directly implements various methods for ensuring that nodes do not become orphaned.
  • Advanced options: includes various caching options for better loading performance.

Project information

Releases