Skip to content
nicolas-raoul edited this page Apr 10, 2013 · 22 revisions

Users don't need this information, it is here as a reference for developers.

config.xml

For each CMIS folder:

  • name: a name for this checkout. CmisSync tries to find a good name, but anything is fine except slashes
  • url: CMIS URL
  • repository: id of the CMIS repository to use (there can be several repositories at the same URL)
  • remoteFolder: folder on the repository. With prefix slash but no trailing slash.
  • user
  • password

Full example:

<?xml version="1.0" encoding="UTF-8"?>
<sparkleshare>
  <user>
    <name>Dummy</name>
    <email>[email protected]</email>
  </user>
  <notifications>True</notifications>
  <folder>
    <name>cmisatom (3)</name>
    <identifier>208b2e3763a0ab08261776e019933fe21e75e1aa</identifier>
    <url>http://avenue.aegif.jp/alfresco/cmisatom</url>
    <backend>Cmis</backend>
    <repository>676bbe8a-b507-419e-99c7-8612a9fead59</repository>
    <remoteFolder>/Sites/mysite/myfolder</remoteFolder>
    <user>nicolas.raoul</user>
    <password>mypassword</password>
  </folder>
</sparkleshare>

Load tests

Here are a few tests that someone should perform to ensure CmisSync can be used in all circumstances. Feel free to add more test ideas! Thanks in advance to anyone who performs these tests, please let us know about whether it works on the forum/Twitter/email.

  • Very large file
  • Intermittent network connection
  • Very slow network connection
  • Many files in a single folder

Upgrading SQLite

There are dozens of different DLLs for SQLite. The right one is like sqlite-netFx40-static-binary-Win32-2010-1.0.84.0.zip at the Precompiled Statically-Linked Binaries for 32-bit Windows (.NET Framework 4.0) paragraph at http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Source code explanation

The synchronization algorithm is in CmisSync.Lib/Sync.
CmisSync uses an SQLite database to cache checksums, server-side modification dates, etc, in Database.cs.
The source code contains a lot of comments so it should be explicit. Please let us know if something is lacking.
The UI is based on SparkleShare, an excellent Git-synchronization tool. That explains why you might find references to SparkleShare in the source code.