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: version used in production but still missing some functionality (See To do)

Features

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

  • add data fields to persons and addresses using the user interface

  • ability to change the oder of the fields of persons and adresses

  • assign keywords to persons

  • search for persons by keywords and names

  • import data from XLS (Excel) or CSV files

  • export persons found using a search as XLS file

  • update a single field of multiple persons as returned by a search

  • multi-client capability

  • user and role management

  • really good test coverage (> 98 %)

  • Completely translated into German, and easily translateable into other languages.

  • Optimized for the following browsers: Firefox, Safari. IE works but might look ugly.

Installation

Prerequisites

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

First installation

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

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

  1. Download the source distribution (see Download).

  2. Extract the downloaded file.

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

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

  5. Run the tests. See Run the tests

  6. Start the application. See Run the application

Update

  • When you are updating from version 0.3.x or earlier follow the steps described in First installation followed by the steps described in Second part of steps for older versions.

  • When you are updating from version 0.4 or newer follow these steps:

    1. Download and extract the source distribution (see Download) to a new a directory.

    2. Run install.py using your desired python added by the path to the previous installation. This way values you entered previously are used as defaults instead of the application defaults. Example:

    $ python2.6 install.py ../icemac.addressbook-0.4
    1. Answer the questions about admin user name, password and so on.

    2. Start the new instance of the application.

  • If you get an error when running the application after updating which looks like:

    zope.generations.interfaces.UnableToEvolve: (..., u'icemac.addressbook', ...)

    Then you have to upgrade to version 0.5.x first and start the application, so that legacy data can be converted. Version 1.x is no longer compatible with these older versions.

Second part of steps for older versions

  1. Stop the old instance of the application.

  2. Create a backup of the ZODB og the old instance using:

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

  4. Restore the backup into the new instance using:

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

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

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

Create a new address book using the add address book link on the right. How to create new users inside this address book is described in Create new users.

Change configuration of the installation

The values you entered during installation resp. update are stored in a file named install.user.ini in the address book directory.

To change the configuration values call install.py using python and enter a . as parameter like this:

$ python2.6 install.py .

The configuration questions get presented to you with your previously entered values as default.

To remove additional packages you have to edit the [package] section of install.user.ini. There is currently no other way for removal.

To remove the user name which should own the process you have to edit the [server] section of install.user.ini. Remove the value from the user line.

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 address book augmented by log-in information.

To create the first new user inside an address book the adminstrator (who was created in First installation) 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 address book the person belonges to.

To do

Next major version

  • Probably: Full text search.

Longer term

The following features might be implemented over the next months:

  • person data

    • store picture per person

  • company as entity

  • import

    • vCard

    • SQLite (Apple’s Addressbook.app)

  • export

    • custom XLS export

    • LDAP export

  • more search abilities

    • full text search

    • combined search

    • wildcard search

Change log

1.7.0 (2011-11-03)

General

  • Dropped support for Python 2.5, so currently only Python 2.6 is supported.

UI changes

  • Previously search results could only be exported. The options have been widened, so different handlings of search results are possible. So deletion of the selected persons has been moved to these search result handlers.

  • Added explanation text to search from.

Features

  • Added a new search type: Search for person names. You may use wildcards in this search (? for a single character or * for multiple characters).

  • Search results now display the columns the user selected in his personal preferences.

  • Added search result handler to modify a single field on all selected persons in the search result. Depending on the kind of the field different operations are possible (replace with, append to, remove from, add to, multipy with, intersect with, …). Only users with “Administrator” role can use this handler as wrong usage might be dangerous for the data.

Bug fixes

  • Running the address book in a vhost environment did not allow to access the about screen, as it was only registered for the root folder.

Other

  • Updated to Zope Toolkit 1.1 for dependent packages.

  • Integrated decorator package into distribution as needed version is prone to disappear from PyPI.

  • Changed test setup to use plone.testing layer.

1.6.0 (2011-02-03)

Features

  • Added ability to sort the fields of the entities.

Bug fixes

  • It is no longer possible to add new fields to the ‘main adresses and numbers’ entity as it makes no sense and breaks the address book.

1.5.0 (2010-11-23)

Features

  • Added support for Python 2.6.

  • Added an “about addressbook” view which shows the version number. The blue “i” right of “icemac.addressbook” in each view is a link to it.

  • Added messages telling about successful actions, e. g. applying or canceling a form.

  • Made it possible to sort the entities.

  • Made ‘main adresses and numbers’ an entity, so it could be sorted along with the other entities.

  • Added ability to delete the persons found in a search. User must have the administrator role to use this feature as it might be dangerous.

  • Added installation option to configure that the address book process sould run as another user than the one who started it.

Bug fixes

  • When copying a person, the creation dates and modification dates of the addresses in the copied person are changed along the person.

Other changes

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-1.7.0.tar.gz (259.4 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