- all (sql) accounts have now allways a contact associated with them (account_id is added as new column to the contacts table)
- contacts queries are simplefied a lot now, as no more join with the accouns-table, union and case when statesments are necessary
- lot of the special handling for accounts in the contacts class is no longer needed
- new contact-repository mode "sql-ldap" which additional writes all changes to the ldap repository, to allow to use it read-only from eg. thunderbird and still have the full sql speed and features within eGW (not yet fully working!)
==> requites update of API and addressbook to work (setup!)
- prevent deleting of own account (as in admin)
- return for accounts account_id and _lid as the sql class does
- do not redirect to admin.uiaccounts.delete_user if no account_id set, as I deletes the current user ;-)
- addressbook now supports contacts in SQL and accounts in LDAP
- added supported objectClasses and a README in new doc dir
- ldap::quote() against LDAP query injection
- got jpegphoto in LDAP working (they are binary)
- we support now mozillaAbPersonAlpha and the older mozillaOrgPerson schema, beside inetOrpPerson and evolutionPerson
- added sorting, letter-search and limited result sets for LDAP
still missing is to disable the organisation stuff in the UI for LDAP
- search for (not yet working) extended search is called now ex_search (will be replaced by search)
- some parameter cleanups
- some changes for the new API contacts class, which just extends the bocontacts class of addressbook
- User accounts are an own addressbook now
- every user and group (can) have an own addressbook
- for groups the accessrights no longer depend on the creator
- new acl for adding into an addressbook
- all addressbooks can be displayed together (eg. accounts mixed with personal and group AB's)
- some useful new fields (photo, private cellphone, ...) and some obscure ones have been removed
- db update puts all contacts in the owners personal addressbook (further manual migration tools will follow), thought the UI already allows to mass-move them into a group-addressbook
- group addressbooks in SQL are created by making a group-grant for addressbook (like filemanger)
- Warning: all import/export/xmlrpc/syncml stuff and other apps accessing the addressbook is broken until the contacts class in the API gets fixed!
- it depends on further updates of etemplate, phpgwapi, admin!
==> it's pretty cool (specialy the foto's), but NOT ready for a production server !!!
Admin can now define multiple addressbooks each with an own edit / view template and an own icon.
Atm. all Addressbooks are stored in one backend, but this will change soon^tm
- db stores now server-time as everywhere in eGW
- contacts-class in the api and bocontacts in addressbook take and deliver user-time
- xmlrpc gives user-time as the other apps too
- customfields could not be saved if the name contained eg. upper case letters
- using the user-defined title from the field and not generate one from the name
- removed all tab-indexes, as the default order is inutitive (with the one-column layout we us now)
- added missing copied by note (as link now and no longer a note)
[ 996794 ] Custom field can not be deleted.
[ 1029059 ] Delete user fields
[ 1154738 ] Customer fields contain UTF-8 works could not be deleted.
The problem is due to, some specail characters, e.g, utf-8 chars, are url-encoded for generationg the url, but are not decoded when trying to delete them.
HTML-formated Errors (see below) are returned instead of well formed XML.
Is this already solved in a later Version of eGroupware or is this a special
setting that causes this behaviour ?
kontact: ERROR: Result: <br />
<b>Warning</b>: Invalid argument supplied for foreach() in
<b>/home/httpd/localhost/htdocs/egroupware/addressbook/inc/c
lass.boaddressbook.inc.php</b> on line <b>392</b><br />