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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide 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 joko 1.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