Getting started with CmisSync development

Nicolas Raoul edited this page Jun 11, 2018 · 33 revisions

Common steps for all platforms

  1. Install Git (Windows users: http://windows.github.com)
  2. In the Git console, type the following commands:
git clone https://github.com/aegif/CmisSync.git
cd CmisSync
git submodule init
git submodule update

On Windows

  1. Install Microsoft Visual Studio (the Express version is free)
  2. Install WiX
  3. Install the WiX extension for Visual Studio
  4. Open Microsoft Visual C#
  5. Import CmisSync/Windows/CmisSync.sln
  6. Select the CmisSync.Console project and press Build
  7. Select the whole solution and press Build
  8. 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.