PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kolab-Adressen (IMAP) in LDAP syncronisieren



pixel
01.03.08, 09:41
Hallo zusammen,

ich betreibe einen Kolab-Groupware-Server und dieser speichert die Kontakte ja in IMAP. Ich benötige diese Kontakte jedoch zusätzlich im LDAP. Von Kolab-Seite gibt es hierfür keinen Ansatz (laut Mailingliste). Das es prinipiell geht zeigt der Univention-Enterprise-Server. Dieser weist genau diese funktionalität auf. Gibt es für Linux ein Kommandozeilen-Tool das mir aus IMAP-Adressen LDAP-Einträge macht? Dann könnte ich mir selbst ein Skript erstellen.

Viele Grüße
pixel

cane
01.03.08, 11:21
Hmm, ich bin mir eigentlich sicher das Kolab das globale Adressbuch im LDAP vorhält.

Was genau liegt jetzt im LDAP, was in IMAP Boxen?
Was für ein Format wird für die Mailboxen bei dir verwendet - Maildir?

Wenn Maildir könnte man etwas in der Richtung tun:

- Jede Mail von User X parsen - schauen ob es ein Kontakt ist
- Wenn Kontakt die einzelnen Felder in Variablen speichern
- diese Variablen per slapadd in den LDAP Tree von User X pumpen

mfg
cane

pixel
01.03.08, 15:18
Hmm, ich bin mir eigentlich sicher das Kolab das globale Adressbuch im LDAP vorhält.
Nein, Kolab speichert nur die Userdaten im LDAP, nicht die Kontakte. Das war wohl unter Kolab-1.x der Fall.


Was genau liegt jetzt im LDAP,
die User

was in IMAP Boxen?
die Kontakte

Was für ein Format wird für die Mailboxen bei dir verwendet - Maildir?
Für die Arbeitsgruppen-Ordner wird maildir verwendet.


Wenn Maildir könnte man etwas in der Richtung tun:

- Jede Mail von User X parsen - schauen ob es ein Kontakt ist
- Wenn Kontakt die einzelnen Felder in Variablen speichern
- diese Variablen per slapadd in den LDAP Tree von User X pumpen

Jede Mail muss ich nicht paren da alle Kontakte in kla definierten IMAP-Ordnern liegen. Dort liegt immer eine Mail mit einem Anhang namens Kolab.xml. Dort steht alles drin:

<?xml version="1.0" encoding="UTF-8"?>
<contact version="1.0" >
<product-id>KAddressBook 3.3, Kolab resource</product-id>
<uid>dm2t0UHE2v</uid>
<categories>Interessent abgelegt</categories>
<creation-date>2007-09-13T20:14:12Z</creation-date>
<last-modification-date>2007-10-15T10:13:36Z</last-modification-date>
<sensitivity>public</sensitivity>
<name>
<given-name>Vorname</given-name>
<last-name>Nachname</last-name>
<full-name>Vorname Nachname</full-name>
<prefix>Herr</prefix>
</name>
<web-page>http://www.seinedomain.eu</web-page>
<phone>
<type>business2</type>
<number>+497221123456</number>
</phone>
<phone>
<type>mobile</type>
<number>+4917034567</number>
</phone>
<email>
<display-name>Vorname Nachname</display-name>
<smtp-address>vorname.nachname@seinedomain.eu</smtp-address>
</email>
<address>
<type>home</type>
<x-kde-type>16</x-kde-type>
<street>Musterstrasse 5</street>
<locality>Musterhausen</locality>
<region>Baden-Württemberg</region>
<postal-code>77836</postal-code>
<country>Deutschland</country>
</address>
<preferred-address>home</preferred-address>
</contact>
Die Frage ist nun ob es ein Tool gibt um aus dieser Kolab.xml einen LDIF-Eintrag zu erstellen damit ich diesen in den LDAP schreiben kann. Ich kann mir irgendwie nicht vorstellen das die Kolab-Entwickler sowas nicht vorgesehen haben da ja eigentlich kein Programm (Nicht-Kolab-Clients) mit Kontakt-Daten in IMAP umgehen kann. Auf der ML erhalte ich zu dieser Frage leider seit zwei Wochen nichteinmal ansatzweise eine Lösung.

Viele Grüße
pixel

cane
01.03.08, 16:31
Von wievielen Usern / Kontakten reden wir?
Soll einmalig gesynt werden oder regelmässig?

Manuelle Idee: Hiermit bekommst Du die Kolab-Kontakte in den Thunderbird gezogen, dann kannst Du diese mit Thunderbird in den LDAP schreiben:

http://www.gargan.org/extensions/synckolab.html
http://lifehacker.com/software/thunderbird/geek-to-live--sync-your-address-book-via-imap-239054.php

Ansonsten sollte es auch nicht schwer sein die paar Felder die Kolab hat zu mit einem Script zu parsen und in den LDAP zu stopfen.

mfg
cane

pixel
06.03.08, 09:32
Den Umweg über den Mail-Client hatt ich schon. Allerdings mit Kontact. Ich benötige das jedoch automatisch da die Kontaktdaten ständig erweitert und verändert werden und das von mehreren Usern.

Ein Syncronisation-Server wie z.B. http://www.funambol.com wäre das richtige. Laut Dokumentation kann der aber nur mit Kolab1 umgehn. Ich werde mal weiter suchen. Ich denke noch immer das es evtl. ein Linux-Tool für die Shell gibt mit welchen ich die IMAP-Kontakte als LDIF auslesen kann. Dann würde ich alle Stunde ein Skript laufen lassen welches die Daten in den LDAP schreibt.

cane
06.03.08, 11:35
Wenn Du bereit bist dafür zu zahlen wende dich ruhig mal an Funambol.

Sehr kompetente Jungs, wir haben mit denen zusammen die Funambol-Mailxchange Anbindung gemacht die z.B. 1&1 benutzt...

mfg
cane