/[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.4 - (show annotations)
Wed Nov 10 08:19:53 2004 UTC (19 years, 7 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +114 -104 lines
File MIME type: text/html
U obfuscated email addresses

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

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