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 version with some missing functionality

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

  • assign keywords to persons

  • search for persons by keyword

  • import data from XLS (Excel) or CSV files

  • export persons found using a search as XLS file

  • multi-client capability

  • user and role management

  • really good test coverage (> 98 %)

Installation

Prerequisites

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

First installation

CAUTION: icemac.addressbook can’t be installed using easy_install, 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.5 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

  • If 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.

  • If 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.5 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.

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.5 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.

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

  • Add full text search.

Longer term

The following features should 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

  • translation of user interface into German

  • more search abilities

    • full text search

    • combined search

    • wildcard search

Change log

0.5.2 (2009-11-21)

  • Deleting all persons does not delete the persons which are users. Previously this function broke when there were users defined in the address book.

  • Moved the function to delete a whole address book to the overview page of all address books, as users defined inside an address book are not allowed to delete their address book.

0.5.1 (2009-11-21)

  • Fixed namespace package declaration so the package can be installed on a plain vanilla python (even without setuptools installed).

0.5 (2009-11-21)

Features

  • Users having the role Administrator can delete all persons in the address book or even the whole address book on the address book edit form.

  • Last modification time of objects is now stored and displayed (in UTC!).

  • Users having the role Administrator can import data in the master data area.

  • Added ability to enter additional packages names at installation (e. g. to install a specific import file readers).

  • Users having the role Administrator can add new fields to address book entities in the master data area. These fields as useable for editors and visitors, too.

Removed features

  • Removed some fields which are not always necessary and which can be re-added when needed as user defined fields:

    • state field on the postal address (only displayed German states, though),

    • sex field on person,

    • notes fields on address book, postal address, phone number, e-mail address, home page address, file and keyword,

    • kind fields on postal address, phone number, e-mail address and home page address.

Bug fixes

  • Uploading a new file changes the stored name of the file.

  • When uploading a file with an unknown mime type (aka application/octet-stream) the actual mime type is guessed using the file extension and file content.

  • The person list is now ordered by the displayed titles instead of the internal ids.

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 address book 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.

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.5.2.tar.gz (103.9 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