/[cvs]/nfo/perl/libs/Data/Transfer/Sync.README.html
ViewVC logotype

Diff of /nfo/perl/libs/Data/Transfer/Sync.README.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Fri Nov 29 05:04:19 2002 UTC revision 1.4 by joko, Sun Feb 9 16:47:41 2003 UTC
# Line 1  Line 1 
1  <HTML>  <HTML>
2  <HEAD>  <HEAD>
3  <TITLE>Data::Storage</TITLE>  <TITLE>Data::Storage::Sync</TITLE>
4  <LINK REV="made" HREF="mailto:">  <LINK REV="made" HREF="mailto:">
5  </HEAD>  </HEAD>
6    
# Line 11  Line 11 
11    
12  <UL>  <UL>
13    
14            <LI><A HREF="#news">NEWS</A></LI>
15            <UL>
16    
17                    <UL>
18    
19                            <UL>
20    
21                                    <LI><A HREF="#20030209  backward compatibility with custom application">2003-02-09  -  backward compatibility with custom application</A></LI>
22                                    <LI><A HREF="#20030118  start integration with torus">2003-01-18  -  start integration with Torus</A></LI>
23                                    <LI><A HREF="#20021010  initial commit">2002-10-10  -  initial commit</A></LI>
24                            </UL>
25    
26                    </UL>
27    
28            </UL>
29    
30          <LI><A HREF="#description">DESCRIPTION</A></LI>          <LI><A HREF="#description">DESCRIPTION</A></LI>
31          <LI><A HREF="#requirements">REQUIREMENTS</A></LI>          <LI><A HREF="#requirements">REQUIREMENTS</A></LI>
32          <LI><A HREF="#authors / copyright">AUTHORS / COPYRIGHT</A></LI>          <UL>
33    
34                    <UL>
35    
36                            <LI><A HREF="#dependencies">dependencies</A></LI>
37                            <LI><A HREF="#additional modules required for 'outlook2ldap'">additional modules required for 'outlook2ldap'</A></LI>
38                            <LI><A HREF="#additional modules required for 'db2db'">additional modules required for 'db2db'</A></LI>
39                    </UL>
40    
41            </UL>
42    
43            <LI><A HREF="#authors / copyright / license">AUTHORS / COPYRIGHT / LICENSE</A></LI>
44          <LI><A HREF="#support / warranty">SUPPORT / WARRANTY</A></LI>          <LI><A HREF="#support / warranty">SUPPORT / WARRANTY</A></LI>
45            <LI><A HREF="#example output chunks">EXAMPLE OUTPUT CHUNKS</A></LI>
46            <UL>
47    
48                    <LI><A HREF="#synchronizing orm objects against entries in a .csv file  17 items modified">Synchronizing orm objects against entries in a .csv file - 17 items modified</A></LI>
49                    <LI><A HREF="#synchronizing orm objects against entries in a .csv file  insync">Synchronizing orm objects against entries in a .csv file - in-sync</A></LI>
50            </UL>
51    
52          <LI><A HREF="#bugs">BUGS</A></LI>          <LI><A HREF="#bugs">BUGS</A></LI>
53          <LI><A HREF="#user level errors">USER LEVEL ERRORS</A></LI>          <LI><A HREF="#user level errors">USER LEVEL ERRORS</A></LI>
54          <UL>          <UL>
# Line 41  Line 75 
75  <HR>  <HR>
76  <P>  <P>
77  <HR>  <HR>
78    <H1><A NAME="news">NEWS</A></H1>
79    <P>
80    <H4><A NAME="20030209  backward compatibility with custom application">2003-02-09  -  backward compatibility with custom application</A></H4>
81    <PRE>
82      - Tangram &lt;-&gt; .csv
83      - Tangram &lt;-&gt; mysql
84      - Tangram &lt;-&gt; perl-code</PRE>
85    <P>
86    <H4><A NAME="20030118  start integration with torus">2003-01-18  -  start integration with Torus</A></H4>
87    <PRE>
88      - MAPI &lt;-&gt; LDAP
89      - please visit <A HREF="http://www.netfrag.org/horde/chora/cvs.php/perl/scripts/outlook2ldap/">http://www.netfrag.org/horde/chora/cvs.php/perl/scripts/outlook2ldap/</A></PRE>
90    <P>
91    <H4><A NAME="20021010  initial commit">2002-10-10  -  initial commit</A></H4>
92    <PRE>
93      - Tangram &lt;-&gt; mysql</PRE>
94    <P>
95    <HR>
96  <H1><A NAME="description">DESCRIPTION</A></H1>  <H1><A NAME="description">DESCRIPTION</A></H1>
97  <P>Data::Transfer::Sync is a module providing a generic synchronization process  <PRE>
98  across arbitrary/multiple storages based on a ident/checksum mechanism.    Data::Transfer::Sync is a module providing a generic synchronization process
99  It sits on top of Data::Storage.</P>    across arbitrary/multiple storages based on a ident/checksum mechanism.
100      It sits on top of Data::Storage.</PRE>
101  <P>  <P>
102  <HR>  <HR>
103  <H1><A NAME="requirements">REQUIREMENTS</A></H1>  <H1><A NAME="requirements">REQUIREMENTS</A></H1>
104    <P>
105    <H3><A NAME="dependencies">dependencies</A></H3>
106    <PRE>
107      from CPAN or (for win32) a ppm-repository:
108        App::Config (CPAN only)
109        Tie::IxHash
110        Log::Dispatch
111        Log::Dispatch::Config
112        mixin
113        Hash::Merge
114        Tie::SecureHash
115        Date::Manip</PRE>
116  <PRE>  <PRE>
117    For full functionality:    from nfo/perl/libs:
118        Data::Compare
119      Data::Storage      Data::Storage
120      Data::Transform      Data::Transform
121      Data::Compare      DesignPattern:: (to be renamed into Class::)
122      ... and all their dependencies</PRE>      ... and all their dependencies.</PRE>
123    <P>
124    <H3><A NAME="additional modules required for 'outlook2ldap'">additional modules required for 'outlook2ldap'</A></H3>
125    <PRE>
126        Win32::OLE
127        Net::LDAP</PRE>
128    <P>
129    <H3><A NAME="additional modules required for 'db2db'">additional modules required for 'db2db'</A></H3>
130    <PRE>
131        DBI
132        DBD::mysql
133        DBD::CSV
134        Tangram</PRE>
135  <P>  <P>
136  <HR>  <HR>
137  <H1><A NAME="authors / copyright">AUTHORS / COPYRIGHT</A></H1>  <H1><A NAME="authors / copyright / license">AUTHORS / COPYRIGHT / LICENSE</A></H1>
138  <P>The Data::Storage module is Copyright (c) 2002 Andreas Motl.  <PRE>
139  All rights reserved.</P>    The Data::Transfer::Sync module is Copyright (c) 2002 Andreas Motl.
140  <P>You may distribute it under the terms of either the GNU General Public    All rights reserved.</PRE>
141  License or the Artistic License, as specified in the Perl README file.</P>  <PRE>
142      Code contributions, suggestions, support and ideas by
143      Sebastian Utz &lt;su@tunemedia.de&gt; and Jan Hoffmann &lt;jan@romain-volk.com&gt;.
144    </PRE>
145    <PRE>
146    
147      You may distribute it under the terms of either the GNU General Public
148      License or the Artistic License, as specified in the Perl README file.</PRE>
149  <P>  <P>
150  <HR>  <HR>
151  <H1><A NAME="support / warranty">SUPPORT / WARRANTY</A></H1>  <H1><A NAME="support / warranty">SUPPORT / WARRANTY</A></H1>
152  <P>Data::Storage is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.</P>  <PRE>
153      Data::Transfer::Sync is free software. IT COMES WITHOUT WARRANTY OF ANY KIND.</PRE>
154    <PRE>
155      Please feel free to contact me at &lt;andreas.motl@ilo.de&gt;.</PRE>
156    <P>
157    <HR>
158    <H1><A NAME="example output chunks">EXAMPLE OUTPUT CHUNKS</A></H1>
159    <P>
160    <H2><A NAME="synchronizing orm objects against entries in a .csv file  17 items modified">Synchronizing orm objects against entries in a .csv file - 17 items modified</A></H2>
161    <PRE>
162      notice: PULL INTO backend NODE * TYPE Country SELECT NODE * TYPE [n/a] FROM base USING MODULE BizWorks::ResourceMapping;
163      notice: OEF::Script::AbstractFeeder:
164          - Loading data of type [n/a] and
165            filtered by * from the storage named base
166            to the storage named backend - filtered by *.
167          - Will attempt to convert the data to Country.
168      info: Data::Transfer::Sync::API-&gt;syncNodes: source=backend/* [Country] &lt;- target=base/* []
169      :c:c:c:c:c:c:c:ctr:c:c:c:c:c:c:c:ctr:c:c:c:c:c:c:ctr:c:ctr:c:c:c:c:c:c:c:c:c:c:c:ctr:c:c:c:ctr:c:c:c:c:c:c:c:ctr:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c
170      :c:c:c:c:c:c:c:c:ctr:c:c:c:c:c:c:c:c:c:c:c:ctr:c:c:c:c:ctr:c:c:c:ctr:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:ctr:ctr:c:c:c:c:ctr:c:c:c:c:c:c:c
171      :c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:ctr:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:ctr:c:c:ctr:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c
172      info: Data::Transfer::Sync::Core-&gt;_startsync: statistics: in_sync: 180  /  total: 197  /  attempt_modify: 17  /  ok: 17</PRE>
173    <P>
174    <H2><A NAME="synchronizing orm objects against entries in a .csv file  insync">Synchronizing orm objects against entries in a .csv file - in-sync</A></H2>
175    <PRE>
176    
177      notice: PULL INTO backend NODE * TYPE Country SELECT NODE * TYPE [n/a] FROM base USING MODULE BizWorks::ResourceMapping;
178      notice: OEF::Script::AbstractFeeder:
179          - Loading data of type [n/a] and
180            filtered by * from the storage named base
181            to the storage named backend - filtered by *.
182          - Will attempt to convert the data to Country.
183      info: Data::Transfer::Sync::API-&gt;syncNodes: source=backend/* [Country] &lt;- target=base/* []
184      :c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c
185      :c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c
186      :c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c:c
187      info: Data::Transfer::Sync::Core-&gt;_startsync: statistics: in_sync: 197  /  total: 197</PRE>
188  <P>  <P>
189  <HR>  <HR>
190  <H1><A NAME="bugs">BUGS</A></H1>  <H1><A NAME="bugs">BUGS</A></H1>
191  <PRE>  <PRE>
192    When in &quot;import&quot; mode for windows file - DBD::AutoCSV may hang.    When in &quot;import&quot; mode for windows file - DBD::AutoCSV may hang.
193    Hint: Maybe the source node contains an ident-, but no checksum column?</PRE>    Hint: Maybe the source node contains an ident-, but no checksum-column?</PRE>
194  <P>  <P>
195  <HR>  <HR>
196  <H1><A NAME="user level errors">USER LEVEL ERRORS</A></H1>  <H1><A NAME="user level errors">USER LEVEL ERRORS</A></H1>
# Line 152  License or the Artistic License, as spec Line 272  License or the Artistic License, as spec
272  <HR>  <HR>
273  <H1><A NAME="todo">TODO</A></H1>  <H1><A NAME="todo">TODO</A></H1>
274  <PRE>  <PRE>
275    - sub _resolveIdentProvider    o sub _resolveIdentProvider
276    - wrap _doModifySource and _doTransferTarget around a core function which can change virtually any type of node    x wrap _doModifySource and _doTransferTarget around a core function which can change virtually any type of node
277    - split this module up into Sync.pm, Sync/Core.pm, Sync/Compare.pm and Sync/Compare/Checksum.pm    x split this module up into Sync.pm, Sync/Core.pm, Sync/Compare.pm and Sync/Compare/Checksum.pm
278       - introduce _compareNodes as a core method and wrap it around methods in Sync/Compare/Checksum.pm    o introduce _compareNodes as a core method and wrap it around methods in Sync/Compare/Checksum.pm
279    - introduce Sync/Compare/MyComparisonImplementation.pm    x introduce Sync/Compare/MyComparisonImplementation.pm
280    - some generic deferring method - e.g. &quot;$self-&gt;defer(action)&quot; - to be able to accumulate a bunch of actions for later processing    o some generic deferring method - e.g. &quot;$self-&gt;defer(action)&quot; - to be able to accumulate a bunch of actions for later processing
281       - this implies everything done is _really_ split up into generic actions - how else would we defer them???       - this implies everything done is _really_ split up into generic actions - how else would we defer them???
282       - example uses:       - example uses:
283          - fetch whole checksum list from node          - fetch whole checksum list from node
284          - remember source ident retransmits          - remember source ident retransmits
285       - remember: this is convenient - and maybe / of course faster - but we'll loose &quot;per-node-atomic&quot; operations       - remember: this is convenient - and maybe / of course faster - but we'll loose &quot;per-node-atomic&quot; operations
286    - feature: mechanism to implicit inject checksum property to nodes (alter table / modify schema)    o feature: mechanism to implicit inject checksum property to nodes (alter table / modify schema)
287    - expand statistics / keep track of:    o expand statistics / keep track of:
288      - touched/untouched nodes      - touched/untouched nodes
289    - full sync    o full sync
290      - just do a push and a pull for now but use stats for touched nodes in between to speed up things      - just do a push and a pull for now but use stats for touched nodes in between to speed up things
291    - introduce some new metadata flags for a synchronization partner which is (e.g.) of &quot;source&quot; or &quot;target&quot;:    o introduce some new metadata flags for a descent
292      - isNewNodePropagator      - isNewNodePropagator
293      - isWriteProtected</PRE>      x isWriteProtected</PRE>
294    
295  </BODY>  </BODY>
296    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

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