Changes To Cookbook
Not logged in

Changes to "Cookbook" between 2010-04-11 08:47:40 and 2010-07-07 09:21:40

    17     17       <ul>
    18     18         <li><a href="#tinymce">TinyMCE</a></li>
    19     19         <li><a href="#markitup">markitup!</a></li>
    20     20       </ul>
    21     21     </li>
    22     22     <li><a href="#ticket-checkin-links">Link tickets to checkins</a></li>
    23     23     <li><a href="#th1-usage">Fossil and Th1</a></li>
           24  +  <li><a href="#versionCompressed">Versioning compressed files</a></li>
    24     25   </ul>
    25     26   
    26     27   <h2><a name="CGI">Using <cite>Fossil</cite>'s Built-In CGI</a></h2>
    27     28   <h3>Motivation</h3>
    28     29     *  You want to share a repository through your existing web infrastructure.
    29     30     *  You want to share more than one repository at the same time.
    30     31   
................................................................................
   889    890     <h3>Caveats</h3>
   890    891   
   891    892     <ul compact='compact'>
   892    893       <li>puts "[hello hello]" doesn't work because [ triggers the
   893    894       interpeter, use puts "&amp;#91hello hello]'</li>
   894    895     </ul>
   895    896   </nowiki>
          897  +</div>
          898  +<div>
          899  +  <h2><a name="versionCompressed">Versioning compressed files</a></h2>
          900  +  <h3>Goal</h3>
          901  +  <p>Some file formats are actually zip archives containing text files. For
          902  +  example Microsoft Office 2007 and newer use docx, xlsx and pptx extensions to
          903  +  store what is merely xml files zipped into a file.</p>
          904  +  <p>When edits are made to such files a versioning system is not efficient
          905  +  because diffing is no more appropriate</p>
          906  +  <p>The idea is to version the decompressed folder. A script will toggle
          907  +  Compressed/Uncompressed state</p>
          908  +  <h3>Sample batch script for use with docx, xlsx and pptx documents</h3>
          909  +  <p>This script is useful under Windows. It requires zip.exe and unzip.exe
          910  +  that you can find for example in gnuwin32 ([http://getgnuwin32.sf.net]).</p>
          911  +  <p>You have three variables to set. Running this script will</p>
          912  +  <ul compact='compact'>
          913  +    <li>Autodetect whether the document is in compressed or uncompressed
          914  +    state</li>
          915  +    <li>Convert file My_document.docx to a folder named My_document.docx too</li>
          916  +    <li>Rename file <nowiki>[Content_Types]</nowiki>.xml to a name without
          917  +    brackets (brackets in file names are not supported by Fossil)</li>
          918  +    <li>Convert back My_document.docx to file My_document.docx
          919  +  </ul>
          920  +  <p>In this way you can work on a docx document, run the script, insert the
          921  +  uncompressed folder into fossil and run the script again to get your document
          922  +  back in editable state.</p>
          923  +  <pre>
          924  +<font color="#808080">&nbsp;1 </font><font color="#3a5fcd"><i>:: toggle docx state (compressed / uncompressed)</i></font><br />
          925  +<font color="#808080">&nbsp;2 </font><font color="#3a5fcd"><i>:: @echo off</i></font><br />
          926  +<font color="#808080">&nbsp;3 </font><br />
          927  +<font color="#808080">&nbsp;4 </font><font color="#8b4726">SET</font><font
          928  +color="#8b4726">&nbsp;DOCX</font><font
          929  +color="#8b4726"><b>=</b></font>My_document.docx<br />
          930  +<font color="#808080">&nbsp;5 </font><font color="#8b4726">SET</font><font
          931  +color="#8b4726">&nbsp;TMPFILE</font><font
          932  +color="#8b4726"><b>=</b></font>tmp_version_compressed_archive.zip<br />
          933  +<font color="#808080">&nbsp;6 </font><font color="#8b4726">SET</font><font color="#8b4726">&nbsp;CMDZIP</font><font color="#8b4726"><b>=</b></font><font color="#228b22">&quot;P:\bin\zip.exe&quot;</font><br />
          934  +<font color="#808080">&nbsp;7 </font><font color="#8b4726">SET</font><font color="#8b4726">&nbsp;CMDUNZIP</font><font color="#8b4726"><b>=</b></font><font color="#228b22">&quot;P:\bin\unzip.exe&quot;</font><br />
          935  +<font color="#808080">&nbsp;8 </font><br />
          936  +<font color="#808080">&nbsp;9 </font><font color="#3a5fcd"><i>:: check whether it is in a directory or file state</i></font><br />
          937  +<font color="#808080">10 </font><font color="#8b4726"><b>if</b></font><font color="#8b4726"><b>&nbsp;exist</b></font>&nbsp;<font color="#8b4726">%TEMP%</font>\<font color="#8b4726">%TMPFILE%</font>&nbsp;<font color="#8b4726">del</font>&nbsp;<font color="#27408b">/q</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font><br />
          938  +<font color="#808080">11 </font><font color="#8b4726"><b>if</b></font><font color="#8b4726"><b>&nbsp;exist</b></font>&nbsp;<font color="#8b4726">%DOCX%</font>\NUL (<br />
          939  +<font color="#808080">12 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>call</b></font><font color="#8b4726"><b><u>&nbsp;:zip_directory</u></b></font><br />
          940  +<font color="#808080">13 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          941  +<font color="#808080">14 </font>)<br />
          942  +<font color="#808080">15 </font><font color="#8b4726"><b>if</b></font><font color="#8b4726"><b>&nbsp;exist</b></font>&nbsp;<font color="#8b4726">%DOCX%</font>&nbsp;(<br />
          943  +<font color="#808080">16 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>call</b></font><font color="#8b4726"><b><u>&nbsp;:unzip_file</u></b></font><br />
          944  +<font color="#808080">17 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          945  +<font color="#808080">18 </font>)<br />
          946  +<font color="#808080">19 </font><font color="#8b4726">echo</font><font color="#228b22">&nbsp;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&nbsp;not found</font><br />
          947  +<font color="#808080">20 </font><font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          948  +<font color="#808080">21 </font><br />
          949  +<font color="#808080">22 </font><font color="#8b4726"><b><u>:zip_directory</u></b></font><br />
          950  +<font color="#808080">23 </font>&nbsp;&nbsp;<font color="#8b4726">echo</font><font color="#228b22">&nbsp;Zipping </font><font color="#8b4726">%DOCX%</font><br />
          951  +<font color="#808080">24 </font>&nbsp;&nbsp;<font color="#8b4726">pushd</font>&nbsp;<font color="#8b4726">%DOCX%</font><br />
          952  +<font color="#808080">25 </font>&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;Content_Types.xml <nowiki>[Content_Types].xml</nowiki><br />
          953  +<font color="#808080">26 </font>&nbsp;&nbsp;<font color="#8b4726">%CMDZIP%</font>&nbsp;-9 -r <font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;.\*<br />
          954  +<font color="#808080">27 </font>&nbsp;&nbsp;<font color="#8b4726"><b>if</b></font><font color="#8b4726"><b>&nbsp;not exist</b></font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;(<br />
          955  +<font color="#808080">28 </font><font color="#3a5fcd"><i>&nbsp;&nbsp;&nbsp;&nbsp;:: cancel</i></font><br />
          956  +<font color="#808080">29 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;<nowiki>[Content_Types]</nowiki>.xml Content_Types.xml<br />
          957  +<font color="#808080">30 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">popd</font><br />
          958  +<font color="#808080">31 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          959  +<font color="#808080">32 </font>&nbsp;&nbsp;)<br />
          960  +<font color="#808080">33 </font>&nbsp;&nbsp;<font color="#8b4726">popd</font><br />
          961  +<font color="#808080">34 </font>&nbsp;&nbsp;<font color="#8b4726">rmdir</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#27408b">/s</font>&nbsp;<font color="#27408b">/q</font><br />
          962  +<font color="#808080">35 </font>&nbsp;&nbsp;<font color="#8b4726">move</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;.<br />
          963  +<font color="#808080">36 </font>&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font><br />
          964  +<font color="#808080">37 </font>&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          965  +<font color="#808080">38 </font><br />
          966  +<font color="#808080">39 </font><font color="#8b4726"><b><u>:unzip_file</u></b></font><br />
          967  +<font color="#808080">40 </font>&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font><br />
          968  +<font color="#808080">41 </font>&nbsp;&nbsp;<font color="#8b4726">move</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">&quot;</font>\<br />
          969  +<font color="#808080">42 </font>&nbsp;&nbsp;<font color="#8b4726">mkdir</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font><br />
          970  +<font color="#808080">43 </font>&nbsp;&nbsp;<font color="#8b4726">pushd</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font><br />
          971  +<font color="#808080">44 </font>&nbsp;&nbsp;<font color="#8b4726">%CMDUNZIP%</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font><br />
          972  +<font color="#808080">45 </font>&nbsp;&nbsp;<font color="#8b4726"><b>if</b></font><font color="#8b4726"><b>&nbsp;not exist</b></font>&nbsp;<nowiki>[Content_Types].xml</nowiki> (<br />
          973  +<font color="#808080">46 </font><font color="#3a5fcd"><i>&nbsp;&nbsp;&nbsp;&nbsp;:: cancel</i></font><br />
          974  +<font color="#808080">47 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">popd</font><br />
          975  +<font color="#808080">48 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">rmdir</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#27408b">/s</font>&nbsp;<font color="#27408b">/q</font><br />
          976  +<font color="#808080">49 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">move</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;.<br />
          977  +<font color="#808080">50 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%DOCX%</font><font color="#228b22">&quot;</font><br />
          978  +<font color="#808080">51 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          979  +<font color="#808080">52 </font>&nbsp;&nbsp;)<br />
          980  +<font color="#808080">53 </font>&nbsp;&nbsp;<font color="#8b4726">ren</font>&nbsp;<nowiki>[Content_Types].xml</nowiki> Content_Types.xml<br />
          981  +<font color="#808080">54 </font>&nbsp;&nbsp;<font color="#8b4726">del</font>&nbsp;<font color="#228b22">&quot;</font><font color="#8b4726">%TEMP%</font><font color="#228b22">\</font><font color="#8b4726">%TMPFILE%</font><font color="#228b22">&quot;</font><br />
          982  +<font color="#808080">55 </font>&nbsp;&nbsp;<font color="#8b4726">popd</font><br />
          983  +<font color="#808080">56 </font>&nbsp;&nbsp;<font color="#8b4726"><b>goto</b></font><font color="#8b4726"><b><u>&nbsp;:end</u></b></font><br />
          984  +<font color="#808080">57 </font><br />
          985  +<font color="#808080">58 </font><font color="#8b4726"><b><u>:end</u></b></font><br />
          986  +<font color="#808080">59 </font><br />
          987  +<font color="#808080">60 </font><font color="#3a5fcd"><i>:: vim: fenc=cp437</i></font>
          988  +  </pre>
          989  +
   896    990   </div>