Tibor-Attila ANCA writes:
Dieter Kluenter schrieb am 17.01.2005 17:41:
Tibor-Attila ANCA writes:
Hallo Dieter
Dieter Kluenter schrieb am 16.01.2005 20:25:
[...]
Es ist richtig, daß Evolution aus Kompatibilitätsgründen noch LDAPv2
benutzt. In Evolution kann das nicht abgestellt werden, aber OpenLDAP
kann auch LDAPv2 verstehen.
In /etc/openldap/slapd.conf die Zeile
allow bind_v2
einfügen, das ermöglicht es dann auch, daß Mozilla Addressbook die
Adressen lesen kann.
Betrifft denn diese Kompatibilität auch OpenOffice.org (1.1.4), oder
spielt das da keine Rolle
Weiss ich nicht, ich habe OOo noch nicht mit OpenLDAP benutzt.Wenn du
ein Problem hast, schildere das doch mal.
Das Problem ist, dass OOo die eingegebenen Daten nicht richtig aus
OpenLDAP ausliest. Die Datenbankanzeige (wenn man F4 drückt) sieht ja
genau so aus, wie bei der Einbindung von einem Mozilla-Adressbuch, nur
dass Land u.s.w nicht angezeigt werden. Ich habe mal mit der
Einbindung der mozilla.schema in OpenLDAP auch probiert und die darin
definierten "attribute types" verwendet (mozillaHomePostalAddress,
z.B.), funktioniert aber nicht. KMail zeigt bei der Abfrage alles
an. Übrigens, Mozilla zeigt auch nicht alle Datensätze an.
So kann ich kein zentrales Adressbuch mit OpenLDAP verwenden, da für
die Erstellung von Briefen/ Serienbriefen die Felder fehlen. Keine
Ahnung, woran das liegt; ob man OOo auch anders kompilieren kann?
OK, ich habe das Problem verstanden. nachdem ich jetzt in OOo eine
Datenbank als LDAP Directory eingefügt habe, kann ich meine Adressen
mit OOo auslesen. Die Logdatei zeigt mir den die Verbindung mit OOo
an, hier mal ein paar Auszüge zur Verdeutlichung:
do_bind: v2 anonymous bind
do_search
bdb_dn2idl id=55 first=4 last=165
bdb_equality_candidates: (objectclass)
bdb_euality_candidates: id=0,first=0,last=0
presence_candidate (mail)
Die erste Zeile zeigt eindeutig, daß OOo ein annonymous bind
durchführt und hierzu die Prozedur des LDAPv2 benutzt.
Zuerst wird die Suchbasis vorgeben
Danach wird gefragt, wieviel Einträge vorhanden sind, der Eintrag
ou=adressbuch,o=avci,c=de hat die ID=55 und beginnt mit dem Eintrag 4
und endet mit dem Eintrag 165, es sind also 161 Einträge im Adressbuch
enthalten.
Als nächstes wird die Verfügbarkeit einer definierten Objektklasse
geprüft, es wurde leider nicht mitgelogged, welche Objektklasse
gesucht wurde, das Ergebnis war aber negativ, die gesuchte Klasse ist
nicht vorhanden.
Jetzt wird das Attribut mail gesucht und es werden etliche Einträge
ausgegeben, die ich hier nicht weiter dekomentieren möchte.
Danach werden sukzessive alle Attribute abgearbeitet, vermutlich sind
das die Attribute der einzelnen Eiträge, die über das Attribut mail
gefunden wurden, das habe ich nicht mitgelogged.
Es werden aber auch Attribute wie st für Street und l für Location
gesucht und gefunden, aber nicht in OOo angezeigt. Genau das Problem,
das du auch hast.
Jetzt beginnt meine Spekulation und eine Frage an mitlesende OOo
Entwickler.
Das Zeichenformat in LDAP ist immmer und ausschließlich UTF-8, sofern
ASCII Zeichen benutzt werden, ist das auch kein Problem, da beide
Hex-Werte identisch sind. Sofern ein Eintrag 8bit Zeichen enthält,
also z.B. Umlaute, wird der gesamte Zeichenstring als base64 kodierter
String ausgegeben und es ist Aufgabe des Clients, die Zeichen richtig
darzustellen OOo ist anscheinend nicht in der Lage, base64 kodierte
UTF-8 Strings in andere Formate, wie z.B. latin-15 zu wandeln.
Ein kurzes Statement von OOo Entwicklern wäre hier hilfreich.
-Dieter
--
Dieter Klünter | Systemberatung
http://www.dkluenter.de
GPG Key ID:01443B53