Skip to content

Getting started with CmisSync development

Nicolas Raoul edited this page Jun 7, 2016 · 35 revisions

Common steps for all platforms

  1. Install Git (Windows users: http://windows.github.com)
  2. Fork https://github.com/aegif/CmisSync
  3. Git clone to your local computer.
  4. Run the following (in order to get DotCMIS).
git submodule init
git submodule update

If you don't like Git, you can also download the source code as a ZIP file here.

On Windows

  1. Install Microsoft Visual C# (Express version is free)
  2. Open Microsoft Visual C#
  3. Import CmisSync/Windows/CmisSync.sln
  4. Select the CmisSync.Console project and press Build
  5. Select the whole solution and press Build
  6. Debug > Start debugging

On Linux

Announce: Package maintainers wanted! Redhat, Ubuntu, etc.

  1. Install as described here: https://github.com/aegif/CmisSync/blob/master/CmisSync/Linux/README.md
  2. Run: cmissync start

Importing to Monodevelop

  1. Install Monodevelop
  2. Import CmisSync/Linux/CmisSync.sln
  3. Debugging does not seem to work out-of-the-box, but debugging from Monodevelop is possible using this trick.

On Mac

(Some installation bugs remain, volunteers wanted!)

  1. Install as described here: https://github.com/aegif/CmisSync/blob/master/CmisSync/Mac/README.md
  2. Run: cmissync start

Debugging

See the "Troubleshooting" section of this page, and Internals.

To make the log appear in Visual Studio, add a TraceAppender (and matching appender-ref) to your <log4net> configuration in config.xml. For instance:

  <log4net>
    <appender name="CmisSyncFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\Users\### INSERT YOUR USERNAME HERE ###\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>
    <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d [%t] %-5p %c %m%n"/>
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="CmisSyncFileAppender" />
      <appender-ref ref="TraceAppender"/>
    </root>
  </log4net>

More

For explanations about the source code, database, XML format, etc, see Internals.