Skip to main content

Multi user address book application

Project description

icemac.addressbook

Purpose: Store, search and export addresses and phone numbers using a web application.

Status: working prototype (preview of the real application)

Features

  • store data of persons including (postal address, e-mail address, home page address, phone number and files)

  • assign keywords to persons

  • search for persons by keyword

  • export persons found using a search as XLS file

  • multi-client capability

  • user and role management

  • really good test coverage (> 98 %)

User management

Roles

Access to the address book is only granted after authentication. There are three roles to authorize a user:

  • visitor: visit all person’s data, search and export, change own password

  • editor: permissions of visitor + edit all person’s data, change own log-in name

  • administrator: permissions of editor + create and change address book and users

Create new users

Users are persons from the addressbook augmented by log-in information.

To create the first new user inside an addressbook the adminstrator (who was created in Install) has to log-in and then do the following:

  1. create a new person with an e-mail address using Add person.

  2. create a new user using Master data –> Users –> Add user.

The newly created user has now a log-in (e-mail address) for the addressbook the person belonges to.

Installation

Prerequisites

You only need Python 2.5. (Other python versions are currently not supported.)

Install

CAUTION: icemac.addressbook can’t be installed using easy_install, you have to follow these simple steps:

  1. Download the source distribution (see Download).

  2. Extract the downloaded file.

  3. Run install.py using your desired python, e. g.:

    $ python2.5 install.py
  4. Answer the questions about admin user name, password and so on.

Neither you need any root privileges nor it installs anything outside its directory.

Run the tests

Run the unit tests and functional tests using:

$ bin/test

Run the application

To run the application instance in foreground start using:

$ bin/addressbook fg

To run it as a demon process start using:

$ bin/addressbook start

To stop the demon process call:

$ bin/addressbook stop

The default URL is to access the application is:

http://127.0.0.1:8080

The hostname and port for this URL are stored in deploy.ini.

To log-in at this URL you need the username and password you chose when running install.py. The are stored in admin.zcml.

Update

  • Do the steps described in Install (use a separate directory).

  • If you want to restore the previous admin password copy admin.zcml from the old instance to the new one.

  • Stop the old instance of the application.

  • Create a backup of the ZODB using:

    $ bin/backup
  • Copy the backup directory (var/backups) to the new instance.

  • Restore the backup using:

    $ bin/restore
  • Start the new instance of the application.

To do

Next version

  • import of XLS files

Longer term

The following features should be implemented over the next months:

  • person data

    • store picture per person

    • add customizable free text fields

  • company as entity

  • import

    • vCard

    • XLS

    • SQLite (Apple’s Addressbook.app)

  • export

    • custom XLS export

    • LDAP export

  • translation of user interface into German

  • more search abilities

    • full text search

    • combined search

    • wildcard search

Change log

0.4 (2009-05-15)

Features

  • Files can be uploaded and added to persons. (Files are stored as ZODB-Blob-Objects.)

  • Added logging of page accesses to access.log.

  • install.py now asks for hostname and portnumber and logging configuration, so changing deploy.ini is no longer necessary.

0.3.3 (2009-04-05)

  • Added two package dependencies which are necessary to convert an existing ZODB of a previous addressbook version.

0.3.2 (2009-04-03)

  • Fixed the sort order of the links in the master data section.

0.3.1 (2009-03-31)

  • Fixed wrong recipe version.

0.3 (2009-03-31)

Features

  • Added user management. There is now only one administrative user created during installation. This user can log-in using basic auth. He can create new users from existing persons inside the address books (See Master data –> Users.)

Bug fixes

  • Made the AddressBook skin the default skin.

Other changes

  • Dropped support for Python 2.4.

  • Renamed role icemac.addressbook.administrator to icemac.addressbook.global.administrator so all global roles have the same naming scheme.

  • Removed ZMI (Zope Management Interface) from skins in production environment. There is a buildout config in profiles/zmi.cfg which enables ZMI.

0.2 (2009-01-02)

Features

  • Multiple postal addresses, e-mail addresses, phone numbers and home page addresses per person are now possible.

  • Added XLS export for all stored data (not only the default addresses).

  • Added new attribute kind to postal address. Split street into address prefix and street.

  • Overview page of all address books now shows number of entries in each address book.

Bug fixes

  • E-Mail adresses with hyphen in host name where not enterable due to a picky constraint.

  • After changing a keyword title, persons using this keyword where no longer found in the keyword search because the index was not updated.

  • Changed sort order on person edit form: phone number is now displayed before e-mail address. Changed XLS export accordingly.

Previous Versions

See OLD_CHANGES.txt inside the package.

Download

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icemac.addressbook-0.4.tar.gz (466.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page