/[cvs]/nfo/perl/scripts/outlook2ldap/libs/Torus.README.html
ViewVC logotype

Contents of /nfo/perl/scripts/outlook2ldap/libs/Torus.README.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Sun Jan 19 07:45:05 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
File MIME type: text/html
+ initial check-in

1 <HTML>
2 <HEAD>
3 <TITLE>Torus</TITLE>
4 <LINK REV="made" HREF="mailto:">
5 </HEAD>
6
7 <BODY>
8
9 <A NAME="__index__"></A>
10 <!-- INDEX BEGIN -->
11
12 <UL>
13
14 <LI><A HREF="#name">NAME</A></LI>
15 <LI><A HREF="#description">DESCRIPTION</A></LI>
16 <LI><A HREF="#news">NEWS</A></LI>
17 <UL>
18
19 <UL>
20
21 <UL>
22
23 <LI><A HREF="#20030118 initial checkin">2003-01-18 - initial check-in</A></LI>
24 </UL>
25
26 </UL>
27
28 </UL>
29
30 <LI><A HREF="#requirements">REQUIREMENTS</A></LI>
31 <LI><A HREF="#authors / copyright">AUTHORS / COPYRIGHT</A></LI>
32 <LI><A HREF="#contributors">CONTRIBUTORS</A></LI>
33 <LI><A HREF="#support / warranty">SUPPORT / WARRANTY</A></LI>
34 <LI><A HREF="#bugs">BUGS</A></LI>
35 <LI><A HREF="#todo">TODO</A></LI>
36 <LI><A HREF="#ideas">IDEAS</A></LI>
37 </UL>
38 <!-- INDEX END -->
39
40 <HR>
41 <P>
42 <HR>
43 <H1><A NAME="name">NAME</A></H1>
44 <P>Torus</P>
45 <P>
46 <HR>
47 <H1><A NAME="description">DESCRIPTION</A></H1>
48 <PRE>
49 Torus is a module to ease migration from Outlook.</PRE>
50 <PRE>
51 Torus uses CPAN's Win32::OLE to access Microsoft's MAPI locally and
52 CPAN's Net::LDAP to connect to a remote OpenLDAP-server (slapd).</PRE>
53 <PRE>
54 Access to these storage-implementations is wrapped via Data::Storage.
55 Core functionality of Torus is currently provided from Data::Transfer::Sync.</PRE>
56 <PRE>
57 We are starting with Contacts/Adresses, will go along with Messages,
58 Calendar-Items and Journaling-Features.
59 The &quot;rest&quot; should be able to be modeled and implemented on top of this.</PRE>
60 <PRE>
61 This is more a reference implementation than anything actually useful. ;-)
62 You'll also like to take a look at:
63 - Kroupware Project: <A HREF="http://kroupware.kde.org">http://kroupware.kde.org</A>
64 - Outlook Connector Project: <A HREF="http://otlkcon.sourceforge.net">http://otlkcon.sourceforge.net</A>
65 - bynari InsightConnector: <A HREF="http://bynari.net/index.php?id=7">http://bynari.net/index.php?id=7</A></PRE>
66 <P>
67 <HR>
68 <H1><A NAME="news">NEWS</A></H1>
69 <P>
70 <H4><A NAME="20030118 initial checkin">2003-01-18 - initial check-in</A></H4>
71 <P>
72 <HR>
73 <H1><A NAME="requirements">REQUIREMENTS</A></H1>
74 <PRE>
75 Win32::OLE
76 Net::LDAP
77 Data::Storage
78 Data::Transfer::Sync
79 ... and all their dependencies</PRE>
80 <P>
81 <HR>
82 <H1><A NAME="authors / copyright">AUTHORS / COPYRIGHT</A></H1>
83 <PRE>
84 The Data::Storage module is Copyright (c) 2002 Andreas Motl.
85 All rights reserved.</PRE>
86 <PRE>
87 You may distribute it under the terms of either the GNU General Public
88 License or the Artistic License, as specified in the Perl README file.</PRE>
89 <P>
90 <HR>
91 <H1><A NAME="contributors">CONTRIBUTORS</A></H1>
92 <PRE>
93 Jan Hoffmann &lt;jan@romain-volk.com&gt;
94 Sebastian Utz &lt;s.utz@tunemedia.de&gt;</PRE>
95 <P>
96 <HR>
97 <H1><A NAME="support / warranty">SUPPORT / WARRANTY</A></H1>
98 <PRE>
99 Data::Storage is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.</PRE>
100 <P>
101 <HR>
102 <H1><A NAME="bugs">BUGS</A></H1>
103 <P>
104 <HR>
105 <H1><A NAME="todo">TODO</A></H1>
106 <PRE>
107 - outlook2ldap - essential modules:
108 - Net::LDAP
109 - Convert::ASN1 / BER1
110 - Unicode::String
111 - MIME::Base64
112 o use setup.pm with autoinstall, use ExtUtils::MakeMaker and/or h2xs
113 x extend logging/debugging-output (logfiles below log/)
114 o enhance mapping through expressions
115 o provide multiple use of same fields
116 o provide mechanism to concatenate fields
117 --&gt; see etc/_future!
118 o make integrated setup
119 o provide gui(s)
120 o development (create mappings and stuff (testing, ...))
121 o productive use (control sync-processing at a central console)
122 o little hotsync-button (iconbar bottom-right) which provides some actions and some configuration-settings (put ACLs on these settings?)
123 o move libs/Torus to nfo-modules, exclude various metadata needed to actually sync with ldap and mappings (csv-files)
124 o provide example to sync with mysql/Tangram/mbox/...
125 o integrate genSchema.pl
126 o regeln:
127 o 3.spalte in outlook_ole_fields.csv: für &quot;genSchema.pl&quot;
128 o wenn 2.spalte und/oder 3. leer, dann wird kein mapping gemacht (genSchema sowieso nicht)
129 --&gt; see etc/_future!
130 +- beliebige outlook-ordner zu ldap-ou's mappen
131 + fest deklarierte (level 1)
132 o tief referenzierte (level X) (!!!) (backup-&gt;Addressen-&gt;XYZ - Addressen)
133 o daten &quot;rückwärts&quot; übertragen!
134 + bugfix: utf8
135 o mapping aufbohren (csv -&gt; xml) - integrate &quot;schema&quot;-property _per-field_!!!
136 o have the engine use this
137 o maybe provide cross-checks
138 --&gt; see etc/_future!
139 o clean-up debugging (levels)
140 + debugging-level does not work when error occours in Net::LDAP::Entry while adding...
141 + display MAPI-object as hash
142 o transfer statistics
143 o zugriff auf outlook ohne rückfrage gewähren?
144 o v.a. wichtig, wenn integrierter zugriff (z.b. durch outlook-plugin) stattfindet
145 + verwenden _aller_ attribute, die mit einem address-eintrag assoziiert sein können?
146 + mileage (reisekilometer) kommt!
147 + bis dato unbekannte mapi-felder sollten nun auch verwendet werden können
148 o declare folder-mapping inside xml-file
149 o check-before-delete doesn't seem to work (again!)
150 o make basedn configurable
151 o introduce host-to-basedn-mapping
152 o provide additional fallback basedn
153 o maybe additional permissions for folder-autocreation
154 o rework regexes in Torus::Driver::ldap
155 o spaces in ou's?
156 o utf8-encoding for dn's in ou's
157 o also in other property-names (besides the attributes)?!
158 o ä, ö, ü
159 o Insight:
160 o cclient.dll
161 o InsightConnector.dll
162 o folder-mapping
163 o leerzeichen (non-word-chars) do not work inside foldernames
164 o regex fails:
165 o introduce some &quot;highlevel-splitting&quot; of ldap-addresses
166 o fix problems occoured 2003-01-06/07 @barschwaechter: rules, access to mapi, etc. (see email)
167 + syncOutlookContacts.pl --mapidump
168 + provide better workflow for development phase(s)
169 + configurable debugging
170 + configurable tracing
171 o do a _true_ sync! (no delete/add)
172 o handle folder-mapping/-creation completely _before_ continuing with single entries
173 o create non-existant and stuff....
174 o timestamp log-entries
175 o add fieldname-context to ldap_errors.log
176 o regeln für cn/dn - build
177 o wenn &quot;sn&quot; gesetzt, dann nimm &quot;sn&quot; als &quot;cn&quot;
178 o wenn &quot;givenname&quot; gesetzt, dann füge zu &quot;cn&quot; hinzu (bisheriger &quot;build&quot;-Vorgang)
179 o wenn &quot;sn&quot; leer, dann nimm stattdessen &quot;FileAs&quot; als &quot;cn&quot; und ab [Debug Level=1]info
180 o wenn &quot;FileAs&quot; leer, dann nimm stattdessen &quot;FirstName&quot; und ab [Debug Level=1]info
181 o wenn &quot;FirstName&quot; leer, dann nimm stattdessen &quot;CompanyName&quot; und ab [Debug Level=1]info
182 else ab [Debug Level=1] Warn:
183 &quot;Couldn't build DN/CN cause neighter SN/FileAs/FirstName/CompanyName does exist.&quot; (Should not happen).
184 o collision checks!!!
185 o convert date-fields
186 o detect must-not-have characters in dn:
187 + replace &quot;+&quot; through &quot;&amp;&quot;
188 o replace &quot;,&quot; through &quot;&quot; [Kill]
189 o replace &quot;ô&quot; through &quot;&quot; [to UTF8]
190 o enhance mechanisms to talk to OLE:
191 o use &quot;-&gt;EnumAllObjects&quot;
192 o use &quot;-&gt;FreeUnusedLibraries&quot;
193 o use &quot;-&gt;LastError&quot;
194 o encode &quot;dn&quot; with utf8
195 o &quot;member&quot; is empty!!!
196 o free resources while processing
197 o Outlook (OLE)
198 o Perl (Variables, Objects)
199 o LDAP-Server (Handle)
200 </PRE>
201 <PRE>
202
203 + integration with Data::Storage and Data::Transfer
204 + thrown away &quot;L:&quot; and &quot;R:&quot; o declarations for/in Data::Transfer::Sync
205 o split 'syncOutlookContacts.ini' into 'torus.ini' and 'outlook2ldap.ini'
206 o 'syncOutlookContacts.pl' reads 'outlook2ldap.ini' and runs 'feed.pl'
207 + Data::Transfer::Sync now utilizes DesignPattern::Object and DesignPattern::Bridge</PRE>
208 <PRE>
209
210 o for Horde:
211 o helper: some kinda &quot;genSchema.pl&quot;
212 o app: LDAP-Browser</PRE>
213 <P>
214 <HR>
215 <H1><A NAME="ideas">IDEAS</A></H1>
216 <PRE>
217 o acl based permissions (use Data::ACL?)
218 o combine Torus::Xyz with Device::Xyz somehow?
219 o assure published stuff contains no client-specific informations (HMI, ...)
220 o CPAN's AppConfig is still needed for now (could this be changed? e.g. using App::Config?)
221 o if not, just include it below &quot;libs&quot; or install &quot;nmake&quot; (through integrated setup) before configuring CPAN
222 (if you already have, do &quot;perl -MCPAN -eshell&quot; and &quot;o conf init&quot; to redo configuration)
223 o rework folder-mapping to use xml
224 o rework field-mapping to use xml (Data::Transfer::Sync!)
225 o rework declaration of while-transfer-rules and after-transfer-patches to xml
226 o example of a &quot;while-transfer-rule&quot;
227 o build &quot;dn&quot; from &quot;cn/sn&quot;
228 o must have &quot;sn&quot;
229 o if no &quot;sn&quot; given, just use &quot;Vorname&quot;
230 o don't allow some special characters inside &quot;dn&quot;: '+' seems to get translated to '&amp;' at somewhere in code
231 o example of a &quot;after-transfer-patch-rule&quot;
232 o copy contents of field &quot;x&quot; to field &quot;y&quot; to nivelate(?) access from ldap-query-engines we don't have access to! (the source!)
233 (e.g. query-/search-engines in commercial products like &quot;MS Outlook 2000|2002|Express&quot;,
234 which also don't have _any_ mechanism to parametrize them)
235 o write papers about networking (computers _and_ small/embedded/electronic devices (atmel, c-control))
236 o janosch: how to control arbitrary devices via personal computers _and_ standalone circuits in parallel!
237 (using Device::SerialPort and Conrad C-Control together)
238 o implement infrastructure(s)
239 o actually handle folders (check, autocreation) completely _before_ starting to sync/process items/entries!
240 o provide easy-to-access shell-interface to LDAP (e.g. via Xyz::Xyz or (maybe later) &quot;oedit.pl&quot;)
241 o this removes the need for the currently used Java-based Ldap-Client (which will stay more comfortable - of course)
242 o navigate via &quot;cd&quot; through containers, show items/entries via (e.g.) &quot;dump&quot;(?) and stuff...
243 ... the interactive feeling/behaviour is similar to navigating in a filesystem via a commandline-interface (CLI)
244 o sum up &quot;must-have&quot; features of known synchronization-tools for (e.g.) ...
245 o s25@once
246 o siemens custom sync (S45Sync.exe?)
247 o Nokia Communicator
248 o SyncML (it's not a device from a manufacturer, it's actually a XML-standard) -&gt; sync4j@sourceforge
249 o use news (the nntp-protocol) for journalling-functionality
250 o have mapping stored inside ldap as well</PRE>
251
252 </BODY>
253
254 </HTML>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed