-
Notifications
You must be signed in to change notification settings - Fork 123
Internals
Users don't need this information, it is here as a reference for developers.
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"?>
<CmisSync>
<user>
<name>nraoul</name>
<email>Unknown</email>
</user>
<log4net>
<appender name="CmisSyncFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Users\nraoul\AppData\Roaming\cmissync\debug_log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="CmisSyncFileAppender" />
</root>
</log4net>
<folders>
<folder>
<name>s1</name>
<path>C:\Users\nraoul\CmisSync\sales</path>
<url>http://192.168.0.22:8080/alfresco/cmisatom</url>
<repository>7d52d0ed-5108-4dba-8100-48b63b9d3541</repository>
<remoteFolder>/Sites/sales/documentLibrary</remoteFolder>
<user>nicolas.raoul</user>
<password>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAtiSvUCYnDkGdPOuyhiThTwAAAAACAAAAAAAQZgAAAAEAACAAAADexlyLIms+TPKj/w52HwkYjiHXI5JTF3GkFVSr1wZHBgAAAAAOgAAAAAIAACAAAADehsLp6b/ZO+YAUu57xf9kmRqsTYZSZn7hCgNfEXFbdxAAAAAIkBNhEZrtiGnXkugNIuEGQAAAAFQbSOpuPy2/XyTt5nu3CgLoQsVVfIrBF3jfrFs23mgMBlEx6RW1YHgohJYTDgPPYA+MpWY8B/KEBUY7qdIIzok=</password>
<pollinterval>5000</pollinterval>
</folder>
</folders>
<notifications>True</notifications>
</CmisSync>
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
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
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.