<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/migdocs">

  <!-- This component migrates data in system context -->
  <component type="Documents" context="System">
    <displayName>MigDocSystem</displayName>
    <role role="Data">
      <rules>

        <!--
          GenerateDocPatterns takes 3 arguments
          1. generate patterns for scattered files inside %ProgramFiles%
          2. generate include patterns (FALSE generates exclude patterns)
          3. generate patterns for system drive only
        -->

        <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","FALSE")</script>
          </objectSet>
        </include>
        <exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>
          </objectSet>
        </exclude>

        <!-- Skip all directories and files present in c:\EngineeringDrafts folder -->
        <exclude>
          <objectSet>
            <pattern type="File">C:\EngineeringDrafts\* [*]</pattern>
          </objectSet>
        </exclude>
        
        <contentModify script="MigXmlHelper.MergeShellLibraries('TRUE','TRUE')">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </contentModify>
        <merge script="MigXmlHelper.SourcePriority()">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </merge>
      </rules>
    </role>
  </component>

  <!-- This component migrates data in user context -->
  <component type="Documents" context="User">
    <displayName>MigDocUser</displayName>
    <role role="Data">
      <rules>
        <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","TRUE","FALSE")</script>
          </objectSet>
        </include>
        <exclude filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
          <objectSet>
            <script>MigXmlHelper.GenerateDocPatterns ("FALSE","FALSE","FALSE")</script>
          </objectSet>
        </exclude>

        <!-- This migrates all files and directories from C:\EngineeringDrafts to every users personal folder.-->
        <include>
          <objectSet>
            <pattern type="File">C:\EngineeringDrafts\* [*]</pattern>
          </objectSet>
        </include>
        <locationModify script="MigXmlHelper.RelativeMove('C:\EngineeringDrafts','%CSIDL_PERSONAL%')">
          <objectSet>
            <pattern type="File">C:\EngineeringDrafts\* [*]</pattern>
          </objectSet>
        </locationModify>

        <contentModify script="MigXmlHelper.MergeShellLibraries('TRUE','TRUE')">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </contentModify>
        <merge script="MigXmlHelper.SourcePriority()">
          <objectSet>
            <pattern type="File">*[*.library-ms]</pattern>
          </objectSet>
        </merge>
      </rules>
    </role>
  </component>
</migration>

