/[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.3 - (show annotations)
Tue Jan 21 22:06:55 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.2: +13 -5 lines
File MIME type: text/html
+ updated

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

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