<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C48F46.0E22F070">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:ApplyBreakingRules/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:UseFELayout/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:\5B8B\4F53;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;
        mso-font-charset:0;
        mso-generic-font-family:swiss;
        mso-font-pitch:variable;
        mso-font-signature:536871559 0 0 0 415 0;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:SimSun;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:Verdana;
        mso-fareast-font-family:SimSun;
        mso-bidi-font-family:"Times New Roman";
        color:blue;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 72.75pt 70.85pt 72.75pt;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */ 
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=FR link=blue vlink=purple style='tab-interval:35.4pt'>

<div class=Section1>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'>Hello,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span>In the previous versions of <span
class=SpellE>Zope</span> (<span class=GramE>like :</span> 2.4.2); I used two <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span></span><span class=SpellE>external</span>
<span class=SpellE>methods</span> to make entire backup and restore of all the<o:p></o:p></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>Zope
documents, see : the source script and procedure below.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span>Now, I install <span class=SpellE>Zope</span>
2.7.2 and then add my two external methods as<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span><span class=GramE>usual</span> to
restore all my applications from the previous version (2.4.2).<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span></span><span class=SpellE>It</span> <span
class=SpellE>works</span> <span class=SpellE>very</span> well but when I try to
use the backup method I<o:p></o:p></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>receive
the following error :<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp; </span><b><span style='font-weight:
bold'>&#8220;</span></b><i><span style='font-style:italic'>Attempt to store an
object from a foreign database connection<b style='mso-bidi-font-weight:normal'><span
style='font-weight:bold;mso-bidi-font-weight:normal'>&#8221;</span></b>&nbsp;<o:p></o:p></span></i></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span>Is it a bug or some modified
functionality of <span class=SpellE><span class=GramE>Zope</span></span><span
class=GramE> ?</span> <span style='mso-spacerun:yes'>&nbsp;</span>Somebody
could <br>
<span style='mso-spacerun:yes'>&nbsp; </span>guide <span class=GramE>me ?</span>
<span style='mso-spacerun:yes'>&nbsp;</span><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span>Thierry<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span><span class=SpellE>Thierry.Goyvaerts@skynet.be</span><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span><b><span style='font-weight:bold'>Procedure
to install and use the full backup/restore <span class=GramE>methods :</span><o:p></o:p></span></b></span></font></p>

<p class=MsoPlainText><b><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US;font-weight:bold'><o:p>&nbsp;</o:p></span></font></b></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span lang=EN-US
style='font-size:10.0pt;mso-ansi-language:EN-US'><span
style='mso-spacerun:yes'>&nbsp; </span>Create a module, <span class=SpellE>backup.py</span>,
</span><span class=SpellE>with</span> <span class=SpellE>the</span> contents of
the source<o:p></o:p></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>(given in
the tied code file) within the Extensions directory of your <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;
</span>e-Solution instance.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>Create
two external methods, &quot;restore&quot; and &quot;backup&quot; in your root<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>folder by
pointing them at Extensions/backup.py -&gt; restore<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>and
Extensions/backup.py -&gt; backup.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>After
creating the two external methods, protect each of them <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>with a
management-level permission.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>To back
up your e-Solution, visit the &quot;test&quot; tab of the backup <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span><span
class=GramE>external</span> method. A file named
&quot;e-Solution_backup.zexp&quot; will be <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;
</span>downloaded to your local machine via your browser. <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>To
restore your e-solution, place the &quot;e-Solution_backup.zexp&quot; <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>file in
the &quot;import&quot; directory of your e-Solution instance, and <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>press the
&quot;test&quot; tab of the restore external method. Be careful, <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>this
overwrites anything that exists with the same name.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>Note that
the &quot;zexp&quot; file created by 'backup' may not successfully<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>be
imported using the standard import feature, it needs to be<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp; </span>imported
via the &quot;restore&quot; external method.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><b><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt;font-weight:bold'><span style='mso-spacerun:yes'>&nbsp;
</span>Source file Extensions\backup.py :<o:p></o:p></span></font></b></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>import Globals<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>import os<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>from Acquisition import aq_base<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>from cStringIO import StringIO<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>from Globals import MessageDialog<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>from ZODB.PersistentMapping import PersistentMapping<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>def backup(self, REQUEST=None, download=1,
filename='e-Solution_backup.zexp'):<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>&quot;&quot;&quot; saves backup file to var or allows download of backup
file&quot;&quot;&quot;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span><span class=GramE>if</span> download:<span
style='mso-spacerun:yes'>&nbsp; </span><span class=GramE>f</span> = StringIO()<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>else:<span style='mso-spacerun:yes'>&nbsp; </span><span class=GramE>f</span>
= os.path.join(Globals.data_dir, filename)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>self.c = PersistentMapping()<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span><span class=GramE>for</span> k, v in self.objectItems():<span
style='mso-spacerun:yes'>&nbsp; </span>self.c[k] = aq_base(v)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>get_transaction().commit()<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>self.c._p_jar.exportFile(self.c._p_oid, <span class=GramE>f</span>)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>del self.c<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>if download:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>REQUEST.RESPONSE.setHeader('Content-type', 'application/data')<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>REQUEST.RESPONSE.setHeader('Content-Disposition',<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>'<span class=GramE>inline</span>;filename=%<span class=GramE>s' %</span>
filename)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>return f.getvalue()<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>else:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>return MessageDialog(<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>title=&quot;e-Solution backed up successfully&quot;,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>message=&quot;&lt;EM&gt;All items in root&lt;/EM&gt; sucessfully\<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>exported to &lt;pre&gt;%s&lt;/pre&gt;.<span class=GramE>&quot;</span> % <span
class=GramE>f</span>,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>action=&quot;manage_main&quot;<span class=GramE>)</span><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'>def restore(self, REQUEST=None, filename='e-Solution_backup.zexp'):<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>&quot;&quot;&quot; restores backup file from 'import' <span class=GramE>&quot;</span>&quot;&quot;<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>dirname, file=os.path.split(filename)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>if dirname:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>raise 'Bad Request', 'Invalid file name %<span class=GramE>s' %</span>
filename<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>instance_home = INSTANCE_HOME<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>software_home = os.path.join(SOFTWARE_HOME, '<span class=GramE>..</span>%s..'
% os.sep<span class=GramE>)</span><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>software_home = os.path.normpath(software_home)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>for impath in (instance_home, software_home):<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>filepath = os.path.join(impath, 'import', filename)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
os.path.exists(filepath):<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>break<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>else:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>raise 'Bad Request', 'File does not exist: %<span class=GramE>s' %</span>
filename<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>conn = self._p_jar<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>ob = conn.importFile(filepath)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>for k, v in ob.items():<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>try:
self._delObject(k)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
class=GramE>except</span> AttributeError: pass<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>self._setObject(k, v)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;
</span>return MessageDialog(<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>title=&quot;e-Solution restored successfully&quot;,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>message=&quot;All items from &lt;EM&gt;%s&lt;/EM&gt; sucessfully\<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>imported into &lt;pre&gt;root&lt;/pre&gt;.&quot; % filepath,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 color=blue face=Verdana><span
style='font-size:10.0pt'><span
style='mso-spacerun:yes'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>action=&quot;manage_main&quot;<span class=GramE>)</span><o:p></o:p></span></font></p>

</div>

</body>

</html>