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 (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
assign keywords to persons
search for persons by keywords
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 %)
Completely translated into German, and easily translateable into other languages.
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.
Download the source distribution (see Download).
Extract the downloaded file.
Run install.py using your desired python, e. g.:
$ python2.5 install.py
Answer the questions about admin user name, password and so on.
Run the tests. See Run the tests
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.5 install.py ../icemac.addressbook-0.4
Answer the questions about admin user name, password and so on.
Start the new instance of the application.
If you get an error when running the application after updating which looks like:
zope.app.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
Stop the old instance of the application.
Create a backup of the ZODB og the old instance using:
$ bin/backup
Copy the backup directory (var/backups) to the new instance.
Restore the backup into the new instance using:
$ bin/restore
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:
create a new person with an e-mail address using Add person.
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: add 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.4.0 (2010-08-19)
Features
Added user preferences to customize the columns displayed in person list.
Added batching to person list (customizable in the user preferences).
Each table shows its rows in alternating colors.
Other changes
Using Zope Toolkit 1.0a2 instead of managing our own versions of dependent packages.
1.3.0 (2010-03-20)
Feature: Replaced Simple single keyword search by Keyword search which allows to search for multiple keywords concatenated by and or or.
1.2.0 (2010-02-06)
Feature: Added ability to clone a person.
1.1.2 (2010-01-27)
Search result table displayed only 50 entries. Now it displays all search results ordered by name.
1.1.1 (2010-01-25)
Fixed version of icemac.ab.locales.
1.1.0 (2010-01-25)
Features
Added translation to XLS export files.
Added creator, last modifier and modification date metadata to objects.
Bugfixes
When two users are exporting at the same time this could end in broken export files.
On the person edit form:
the the last modification dates of the entries (postal address, phone number etc.) where the one of the person.
the keywords field was not correctly implemented: it was always marked as changed so the a new last modification date on the person was set, even when nothing has been changed.
editing a field of an entry did not change the modification date of this entry but of the person.
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.