Recent Changes for "Export" - Sycamore Wikihttp://www.projectsycamore.org/ExportRecent Changes of the page "Export" on Sycamore Wiki.en-us Exporthttp://www.projectsycamore.org/Export2007-12-23 11:30:20PhilipNeustrombrain dump added <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 97: </td> <td> Line 97: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + = Wiki Spot implementation brain dump =<br> + * takes into account page security: user1, user2.<br> + * user1 and user2 =&gt; set of groups they belong to<br> + * set of groups you're in determines what you can do.<br> + f(u) = (g1, g2, ..)<br> + but what if i'm in g2 that differs only in editability but not readability? - we can only tell at global level..say for a page:<br> + g1 edit, read g2 read g3 nada =&gt; i can edit, read<br> + <br> + if i am in a special group, say Events, then my dump is generated special-like...ok, let's just do that.<br> + <br> + dumps unique based on groups you're a member<br> + <br> + * where should the dump go? into the DB?<br> + * dump to file then insert the file into the db..how do we do this without eating gigs of ram? -- can't even store objects that large...ok, so no db<br> + * store something in the db -- unique_id, generated_time, file_url<br> + * general get_file_url()..<br> + * pulls from a config option for where big files are stored.<br> + * new config option: machine domain name. can differ from wiki domain. each machine generating exports must have unique domain.<br> + * we serve up by just sucking from that file on disk -- we assume it is locally accessible<br> + * expire_exports() -- rm them.</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2007-12-17 02:05:28PhilipNeustromlinked backup <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> <span>-</span> Sycamore <span>currently </span>has n<span>o</span> export function. <span>Thi</span>s <span>fe</span>a<span>tu</span>re <span>i</span>s <span>bei</span>n<span>g</span> exp<span>l</span>or<span>ed</span>. </td> <td> <span>+</span> Sycamore has <span>a comma</span>n<span>d-line</span> export function. <span>&nbsp;It'</span>s <span>in {{{Syc</span>a<span>mo</span>re<span>/}}}.</span> <span>&nbsp;Ju</span>s<span>t</span> <span>ru</span>n<span>&nbsp;{{{python</span> expor<span>t</span>.<span>py}}}.</span> </td> </tr> <tr> <td> Line 3: </td> <td> Line 3: </td> </tr> <tr> <td> <span>- Current efforts are looking at determining the best format to use as a base or adopt for the Sycamore export format.<br> - <br> - <br> - === Related Reading ===<br> - <br> - [http://meta.wikimedia.org/wiki/Help:Export Export at MediaWiki]<br> - [http://meta.wikimedia.org/wiki/DocBook_XML_export DocBook XML export at MediaWiki]<br> - <br> - <br> - === How Others are Doing It ===<br> - <br> - MediaWiki handles a few different export versions. There is XML export on page-by-page basis using a special URL (E.g {{{wikipedia.org/wiki/Special:Export/Sycamore}}}). The page-by-page export is only a current snapshot and does not include all revisions.<br> - <br> - Sample single page XML export from MediaWiki: [http://en.wikipedia.org/wiki/Special:Export/Sycamore Sycamore on Wikipedia (XML version)].<br> - <br> - <br> - There is an export that is a current snapshot of the entire site (does not include all revisions.).<br> - <br> - <br> - There is an export that is a current snapshot of the entire site (does include all revisions.).<br> - <br> - == Discussion ==<br> - <br> - A function to export/dump the contents of the wiki would be nice for backuping up the site, making it portable, or distributing it in another format (E.g HTML, DocBook or PDF) or any other desired format (based on a export theme or template). Have you done any work in this area? --["AdamDewitz"]<br> - <br> - This should be a priority, but I haven't done any work on this. A common export format (XML for human readability) and an import based on that format would be very cool. We could include all the non-temporary wiki data except user data (we have to include user name to user id information, though). We could then write separate utilities to use the wiki parser to process this XML format. We should have a 'full' export and a 'just the current data w/o users' export. --["PhilipNeustrom"]<br> - <br> - <br> - I see that MoinMoin has a MoinDump utility. I wonder if some of the code could be used a base. Two possible export formats are Atom and DocBook. Both are XML-based and have good documentation. --["AdamDewitz"]<br> - <br> - That utility renders each page (static HTML). What would be more flexible would be dumping to our own XML format containing the raw data then writing something to convert our format to static HTML. --["PhilipNeustrom"]<br> - <br> - I haven't had time to look at the utility, but I read that it uses a hardcoded HTML template. If this is the case, the HTML-stuff in the template could be rewritten to output XML instead.<br> - <br> - Regarding the XML format, do want to create some Sycamore-specific XML format? I'm thinking its better to adopt a well defined format and if needed, extend it with our own namespace. --["AdamDewitz"]<br> - <br> - My understanding (I'm not an XML guru) is that because we have unique collection of data, that our representation would be pretty unique (we make something up). We have pages, which have versions, editors, edit dates, edit comments..files with the same, users with some attributes, etc. The 'page' content might be well served by something like DocBook, but there is a lot of other important data in the wiki install that a proper dump should take into account? --["PhilipNeustrom"]<br> - I see two distinct uses for exporting content.<br> - 1: Export data for backup. This needs to include all data (history, revisions, etc) and metadata (who did what with whom).<br> - 2: Export data for other applications (static mirrors, prints (E.g books), etc.) This data would only have to be the current snapshot and not include all the data and metadata.<br> - <br> - Case 1 is more important that the 2nd. The data in the second can easily be derived from the output in case 1. If the export system was template-based, individual export needs could be met by modifying or creating a custom template.<br> - <br> - It looks like there has been some movement into using Atom for wiki content:<br> - [http://www.intertwingly.net/wiki/pie/AtomForWikis AtomForWikis]<br> - [http://www.xml.com/pub/a/2004/04/14/atomwiki.html An Atom-Powered Wiki] --["AdamDewitz"]<br> - <br> - Adam, do you want to try and tackle the export (#1) using Atom and see how it goes? I'd probably just look at the DB schema (buildDB.py). "Temporary" data shouldn't be bothered with for now -- this includes imageCaptions, thumbnails, cachedText/cachedTime, as well as links. We can move links into the export, as well as imageCaptions, later? --["PhilipNeustrom"]<br> - <br> - Yeah, I'll start looking into it. --["AdamDewitz"]<br> - <br> - It seems like the Atom work is being done in the area of the using the Atom API with wikis. I'm taking a look at what some of the other wiki projects use.</span> </td> <td> <span>+ This is a per-wiki XML dump. This is different from a ["Backup" database backup]. The wiki export should contain all material needed to reconstruct the wiki in its entirety.</span> </td> </tr> <tr> <td> Line 144: </td> <td> Line 93: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + = Future =<br> + * Limit to current versions of pages and files only<br> + * Speed up utility (!!) and make it web-based</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2007-12-17 01:50:38PhilipNeustrominitial export format finalized <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 60: </td> <td> Line 60: </td> </tr> <tr> <td> </td> <td> <span>+ Export a wiki. Note that some sections will appear in the export<br> + only if you have permission. The security section, for instance,<br> + will appear only if you are an administrator of the wiki in question.<br> + <br> + Export format looks something like:<br> + </span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2007-12-16 01:29:06PhilipNeustrom <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 57: </td> <td> Line 57: </td> </tr> <tr> <td> <span>-</span> Here's<span>&nbsp;a sketch of</span> the initial export format<span>:</span> </td> <td> <span>+</span> Here's the initial export format<span>&nbsp;(Sycamore 0.1d)</span> </td> </tr> <tr> <td> Line 62: </td> <td> Line 62: </td> </tr> <tr> <td> <span>-</span> is_disabled="<span>0</span> / <span>1</span>" sitename="long site name"&gt; </td> <td> <span>+</span> is_disabled="<span>True</span> / <span>False</span>" sitename="long site name"&gt; </td> </tr> <tr> <td> Line 64: </td> <td> Line 64: </td> </tr> <tr> <td> </td> <td> <span>+ &lt;pages&gt;</span> </td> </tr> <tr> <td> Line 65: </td> <td> Line 66: </td> </tr> <tr> <td> <span>-</span> &lt;text&gt;<span><br> - </span>current page text<span><br> - </span>&lt;/text&gt; </td> <td> <span>+</span> &lt;text&gt;current page text&lt;/text&gt; </td> </tr> <tr> <td> Line 71: </td> <td> Line 70: </td> </tr> <tr> <td> <span>-</span> &lt;text&gt;<span><br> - </span>this version page text<span><br> - </span>&lt;/text&gt; </td> <td> <span>+</span> &lt;text&gt;this version page text&lt;/text&gt; </td> </tr> <tr> <td> Line 76: </td> <td> Line 73: </td> </tr> <tr> <td> </td> <td> <span>+ &lt;/pages&gt;</span> </td> </tr> <tr> <td> Line 78: </td> <td> Line 76: </td> </tr> <tr> <td> <span>- &lt;current&gt;<br> -</span> &lt;file name="filename" attached_to_pagename="page name" </td> <td> <span>+</span> &lt;file name="filename" attached_to_pagename="page name"<span>&gt;</span> </td> </tr> <tr> <td> Line 82: </td> <td> Line 79: </td> </tr> <tr> <td> <span>-</span> attached_to_pagename_propercased="Page Name"&gt;<span><br> -</span> file content<span><br> - </span>&lt;/file&gt;<br> <span>- &lt;/current&gt;<br> - &lt;old&gt;<br> -</span> &lt;file name="filename" attached_to_pagename="page name" </td> <td> <span>+</span> attached_to_pagename_propercased="Page Name"<span><br> + deleted="False"</span>&gt;<span>base64 encoded</span> file content&lt;/file&gt;<br> <span>+</span> &lt;file name="filename" attached_to_pagename="page name"<span>&gt;</span> </td> </tr> <tr> <td> Line 92: </td> <td> Line 86: </td> </tr> <tr> <td> <span>-</span> attached_to_pagename_propercased="Page Name"&gt;<span><br> -</span> file content<span><br> - </span>&lt;/file&gt;<br> <span>-</span> <span>&lt;/old&gt;</span> </td> <td> <span>+</span> attached_to_pagename_propercased="Page Name"<span><br> + deleted="True"</span>&gt;<span>base 64 encoded</span> file content&lt;/file&gt;<br> <span>+</span> <span>...</span> </td> </tr> <tr> <td> Line 101: </td> <td> Line 94: </td> </tr> <tr> <td> <span>-</span> posted_time="unix tm"&gt;<span><br> - </span>event text<span><br> - </span>&lt;/event&gt; </td> <td> <span>+</span> posted_time="unix tm"&gt;event text&lt;/event&gt; </td> </tr> <tr> <td> Line 108: </td> <td> Line 99: </td> </tr> <tr> <td> <span>-</span> &lt;acl pagename="page name" groupname="group name" may_read="<span>0</span> / <span>1</span>"<span><br> - </span> may_edit="<span>0</span> / <span>1</span>" may_delete="<span>0</span> / <span>1</span>" may_admin="<span>0</span> / <span>1</span>" /&gt; </td> <td> <span>+</span> &lt;acl pagename="page name" groupname="group name"<span><br> + </span> may_read="<span>True</span> / <span>False</span>" may_edit="<span>True</span> / <span>False</span>"<span><br> + </span> may_delete="<span>True</span> / <span>False</span>" may_admin="<span>True</span> / <span>False</span>" /&gt;<span><br> + ...</span> </td> </tr> <tr> <td> Line 113: </td> <td> Line 106: </td> </tr> <tr> <td> </td> <td> <span>+ &lt;defaults may_read="True / False" may_edit="True / False"<br> + may_delete="True / False" may_admin="True / False" /&gt;</span> </td> </tr> <tr> <td> Line 142: </td> <td> Line 137: </td> </tr> <tr> <td> <span>- </span> </td> <td> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2007-12-11 04:37:05PhilipNeustromwhat im doing right onw <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 55: </td> <td> Line 55: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + = Initial format =<br> + Here's a sketch of the initial export format:<br> + <br> + {{{<br> + &lt;sycamore version="0.1d"&gt;<br> + &lt;wiki name="shortname" id="wiki_id" domain="domain name"<br> + is_disabled="0 / 1" sitename="long site name"&gt;<br> + &lt;settings key="value" ../&gt;<br> + &lt;page name="page name" propercased_name="Page Name"&gt;<br> + &lt;text&gt;<br> + current page text<br> + &lt;/text&gt;<br> + &lt;version propercased_name="Page Name!" edit_time="unix tm"<br> + user_edited="username" edit_type="an enum edit type str"<br> + comment="edit comment" user_ip="ip of edit"&gt;<br> + &lt;text&gt;<br> + this version page text<br> + &lt;/text&gt;<br> + &lt;/version&gt;<br> + &lt;/page&gt;<br> + <br> + &lt;files&gt;<br> + &lt;current&gt;<br> + &lt;file name="filename" attached_to_pagename="page name"<br> + uploaded_time="unix tm" uploaded_by="username"<br> + uploaded_by_ip="ip addr"<br> + attached_to_pagename_propercased="Page Name"&gt;<br> + file content<br> + &lt;/file&gt;<br> + &lt;/current&gt;<br> + &lt;old&gt;<br> + &lt;file name="filename" attached_to_pagename="page name"<br> + uploaded_time="unix tm" uploaded_by="username"<br> + uploaded_by_ip="ip addr"<br> + deleted_time="unix tm" deleted_by="username"<br> + deleted_by_ip="ip addr"<br> + attached_to_pagename_propercased="Page Name"&gt;<br> + file content<br> + &lt;/file&gt;<br> + &lt;/old&gt;<br> + &lt;/files&gt;<br> + <br> + &lt;events&gt;<br> + &lt;event event_time="unix tm" posted_by="username" location="text here"<br> + name="name of event" posted_by_ip="ip addr"<br> + posted_time="unix tm"&gt;<br> + event text<br> + &lt;/event&gt;<br> + &lt;/events&gt;<br> + <br> + &lt;security&gt;<br> + &lt;acls&gt;<br> + &lt;acl pagename="page name" groupname="group name" may_read="0 / 1"<br> + may_edit="0 / 1" may_delete="0 / 1" may_admin="0 / 1" /&gt;<br> + &lt;/acls&gt;<br> + &lt;groups&gt;<br> + &lt;group name="group name"&gt;<br> + &lt;user="user name"/&gt;<br> + &lt;user="user name2"/&gt;<br> + &lt;user="ip addr" type="IP"&gt;<br> + ..<br> + &lt;/group&gt;<br> + &lt;/groups&gt;<br> + &lt;/security&gt;<br> + <br> + &lt;map&gt;<br> + &lt;current&gt;<br> + &lt;point pagename="page name" x="x loc" y="y loc"<br> + created_time="unix tm" created_by="user name"<br> + created_by_ip="ip addr" pagename_propercased="page Name"<br> + address="address string" /&gt;<br> + ...<br> + &lt;/current&gt;<br> + &lt;old&gt;<br> + &lt;point pagename="page name" x="x loc" y="y loc"<br> + created_time="unix tm" created_by="user name"<br> + created_by_ip="ip addr"<br> + deleted_time="unix tm" deleted_by="username"<br> + deleted_by_ip="ip addr"<br> + pagename_propercased="page Name"<br> + address="address string" /&gt;<br> + ...<br> + &lt;/old&gt;<br> + &lt;/map&gt;<br> + &lt;/wiki&gt;<br> + &lt;/sycamore&gt;<br> + <br> + }}}</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 18:55:52AdamDewitz+ mediawiki stuff <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 6: </td> <td> Line 6: </td> </tr> <tr> <td> <span>-</span> Related Reading </td> <td> <span>+ ===</span> Related Reading<span>&nbsp;===</span> </td> </tr> <tr> <td> Line 10: </td> <td> Line 10: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + <br> + === How Others are Doing It ===<br> + <br> + MediaWiki handles a few different export versions. There is XML export on page-by-page basis using a special URL (E.g {{{wikipedia.org/wiki/Special:Export/Sycamore}}}). The page-by-page export is only a current snapshot and does not include all revisions.<br> + <br> + Sample single page XML export from MediaWiki: [http://en.wikipedia.org/wiki/Special:Export/Sycamore Sycamore on Wikipedia (XML version)].<br> + <br> + <br> + There is an export that is a current snapshot of the entire site (does not include all revisions.).<br> + <br> + <br> + There is an export that is a current snapshot of the entire site (does include all revisions.).</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 18:29:11AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 5: </td> <td> Line 5: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + Related Reading<br> + <br> + [http://meta.wikimedia.org/wiki/Help:Export Export at MediaWiki]<br> + [http://meta.wikimedia.org/wiki/DocBook_XML_export DocBook XML export at MediaWiki]</span> </td> </tr> <tr> <td> Line 35: </td> <td> Line 40: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + It seems like the Atom work is being done in the area of the using the Atom API with wikis. I'm taking a look at what some of the other wiki projects use.</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 18:25:17AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 3: </td> <td> Line 3: </td> </tr> <tr> <td> <span>- Current efforts are looking at the [http://www.atomenabled.org/ Atom format] as a base for the Sycamore export format.<br> - <br> - Related links<br> - <br> - [http://www.atomenabled.org/ Atom format at atomenabled.org]<br> - [http://www.intertwingly.net/wiki/pie/AtomForWikis AtomForWikis]<br> - [http://www.xml.com/pub/a/2004/04/14/atomwiki.html An Atom-Powered Wiki]</span> </td> <td> <span>+ Current efforts are looking at determining the best format to use as a base or adopt for the Sycamore export format.</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 18:14:29AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 3: </td> <td> Line 3: </td> </tr> <tr> <td> </td> <td> <span>+ Current efforts are looking at the [http://www.atomenabled.org/ Atom format] as a base for the Sycamore export format.</span> </td> </tr> <tr> <td> Line 4: </td> <td> Line 5: </td> </tr> <tr> <td> </td> <td> <span>+ Related links</span> </td> </tr> <tr> <td> Line 5: </td> <td> Line 7: </td> </tr> <tr> <td> <span>- </span> </td> <td> <span>+ [http://www.atomenabled.org/ Atom format at atomenabled.org]<br> + [http://www.intertwingly.net/wiki/pie/AtomForWikis AtomForWikis]<br> + [http://www.xml.com/pub/a/2004/04/14/atomwiki.html An Atom-Powered Wiki]</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 18:08:16AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 10: </td> <td> Line 10: </td> </tr> <tr> <td> <span>-</span> A function to export/dump the contents of the wiki would be nice for backup up the site, making it portable, or distributing it in another format (E.g DocBook or PDF) or any other desired format (based on a export theme or template). Have you done any work in this area? --["AdamDewitz"] </td> <td> <span>+</span> A function to export/dump the contents of the wiki would be nice for backup<span>ing</span> up the site, making it portable, or distributing it in another format (E.g<span>&nbsp;HTML,</span> DocBook or PDF) or any other desired format (based on a export theme or template). Have you done any work in this area? --["AdamDewitz"] </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 15:34:42AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 36: </td> <td> Line 36: </td> </tr> <tr> <td> <span>-</span> Yeah, I start looking into it. --["AdamDewitz"] </td> <td> <span>+</span> Yeah, I<span>'ll</span> start looking into it. --["AdamDewitz"] </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 02:38:14AdamDewitz <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 35: </td> <td> Line 35: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + Yeah, I start looking into it. --["AdamDewitz"]</span> </td> </tr> </table> </div> Exporthttp://www.projectsycamore.org/Export2006-09-28 02:37:08AdamDewitzCreated page with content from Feature_Requests page <div id="content" class="wikipage content"> Differences for Export<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ Sycamore currently has no export function. This feature is being explored.<br> + <br> + <br> + <br> + <br> + <br> + <br> + == Discussion ==<br> + <br> + A function to export/dump the contents of the wiki would be nice for backup up the site, making it portable, or distributing it in another format (E.g DocBook or PDF) or any other desired format (based on a export theme or template). Have you done any work in this area? --["AdamDewitz"]<br> + <br> + This should be a priority, but I haven't done any work on this. A common export format (XML for human readability) and an import based on that format would be very cool. We could include all the non-temporary wiki data except user data (we have to include user name to user id information, though). We could then write separate utilities to use the wiki parser to process this XML format. We should have a 'full' export and a 'just the current data w/o users' export. --["PhilipNeustrom"]<br> + <br> + <br> + I see that MoinMoin has a MoinDump utility. I wonder if some of the code could be used a base. Two possible export formats are Atom and DocBook. Both are XML-based and have good documentation. --["AdamDewitz"]<br> + <br> + That utility renders each page (static HTML). What would be more flexible would be dumping to our own XML format containing the raw data then writing something to convert our format to static HTML. --["PhilipNeustrom"]<br> + <br> + I haven't had time to look at the utility, but I read that it uses a hardcoded HTML template. If this is the case, the HTML-stuff in the template could be rewritten to output XML instead.<br> + <br> + Regarding the XML format, do want to create some Sycamore-specific XML format? I'm thinking its better to adopt a well defined format and if needed, extend it with our own namespace. --["AdamDewitz"]<br> + <br> + My understanding (I'm not an XML guru) is that because we have unique collection of data, that our representation would be pretty unique (we make something up). We have pages, which have versions, editors, edit dates, edit comments..files with the same, users with some attributes, etc. The 'page' content might be well served by something like DocBook, but there is a lot of other important data in the wiki install that a proper dump should take into account? --["PhilipNeustrom"]<br> + I see two distinct uses for exporting content.<br> + 1: Export data for backup. This needs to include all data (history, revisions, etc) and metadata (who did what with whom).<br> + 2: Export data for other applications (static mirrors, prints (E.g books), etc.) This data would only have to be the current snapshot and not include all the data and metadata.<br> + <br> + Case 1 is more important that the 2nd. The data in the second can easily be derived from the output in case 1. If the export system was template-based, individual export needs could be met by modifying or creating a custom template.<br> + <br> + It looks like there has been some movement into using Atom for wiki content:<br> + [http://www.intertwingly.net/wiki/pie/AtomForWikis AtomForWikis]<br> + [http://www.xml.com/pub/a/2004/04/14/atomwiki.html An Atom-Powered Wiki] --["AdamDewitz"]<br> + <br> + Adam, do you want to try and tackle the export (#1) using Atom and see how it goes? I'd probably just look at the DB schema (buildDB.py). "Temporary" data shouldn't be bothered with for now -- this includes imageCaptions, thumbnails, cachedText/cachedTime, as well as links. We can move links into the export, as well as imageCaptions, later? --["PhilipNeustrom"]</span> </td> </tr> </table> </div>