<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
   
    <bean id="PatchService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="proxyInterfaces">
            <value>org.alfresco.repo.admin.patch.PatchService</value>
        </property>
        <property name="target"><ref bean="patchComponent"/></property>
        <property name="interceptorNames">
            <list>
                <idref local="PatchService_transaction" />
            </list>
        </property>
    </bean>

    <bean id="PatchService_transaction" class="org.springframework.transaction.interceptor.TransactionInterceptor">
        <property name="transactionManager">
            <ref bean="transactionManager"/>
        </property>
        <property name="transactionAttributes">
            <props>
                <prop key="apply*">PROPAGATION_NOT_SUPPORTED</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patchComponent" class="org.alfresco.repo.admin.patch.PatchServiceImpl" >
        <property name="descriptorService">
            <ref bean="descriptorComponent" />
        </property>
        <property name="transactionService">
            <ref bean="transactionService" />
        </property>
        <property name="ruleService">
            <ref bean="ruleService" />
        </property>
        <property name="appliedPatchDAO">
            <ref bean="appliedPatchDAO" />
        </property>
    </bean>

    <!-- base patch definition -->
    <bean id="basePatch" abstract="true" depends-on="patchComponent" init-method="init">
        <property name="patchService">
            <ref bean="patchComponent" />
        </property>
        <property name="transactionService">
            <ref bean="transactionService" />
        </property>
        <property name="namespaceService">
            <ref bean="namespaceService" />
        </property>
        <property name="searchService">
            <ref bean="searchService" />
        </property>
        <property name="nodeService">
            <ref bean="nodeService"/>
        </property>
        <property name="authenticationContext">
            <ref bean="authenticationContext" />
        </property>
        <property name="tenantAdminService">
            <ref bean="tenantAdminService" />
        </property>
    </bean>
    
    <!-- Example patches -->
    <bean id="patch.sample.01" class="org.alfresco.repo.admin.patch.SamplePatch" parent="basePatch" >
        <property name="id"><value>Sample01</value></property>
        <property name="description"><value>A NO-OP sample patch</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>1000</value></property>
        <property name="targetSchema"><value>1001</value></property>
    </bean>
    <bean id="patch.sample.02" class="org.alfresco.repo.admin.patch.SamplePatch" parent="basePatch" >
        <property name="id"><value>Sample02</value></property>
        <property name="description"><value>A NO-OP sample patch</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>1000</value></property>
        <property name="targetSchema"><value>1001</value></property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.sample.01" />
            </list>
        </property>
    </bean>

    <!--              -->
    <!-- Helper beans -->
    <!--              -->
    
    <bean id="bootstrapSpacesMessageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>alfresco/messages/bootstrap-spaces</value> 
            </list>
        </property>
    </bean>
    
    <!--                   -->
    <!-- Patch definitions -->
    <!--                   -->
    
    <bean id="patch.savedSearchesFolder" class="org.alfresco.repo.admin.patch.impl.SavedSearchFolderPatch" parent="basePatch" >
        <property name="id"><value>patch.savedSearchesFolder</value></property>
        <property name="description"><value>patch.savedSearchesFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>1</value></property>
        <property name="targetSchema"><value>2</value></property>
        <!-- helper beans for execution -->
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>   
        <property name="dependsOn" >
            <list>
                <ref bean="patch.fixNameCrcValues-2" />
            </list>
        </property>
    </bean>
    <bean id="patch.savedSearchesPermission" class="org.alfresco.repo.admin.patch.impl.SavedSearchPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.savedSearchesPermission</value></property>
        <property name="description"><value>patch.savedSearchesPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4</value></property>
        <property name="targetSchema"><value>5</value></property>
        <!-- helper beans for execution -->
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <!-- dependent on presence of saved searches folder -->
        <property name="dependsOn" >
            <list>
                <ref bean="patch.savedSearchesFolder" />
            </list>
        </property>
    </bean>
    <bean id="patch.updatePermissionData" class="org.alfresco.repo.admin.patch.impl.PermissionDataPatch" parent="basePatch" >
        <property name="id"><value>patch.updatePermissionData</value></property>
        <property name="description"><value>patch.updatePermissionData.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2</value></property>
        <property name="targetSchema"><value>3</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
    </bean>
    <bean id="patch.guestUser" class="org.alfresco.repo.admin.patch.impl.GuestUserPatch" parent="basePatch" >
        <property name="id"><value>patch.guestUser</value></property>
        <property name="description"><value>patch.guestUser.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2</value></property>
        <property name="targetSchema"><value>3</value></property>
        <!-- helper beans -->
        <property name="personService">
            <ref bean="personService"/>
        </property>
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>   
    </bean>
    <bean id="patch.fixNodeSerializableValues" class="org.alfresco.repo.admin.patch.impl.NodePropertySerializablePatch" parent="basePatch" >
        <property name="id"><value>patch.fixNodeSerializableValues</value></property>
        <property name="description"><value>patch.fixNodeSerializableValues.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3</value></property>
        <property name="targetSchema"><value>4</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
    </bean>
    <bean id="patch.updateGuestPermission" class="org.alfresco.repo.admin.patch.impl.UpdateGuestPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.updateGuestPermission</value></property>
        <property name="description"><value>patch.updateGuestPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>5</value></property>
        <property name="targetSchema"><value>6</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory"/>
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.guestUser"/>
                <ref bean="patch.updatePermissionData"/>
            </list>
        </property>
    </bean>
    <bean id="patch.guestPersonPermission" class="org.alfresco.repo.admin.patch.impl.GuestPersonPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.guestPersonPermission</value></property>
        <property name="description"><value>patch.guestPersonPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>5</value></property>
        <property name="targetSchema"><value>6</value></property>
        <!-- helper beans for execution -->
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="personService">
            <ref bean="personService"/>
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.updateGuestPermission" />
            </list>
        </property>
    </bean>
    <bean id="patch.spacesRootPermission" class="org.alfresco.repo.admin.patch.impl.SpacesRootPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.spacesRootPermission</value></property>
        <property name="description"><value>patch.spacesRootPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>5</value></property>
        <property name="targetSchema"><value>6</value></property>
        <!-- helper beans for execution -->
        <property name="spacesBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.updateGuestPermission" />
            </list>
        </property>
    </bean>
    <bean id="patch.categoryRootPermission" class="org.alfresco.repo.admin.patch.impl.CategoryRootPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.categoryRootPermission</value></property>
        <property name="description"><value>patch.categoryRootPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>5</value></property>
        <property name="targetSchema"><value>6</value></property>
        <!-- helper beans for execution -->
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="spacesBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
    </bean>
    <bean id="patch.contentPermission" class="org.alfresco.repo.admin.patch.impl.ContentPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.contentPermission</value></property>
        <property name="description"><value>patch.contentPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>6</value></property>
        <property name="targetSchema"><value>7</value></property>
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.updateGuestPermission" />
            </list>
        </property>
    </bean>
    <bean id="patch.updateForumsIcons" class="org.alfresco.repo.admin.patch.impl.ForumsIconsPatch" parent="basePatch" >
        <property name="id"><value>patch.forumsIcons</value></property>
        <property name="description"><value>patch.forumsIcons.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>12</value></property>
        <property name="targetSchema"><value>13</value></property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
    </bean>
    <bean id="patch.emailTemplatesFolder" class="org.alfresco.repo.admin.patch.impl.EmailTemplatesFolderPatch" parent="basePatch" >
        <property name="id"><value>patch.emailTemplatesFolder</value></property>
        <property name="description"><value>patch.emailTemplatesFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>12</value></property>
        <property name="targetSchema"><value>13</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>   
    </bean>
    <bean id="patch.emailTemplatesContent" class="org.alfresco.repo.admin.patch.impl.EmailTemplatesContentPatch" parent="basePatch" >
        <property name="id"><value>patch.emailTemplatesContent</value></property>
        <property name="description"><value>patch.emailTemplatesContent.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>12</value></property>
        <property name="targetSchema"><value>13</value></property>
        <property name="templatesACP"><value>alfresco/templates/email_templates.acp</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>
        <property name="importerService">
            <ref bean="importerComponent" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.emailTemplatesFolder" />
            </list>
        </property>
    </bean>
    <bean id="patch.emailInviteAndNotifyTemplatesFolder" class="org.alfresco.repo.admin.patch.impl.EmailTemplatesInviteAndNotifyFoldersPatch" parent="basePatch" >
        <property name="id"><value>patch.emailInviteAndNotifyTemplatesFolder</value></property>
        <property name="description"><value>patch.emailInviteAndNotifyTemplatesFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4006</value></property>
        <property name="targetSchema"><value>4007</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>   
    </bean>

    <!-- Note: targetSchema 11 is allocated for patching in an enterprise trial license -->
    <!--       A patch bean is not provided as this is handled by the license component internally (enterprise only) -->

    <bean id="patch.descriptorUpdate" class="org.alfresco.repo.admin.patch.impl.DescriptorUpdatePatch" parent="basePatch" >
        <property name="id"><value>patch.descriptorUpdate</value></property>
        <property name="description"><value>patch.descriptorUpdate.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>11</value></property>
        <property name="targetSchema"><value>12</value></property>
        <!-- helper beans for execution -->
        <property name="systemBootstrap">
            <ref bean="systemBootstrap"/>
        </property>
        <property name="searchService">
            <ref bean="searchService"/>
        </property>
    </bean>
    <bean id="patch.scriptsFolder" class="org.alfresco.repo.admin.patch.impl.ScriptsFolderPatch" parent="basePatch">
        <property name="id"><value>patch.scriptsFolder</value></property>
        <property name="description"><value>patch.scriptsFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>12</value></property>
        <property name="targetSchema"><value>13</value></property>
        <property name="scriptsACP"><value>alfresco/bootstrap/example_javascripts.acp</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>
        <property name="importerService">
            <ref bean="importerComponent" />
        </property>
    </bean>

    <bean id="patch.topLevelGroupParentChildAssociationTypePatch" class="org.alfresco.repo.admin.patch.impl.TopLevelGroupParentChildAssociationTypePatch" parent="basePatch">
        <property name="id"><value>patch.topLevelGroupParentChildAssociationTypePatch</value></property>
        <property name="description"><value>patch.topLevelGroupParentChildAssociationTypePatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>13</value></property>
        <property name="targetSchema"><value>14</value></property>
    </bean>
    
    <bean id="patch.actionRuleDecouplingPatch" class="org.alfresco.repo.admin.patch.impl.ActionRuleDecouplingPatch" parent="basePatch">
        <property name="id"><value>patch.actionRuleDecouplingPatch</value></property>
        <property name="description"><value>patch.actionRuleDecouplingPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>14</value></property>
        <property name="targetSchema"><value>15</value></property>
    </bean>
    
    <bean id="patch.systemWorkflowFolderPatch" class="org.alfresco.repo.admin.patch.impl.SystemWorkflowFolderPatch" parent="basePatch">
        <property name="id"><value>patch.systemWorkflowFolderPatch</value></property>
        <property name="description"><value>patch.systemWorkflowFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>15</value></property>
        <property name="targetSchema"><value>16</value></property>
        <property name="workflowPackageImpl" ref="workflowPackageImpl"/>
    </bean>
    
    <bean id="patch.rssTemplatesFolderPatch" class="org.alfresco.repo.admin.patch.impl.RSSTemplatesFolderPatch" parent="basePatch">
        <property name="id"><value>patch.rssFolder</value></property>
        <property name="description"><value>patch.rssTemplatesFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>16</value></property>
        <property name="targetSchema"><value>17</value></property>
        <property name="rssTemplatesACP"><value>alfresco/templates/rss_templates.acp</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>
        <property name="importerService">
            <ref bean="importerComponent" />
        </property>
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
    </bean>
    
    <bean id="patch.uifacetsTemplatesPatch" class="org.alfresco.repo.admin.patch.impl.UIFacetsAspectRemovalPatch" parent="basePatch">
        <property name="id"><value>patch.uifacetsTemplates</value></property>
        <property name="description"><value>patch.uifacetsAspectRemovalPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>17</value></property>
        <property name="targetSchema"><value>18</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="messageSource">
            <ref bean="bootstrapSpacesMessageSource" />
        </property>
    </bean>
    
    <bean id="patch.guestPersonPermission2" class="org.alfresco.repo.admin.patch.impl.GuestPersonPermissionPatch2" parent="basePatch" >
        <property name="id"><value>patch.guestPersonPermission2</value></property>
        <property name="description"><value>patch.guestPersonPermission2.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>18</value></property>
        <property name="targetSchema"><value>19</value></property>
        <!-- helper beans for execution -->
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="personService">
            <ref bean="personService"/>
        </property>
    </bean>
    
    <bean id="patch.schemaUpdateScript-V1.4-1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.schemaUpdateScript-V1.4-1</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>19</value></property>
        <property name="targetSchema"><value>20</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-1.sql</value>
        </property>
    </bean>
    <bean id="patch.uniqueChildName" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch" >
        <property name="id"><value>patch.uniqueChildName</value></property>
        <property name="description"><value>patch.uniqueChildName.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>19</value></property>
        <property name="targetSchema"><value>20</value></property>
        <property name="lastSupportedVersion" >
            <value>2.1.4</value>
        </property>
    </bean>
    <bean id="patch.schemaUpdateScript-V1.4-2" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.schemaUpdateScript-V1.4-2</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>20</value></property>
        <property name="targetSchema"><value>21</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-2.sql</value>
        </property>
        <!-- dependent on upgrade script 1.4-1 having being run -->
        <property name="dependsOn" >
            <list>
                <ref bean="patch.schemaUpdateScript-V1.4-1" />
            </list>
        </property>
    </bean>
    <bean id="patch.InvalidNameEnding" class="org.alfresco.repo.admin.patch.impl.InvalidNameEndingPatch" parent="basePatch" >
        <property name="id"><value>patch.InvalidNameEnding</value></property>
        <property name="description"><value>patch.invalidNameEnding.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>21</value></property>
        <property name="targetSchema"><value>22</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="nodeDaoService">
            <ref bean="nodeDaoService" />
        </property>
    </bean>
    <bean id="patch.systemDescriptorContent" class="org.alfresco.repo.admin.patch.impl.SystemDescriptorContentPatch" parent="basePatch" >
        <property name="id"><value>patch.systemDescriptorContent</value></property>
        <property name="description"><value>patch.systemDescriptorContent.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>22</value></property>
        <property name="targetSchema"><value>23</value></property>
        <!-- helper beans -->
        <property name="configurationChecker">
            <ref bean="configurationChecker" />
        </property>
        <property name="contentService">
            <ref bean="contentService" />
        </property>
    </bean>
    <bean id="patch.versionHistoryPerformance" class="org.alfresco.repo.admin.patch.impl.VersionHistoryPerformancePatch" parent="basePatch" >
        <property name="id"><value>patch.versionHistoryPerformance</value></property>
        <property name="description"><value>patch.versionHistoryPerformance.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>38</value></property>
        <property name="targetSchema"><value>39</value></property>
        <property name="versionService">
            <ref bean="VersionService" />
        </property>
    </bean>
    <bean id="patch.multilingualBootstrap" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.multilingualBootstrap</value></property>
        <property name="description"><value>patch.multilingualBootstrap.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>29</value></property>
        <property name="targetSchema"><value>30</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/cm:multilingualRoot</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/</prop>
                <prop key="location">alfresco/bootstrap/multilingualRoot.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.LinkNodeFileExtension" class="org.alfresco.repo.admin.patch.impl.LinkNodeFileExtensionPatch" parent="basePatch" >
        <property name="id"><value>patch.LinkNodeFileExtension</value></property>
        <property name="description"><value>patch.linkNodeExtension.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>33</value></property>
        <property name="targetSchema"><value>34</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="nodeDaoService">
            <ref bean="nodeDaoService" />
        </property>
    </bean>

    <bean id="patch.systemRegistryBootstrap" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.systemRegistryBootstrap</value></property>
        <property name="description"><value>patch.systemRegistryBootstrap.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>34</value></property>
        <property name="targetSchema"><value>35</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="systemBootstrap" />
        </property>
        <property name="checkPath">
            <value>/sys:system-registry</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/</prop>
                <prop key="location">alfresco/bootstrap/systemRegistry.xml</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patch.userAndPersonUserNamesAsIdentifiers" class="org.alfresco.repo.admin.patch.impl.UserAndPersonTokenisationPatch" parent="basePatch" >
        <property name="id"><value>patch.userAndPersonUserNamesAsIdentifiers</value></property>
        <property name="description"><value>patch.userAndPersonUserNamesAsIdentifiers.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>35</value></property>
        <property name="targetSchema"><value>36</value></property>
        <!-- bootstrap view -->
        <property name="userImporterBootstrap">
            <ref bean="userBootstrap" />
        </property>
        <property name="spacesImporterBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
    </bean>
    
    <bean id="patch.contentFormFolderType" class="org.alfresco.repo.admin.patch.impl.ContentFormTypePatch" parent="basePatch" >
        <property name="id"><value>patch.contentFormFolderType</value></property>
        <property name="description"><value>patch.contentFormFolderType.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>36</value></property>
        <property name="targetSchema"><value>37</value></property>
        <!-- helper beans for execution -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
    </bean>

    <bean id="patch.db-V2.1-JBPMData" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-JBPMUpdate</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>51</value></property>
        <property name="targetSchema"><value>52</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-JBPMData.sql</value>
        </property>
    </bean>

    <bean id="patch.db-V2.1-NotNullColumns" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-NotNullColumns</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>51</value></property>
        <property name="targetSchema"><value>52</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-NotNullColumns.sql</value>
        </property>
    </bean>
    
    <bean id="patch.groupNamesAsIdentifiers" class="org.alfresco.repo.admin.patch.impl.GroupTokenisationPatch" parent="basePatch" >
        <property name="id"><value>patch.groupNamesAsIdentifiers</value></property>
        <property name="description"><value>patch.groupNamesAsIdentifiers.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>51</value></property>
        <property name="targetSchema"><value>52</value></property>
        <!-- bootstrap view -->
        <property name="userImporterBootstrap">
            <ref bean="userBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
    </bean>
    
    <bean id="patch.invalidUserPersonAndGroup" class="org.alfresco.repo.admin.patch.impl.InvalidUserPersonAndGroupPatch" parent="basePatch" >
        <property name="id"><value>patch.invalidUserPersonAndGroup</value></property>
        <property name="description"><value>patch.invalidUserPersonAndGroup.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>51</value></property>
        <property name="targetSchema"><value>52</value></property>
        <!-- bootstrap view -->
        <property name="userImporterBootstrap">
            <ref bean="userBootstrap" />
        </property>
        <property name="spacesImporterBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="dictionaryService">
            <ref bean="dictionaryService" />
        </property>
    </bean>

    <bean id="patch.AVMGuidPatch" class="org.alfresco.repo.admin.patch.impl.AVMGuidPatch" parent="basePatch">
        <property name="id"><value>patch.AVMGuidPatch</value></property>
        <property name="description"><value>patch.AVMGuidPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>51</value></property>
        <property name="targetSchema"><value>52</value></property>
        <property name="avmNodeDao">
            <ref bean="newAvmNodeDAO"/>
        </property>
        <property name="patchDao">
            <ref bean="patchDAO"/>
        </property>
    </bean>

    <bean id="patch.webscripts" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.webscripts</value></property>
        <property name="description"><value>patch.webscripts.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>50</value></property>
        <property name="targetSchema"><value>51</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/webScripts.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.webscriptsExtension" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.webscriptsExtension</value></property>
        <property name="description"><value>patch.webscriptsExtension.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>54</value></property>
        <property name="targetSchema"><value>55</value></property>        
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/webScriptsExtensions.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.AVMLayeredSnapshot" class="org.alfresco.repo.admin.patch.impl.AVMLayeredSnapshotPatch" parent="basePatch">
        <property name="id"><value>patch.AVMLayeredSnapshot</value></property>
        <property name="description"><value>patch.AVMLayeredSnapshot.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>55</value></property>
        <property name="targetSchema"><value>56</value></property>
        <property name="avmNodeDao">
            <ref bean="newAvmNodeDAO"/>
        </property>
        <property name="patchDao">
            <ref bean="patchDAO"/>
        </property>
    </bean>

    <bean id="patch.groupMembersAsIdentifiers" class="org.alfresco.repo.admin.patch.impl.GroupTokenisationPatch" parent="basePatch" >
        <property name="id"><value>patch.groupMembersAsIdentifiers</value></property>
        <property name="description"><value>patch.groupMembersAsIdentifiers.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>56</value></property>
        <property name="targetSchema"><value>57</value></property>
        <!-- bootstrap view -->
        <property name="userImporterBootstrap">
            <ref bean="userBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
    </bean>

    <bean id="patch.redeploySubmitProcess" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>57</value></property>
        <property name="targetSchema"><value>58</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <bean id="patch.AVMLocking" class="org.alfresco.repo.admin.patch.impl.AVMLockingPatch" parent="basePatch">
        <property name="id"><value>patch.AVMLocking</value></property>        
        <property name="description"><value>patch.AVMLocking.description</value></property>        
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>58</value></property>
        <property name="targetSchema"><value>59</value></property>
        <property name="avmLockingService">
            <ref bean="avmLockingService"/>
        </property>
    </bean>

    <bean id="patch.ReadmeTemplate" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.ReadmeTemplate</value></property>
        <property name="description"><value>patch.ReadmeTemplate.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>59</value></property>
        <property name="targetSchema"><value>60</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.content.childname}</prop>
                <prop key="location">alfresco/templates/readme_template.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-readme-template</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.webScriptsReadme" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.webScriptsReadme</value></property>
        <property name="description"><value>patch.webScriptsReadme.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>59</value></property>
        <property name="targetSchema"><value>60</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/webScriptsReadme.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.db-V2.1-JBPMProcessKey" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-JBPMProcessKey</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>62</value></property>
        <property name="targetSchema"><value>63</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql</value>
        </property>
    </bean>
    
    <bean id="patch.db-V2.1-VersionColumns2" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-VersionColumns2</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>63</value></property>
        <property name="targetSchema"><value>64</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-VersionColumns.sql</value>
        </property>
    </bean>

    <bean id="patch.webscripts2" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.webscripts2</value></property>
        <property name="description"><value>patch.webscripts2.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>100</value></property>
        <property name="targetSchema"><value>101</value></property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/webScripts2.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.customModels" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.customModels</value></property>
        <property name="description"><value>patch.customModels.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>101</value></property>
        <property name="targetSchema"><value>102</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/app:models</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/customModelsSpace.acp</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patch.customMessages" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.customMessages</value></property>
        <property name="description"><value>patch.customMessages.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>101</value></property>
        <property name="targetSchema"><value>102</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/app:messages</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/customMessagesSpace.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>
  
    <bean id="patch.customWebClientExtension" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.customWebClientExtension</value></property>
        <property name="description"><value>patch.customWebClientExtension.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>101</value></property>
        <property name="targetSchema"><value>102</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/app:webclient_extension</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/customWebClientExtensionSpace.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.redeploySubmitProcess2" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>102</value></property>
        <property name="targetSchema"><value>103</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <bean id="patch.db-V2.1-RemoveWcmSubmittedAspect" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-RemoveWcmSubmittedAspect</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>103</value></property>
        <property name="targetSchema"><value>104</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-RemoveWcmSubmittedAspect.sql</value>
        </property>
    </bean>

    <bean id="patch.webscripts3" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.webscripts3</value></property>
        <property name="description"><value>patch.webscripts3.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>104</value></property>
        <property name="targetSchema"><value>105</value></property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/</prop>
                <prop key="location">alfresco/bootstrap/webScriptsReadme2.xml</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.customWorkflowDefs" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.customWorkflowDefs</value></property>
        <property name="description"><value>patch.customWorkflowDefs.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>105</value></property>
        <property name="targetSchema"><value>106</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/app:workflow_defs</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/customWorkflowDefsSpace.acp</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.avmStoreAsIdentifier" class="org.alfresco.repo.admin.patch.impl.AVMStorePropertyTokenisationPatch" parent="basePatch" >
        <property name="id"><value>patch.avmStoreAsIdentifier</value></property>
        <property name="description"><value>patch.avmStoreAsIdentifier.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>109</value></property>
        <property name="targetSchema"><value>110</value></property>
        <property name="spacesImporterBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
    </bean>
    
    <bean id="patch.db-V1.4-TxnCommitTimeIndex" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V1.4-TxnCommitTimeIndex</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>110</value></property>
        <property name="targetSchema"><value>111</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-TxnCommitTimeIndex.sql</value>
        </property>
        <!-- dependent on upgrade script 1.4-2 having being run -->
        <property name="dependsOn" >
            <list>
                <ref bean="patch.schemaUpdateScript-V1.4-2" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.avmFormPropertyIdentifier" class="org.alfresco.repo.admin.patch.impl.AVMFormsPropertyTokenisationPatch" parent="basePatch" >
        <property name="id"><value>patch.avmFormPropertyIdentifier</value></property>
        <property name="description"><value>patch.avmFormPropertyIdentifier.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>111</value></property>
        <property name="targetSchema"><value>112</value></property>
        <property name="spacesImporterBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
    </bean>
  
    <bean id="patch.formsFolder" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.formsFolder</value></property>
        <property name="description"><value>patch.formsFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>112</value></property>
        <property name="targetSchema"><value>113</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/app:forms</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/formsSpace.xml</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patch.tagRootCategory" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.tagRootCategory</value></property>
        <property name="description"><value>patch.tagRootCategory.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>113</value></property>
        <property name="targetSchema"><value>114</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/cm:categoryRoot/cm:taggable</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/cm:categoryRoot</prop>
                <prop key="location">alfresco/bootstrap/tagRootCategory.xml</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patch.deploymentMigration" class="org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch" parent="basePatch" >
        <property name="id"><value>patch.deploymentMigration</value></property>
        <property name="description"><value>patch.deploymentMigration.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>116</value></property>
        <property name="targetSchema"><value>117</value></property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
        <property name="avmService">
            <ref bean="avmService" />
        </property>
    </bean>
    
    <bean id="patch.redeploySubmitProcess3" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>117</value></property>
        <property name="targetSchema"><value>118</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>
   
   <bean id="patch.db-V2.2-ACL-From-2.1-A" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-ACL-From-2.1-A</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>${V2.1-A.fixes.to.schema}</value></property>
        <property name="targetSchema"><value>120</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-A--to--2.2-ACL.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.1-NotNullColumns" />
            </list>
        </property>
    </bean>
   
    <bean id="patch.db-V2.2-ACL" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-ACL</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>119</value></property>
        <property name="targetSchema"><value>120</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AlfrescoSchemaUpdate-2.2-ACL.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.1-NotNullColumns" />
            </list>
        </property>
      <property name="alternatives" >
            <list>
                <ref bean="patch.db-V2.2-ACL-From-2.1-A" />
            </list>
        </property>
    </bean>

    <bean id="patch.updateAvmPermissionData" class="org.alfresco.repo.admin.patch.impl.AVMPermissionDataPatch" parent="basePatch" >
        <property name="id"><value>patch.updateAvmPermissionData</value></property>
        <property name="description"><value>patch.updateAvmPermissionData.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>119</value></property>
        <property name="targetSchema"><value>120</value></property>
        <!-- helper beans -->
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.2-ACL" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.db-V2.2-CleanNodeStatuses" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-CleanNodeStatuses</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>89</value></property>
        <property name="targetSchema"><value>90</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AlfrescoSchemaUpdate-2.2-CleanNodeStatuses.sql</value>
        </property>
        <property name="alternatives" >
            <list>
                <ref bean="patch.db-V2.2-Upgrade-From-2.1" />
            </list>
        </property>
    </bean>
    <bean id="patch.db-V2.2-0-CreateMissingTables" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-0-CreateMissingTables</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>120</value></property>
        <property name="targetSchema"><value>121</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/upgrade-0-create-missing-tables.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.2-CleanNodeStatuses" />
                <ref bean="patch.db-V2.2-ACL" />
            </list>
        </property>
    </bean>
    <bean id="patch.db-V2.2-2-MoveQNames" class="org.alfresco.repo.admin.patch.impl.NoOpPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-2-MoveQNames</value></property>
        <property name="description"><value>patch.noOpPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>120</value></property>
        <property name="targetSchema"><value>121</value></property>
    </bean>
    <bean id="patch.db-V2.2-Upgrade-From-2.1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-Upgrade-From-2.1</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>120</value></property>
        <property name="targetSchema"><value>135</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/upgrade-from-2.1.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.2-CleanNodeStatuses" />
                <ref bean="patch.db-V2.2-0-CreateMissingTables" />
            </list>
        </property>
        <property name="alternatives" >
            <list>
                <ref bean="patch.db-V2.2-2-MoveQNames" />
            </list>
        </property>
    </bean>
    <bean id="patch.db-V2.2-Upgrade-From-2.2SP1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-Upgrade-From-2.2SP1</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>134</value></property>
        <property name="targetSchema"><value>135</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/upgrade-from-2.2SP1.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.2-2-MoveQNames" />
            </list>
        </property>
        <property name="alternatives" >
            <list>
                <ref bean="patch.db-V2.2-Upgrade-From-2.1" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.avmWebProjectInheritPermissions02" class="org.alfresco.repo.admin.patch.impl.AVMWebProjectInheritPermissionsPatch" parent="basePatch">
        <property name="id"><value>patch.avmWebProjectInheritPermissions02</value></property>
        <property name="description"><value>patch.avmWebProjectInheritPermissions.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>122</value></property>
        <property name="targetSchema"><value>123</value></property>
        <property name="spacesImporterBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
    </bean>
    
    <bean id="patch.db-V2.0-ContentUrls" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.0-ContentUrls</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>123</value></property>
        <property name="targetSchema"><value>124</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.0/${db.script.dialect}/AlfrescoSchemaUpdate-2.0-ContentUrls.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V2.2-Upgrade-From-2.2SP1" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.updateDmPermissions" class="org.alfresco.repo.admin.patch.impl.DmPermissionsPatch" parent="basePatch" >
        <property name="id"><value>patch.updateDmPermissions</value></property>
        <property name="description"><value>patch.updateDmPermissions.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>124</value></property>
        <property name="targetSchema"><value>125</value></property>
        <!-- helper beans -->
        <property name="accessControlListDao">
            <ref bean="nodeACLDAO" />
        </property>
        <property name="aclDaoComponent">
            <ref bean="aclDaoComponent" />
        </property>
    </bean>

    <bean id="patch.db-V3.0-0-CreateActivitiesExtras" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.0-0-CreateActivitiesExtras</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>125</value></property>
        <property name="targetSchema"><value>126</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/create/3.0/${db.script.dialect}/create-activities-extras.sql</value>
        </property>
    </bean>
    
    <bean id="patch.createSiteStore" class="org.alfresco.repo.admin.patch.impl.SiteStorePatch" parent="basePatch">
        <property name="id"><value>patch.createSiteStore</value></property>
        <property name="description"><value>patch.createSiteStore.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>126</value></property>
        <property name="targetSchema"><value>127</value></property>
        <!-- helper beans -->
        <property name="siteAVMBootstrap">
            <ref bean="siteAVMBootstrap" />
        </property>
    </bean>

    <bean id="patch.sitesFolder" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.sitesFolder</value></property>
        <property name="description"><value>patch.sitesFolder.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>127</value></property>
        <property name="targetSchema"><value>128</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/st:sites</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}</prop>
                <prop key="location">alfresco/bootstrap/sitesSpace.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>
    
    <bean id="patch.sitePermissionRefactorPatch" class="org.alfresco.repo.admin.patch.impl.SitePermissionRefactorPatch" parent="basePatch">
        <property name="id"><value>patch.sitePermissionRefactorPatch</value></property>
        <property name="description"><value>patch.sitePermissionRefactorPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>128</value></property>
        <property name="targetSchema"><value>129</value></property>
        <!-- helper beans -->
        <property name="siteService">
            <ref bean="siteService" />
        </property>
        <property name="permissionService">
            <ref bean="PermissionService" />
        </property>
        <property name="authorityService">
            <ref bean="AuthorityService" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.zonedAuthorities" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.migrateVersionStore" class="org.alfresco.repo.admin.patch.impl.MigrateVersionStorePatch" parent="basePatch" >
        <property name="id"><value>patch.migrateVersionStore</value></property>
        <property name="description"><value>patch.migrateVersionStore.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>129</value></property>
        <property name="targetSchema"><value>130</value></property>
        <!-- helper beans/properties -->
        <property name="versionMigrator">
            <ref bean="versionMigrator" />
        </property>
        <property name="tenantService">
            <ref bean="tenantService" />
        </property>
        <property name="importerBootstrap">
            <ref bean="version2Bootstrap" />
        </property>
    </bean>
            
    <bean id="patch.inviteEmailTemplate" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.inviteEmailTemplate</value></property>
        <property name="description"><value>patch.inviteEmailTemplate.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>130</value></property>
        <property name="targetSchema"><value>131</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
                <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}/${spaces.templates.email.invite.childname}</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.templates.email.childname}</prop>
                <prop key="location">alfresco/bootstrap/invite/invite-email.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.emailTemplatesFolder" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.calendarNamespaceUri" class="org.alfresco.repo.admin.patch.impl.CalendarModelUriPatch" parent="basePatch" >
        <property name="id"><value>patch.calendarNamespaceUri</value></property>
        <property name="description"><value>patch.calendarModelNamespacePatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>131</value></property>
        <property name="targetSchema"><value>132</value></property>
        <!-- helper beans -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
    </bean>
   
    <bean id="patch.db-V2.1-AuditPathIndex" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.1-AuditPathIndex</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>132</value></property>
        <property name="targetSchema"><value>133</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-AuditPathIndex.sql</value>
        </property>
    </bean>
    
    <bean id="patch.spacesStoreGuestPermission" class="org.alfresco.repo.admin.patch.impl.SpacesStoreGuestPermissionPatch" parent="basePatch" >
        <property name="id"><value>patch.spacesStoreGuestPermission</value></property>
        <property name="description"><value>patch.spacesStoreGuestPermission.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>133</value></property>
        <property name="targetSchema"><value>134</value></property>
        <property name="permissionService">
            <ref bean="permissionService"/>
        </property>
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.updateGuestPermission" />
            </list>
        </property>
    </bean>

   <bean id="patch.redeploySubmitProcess4" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess4</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>1000</value></property>
        <property name="targetSchema"><value>1001</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>
    
    <!-- For support of asynchronous wcm submit -->
    <bean id="patch.redeploySubmitProcess5" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess5</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2000</value></property>
        <property name="targetSchema"><value>2001</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <!-- For support of direct wcm submit -->
    <bean id="patch.deploySubmitDirectProcess" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.deploySubmitDirectProcess</value></property>
        <property name="description"><value>patch.deploySubmitDirectProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2000</value></property>
        <property name="targetSchema"><value>2001</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <!-- WCM workflow definition -->
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submitdirect_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <bean id="patch.resetWCMToGroupBasedPermissionsPatch" class="org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch" parent="basePatch" >
        <property name="id"><value>patch.resetWCMToGroupBasedPermissionsPatch</value></property>
        <property name="description"><value>patch.resetWCMToGroupBasedPermissionsPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2001</value></property>
        <property name="targetSchema"><value>2002</value></property>
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="avmService">
            <ref bean="avmService" />
        </property>
        <property name="permissionService">
            <ref bean="permissionService" />
        </property>
        <property name="personService">
            <ref bean="personService" />
        </property>
        <property name="authorityService">
            <ref bean="authorityService" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="replaceAllWith">
            <value>ContentManager</value>
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.updateAvmPermissionData" />
                <ref bean="patch.zonedAuthorities" />
            </list>
        </property>
        <property name="alternatives" >
            <list>
                <ref bean="patch.moveWCMToGroupBasedPermissionsPatch" />
            </list>
        </property>
    </bean>

    <!-- note: does not need to be run if patch.wcmPostPermissionSnapshotPatch2 already applied -->
    <bean id="patch.wcmPostPermissionSnapshotPatch3" class="org.alfresco.repo.admin.patch.impl.WCMPostPermissionSnapshotPatch" parent="basePatch" >
        <property name="id"><value>patch.wcmPostPermissionSnapshotPatch3</value></property>
        <property name="description"><value>patch.wcmPostPermissionSnapshotPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2001</value></property>
        <property name="targetSchema"><value>2002</value></property>

        <property name="avmService">
            <ref bean="AVMService" />
        </property>
        <property name="avmSnapShotTriggeredIndexingMethodInterceptor">
            <ref bean="avmSnapShotTriggeredIndexingMethodInterceptor" />
        </property>
        <property name="aclDaoComponent">
            <ref bean="aclDaoComponent" />
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.resetWCMToGroupBasedPermissionsPatch" />
            </list>
        </property>
        <property name="alternatives" >
            <list>
                <ref bean="patch.wcmPostPermissionSnapshotPatch2" />
            </list>
        </property>
    </bean>
    
    <!-- note: NOOP - superceded by patch.resetWCMToGroupBasedPermissionsPatch -->
    <bean id="patch.moveWCMToGroupBasedPermissionsPatch" class="org.alfresco.repo.admin.patch.impl.NoOpPatch" parent="basePatch" >
        <property name="id"><value>patch.moveWCMToGroupBasedPermissionsPatch</value></property>
        <property name="description"><value>patch.noOpPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2001</value></property>
        <property name="targetSchema"><value>2002</value></property>
        
        <property name="dependsOn" >
            <list>
                <ref bean="patch.resetWCMToGroupBasedPermissionsPatch" />
            </list>
        </property>
    </bean>
    
    <!-- note: NOOP - superceded by patch.wcmPostPermissionSnapshotPatch3 -->
    <bean id="patch.wcmPostPermissionSnapshotPatch2" class="org.alfresco.repo.admin.patch.impl.NoOpPatch" parent="basePatch" >
        <property name="id"><value>patch.wcmPostPermissionSnapshotPatch2</value></property>
        <property name="description"><value>patch.noOpPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2001</value></property>
        <property name="targetSchema"><value>2002</value></property>
        
        <property name="dependsOn" >
            <list>
                <ref bean="patch.wcmPostPermissionSnapshotPatch3" />
            </list>
        </property>
    </bean>
    
    
    <!--  Redeploy both direct and indirect submit processes for addition submit failure handling -->
    <bean id="patch.redeploySubmitProcess6" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess6</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2002</value></property>
        <property name="targetSchema"><value>2003</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submitdirect_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <!--  Redeploy both direct and indirect submit processes for Oracle handling of empty transition names -->
    <bean id="patch.redeploySubmitProcess7" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeploySubmitProcess7</value></property>
        <property name="description"><value>patch.redeploySubmitProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2003</value></property>
        <property name="targetSchema"><value>2004</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/submitdirect_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>
    
    <bean id="patch.db-V2.2-Person-3" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V2.2-Person-3</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3002</value></property>
        <property name="targetSchema"><value>3003</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AlfrescoSchemaUpdate-Person.sql</value>
        </property>
    </bean>
    
    <bean id="patch.webSiteAddModerated" class="org.alfresco.repo.admin.patch.impl.WebSiteAddModeratedPatch" parent="basePatch">
        <property name="id"><value>patch.webSiteAddModerated</value></property>
        <property name="description"><value>patch.webSiteAddModerated.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2006</value></property>
        <property name="targetSchema"><value>2007</value></property>
        <property name="permissionService">
           <ref bean="permissionService"/>
        </property>
        <property name="nodeService">
            <ref bean="nodeService"/>
        </property>
        <property name="siteService">
            <ref bean="siteService"/>
        </property>
    </bean>
    
    <bean id="patch.invitationMigration" class="org.alfresco.repo.admin.patch.impl.InvitationMigrationPatch" parent="basePatch">
        <property name="id"><value>patch.invitationMigration</value></property>
        <property name="description"><value>patch.invitationMigration.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2006</value></property>
        <property name="targetSchema"><value>2007</value></property>
        <property name="workflowService">
            <ref bean="WorkflowService"/>
        </property>
        <property name="invitationService">
            <ref bean="invitationService"/>
        </property>
    </bean>
    
   <bean id="patch.db-V3.2-Remove-AVM-Issuer" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-Remove-AVM-Issuer</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2007</value></property>
        <property name="targetSchema"><value>2008</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/3.2/${db.script.dialect}/remove-AVM-issuer.sql</value>
        </property>
    </bean>
    
    <bean id="patch.mtShareExistingTenants" class="org.alfresco.repo.admin.patch.impl.MultiTShareExistingTenantsPatch" parent="basePatch">
        <property name="id"><value>patch.mtShareExistingTenants</value></property>
        <property name="description"><value>patch.mtShareExistingTenants.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2008</value></property>
        <property name="targetSchema"><value>2009</value></property>
        <property name="applyToTenants"><value>true</value></property>
        
        <!-- helper beans/properties -->
        <property name="tenantService">
            <ref bean="tenantService" />
        </property>
        <property name="siteAVMBootstrap">
            <ref bean="siteAVMBootstrap"/>
        </property>
        <property name="workflowDeployer">
            <ref bean="workflowPatchDeployer"/>
        </property>
        <property name="workflowDefinitions">
            <list>
                <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
                   <prop key="mimetype">text/xml</prop>
               </props>
                <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/invitation-moderated_processdefinition.xml</prop>
                   <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>

    <bean id="patch.redeployInvitationProcess" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeployInvitationProcess</value></property>
        <property name="description"><value>patch.redeployInvitationProcess.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2009</value></property>
        <property name="targetSchema"><value>2010</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/invitation-moderated_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>
    
   <bean id="patch.db-V3.2-LockTables" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-LockTables</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2010</value></property>
        <property name="targetSchema"><value>2011</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-LockTables.sql</value>
        </property>
    </bean>

    <bean id="patch.zonedAuthorities" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.zonedAuthorities</value></property>
        <property name="description"><value>patch.zonedAuthorities.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2011</value></property>
        <property name="targetSchema"><value>2012</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${system.system_container.childname}/${system.authorities_container.childname}</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${system.system_container.childname}</prop>
                <prop key="location">alfresco/bootstrap/alfrescoAuthorityStore.xml</prop>
            </props>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.fixNameCrcValues-2" />
            </list>
        </property>
    </bean>

    <bean id="patch.authorityMigration" class="org.alfresco.repo.admin.patch.impl.AuthorityMigrationPatch" parent="basePatch" >
        <property name="id"><value>patch.authorityMigration</value></property>
        <property name="description"><value>patch.authorityMigration.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2012</value></property>
        <property name="targetSchema"><value>2013</value></property>
        <property name="authorityService">
            <ref bean="authorityService" />
        </property>
        <property name="ruleService">
            <ref bean="ruleService" />
        </property>
        <property name="userBootstrap">
            <ref bean="userBootstrap" />
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.zonedAuthorities" />
            </list>
        </property>
    </bean>
   
   <bean id="patch.authorityDefaultZonesPatch" class="org.alfresco.repo.admin.patch.impl.AuthorityDefaultZonesPatch" parent="basePatch" >
        <property name="id"><value>patch.authorityDefaultZonesPatch</value></property>
        <property name="description"><value>patch.authorityDefaultZonesPatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2013</value></property>
        <property name="targetSchema"><value>2014</value></property>
        <property name="authorityService">
            <ref bean="authorityService" />
        </property>
      <property name="avmService">
            <ref bean="avmService" />
        </property>
      <property name="siteService">
            <ref bean="siteService" />
        </property>
      <property name="hibernateSessionHelper">
            <ref bean="hibernateSessionHelper"/>
        </property>
        <property name="dependsOn">
            <list>
                <ref bean="patch.authorityMigration" />
            </list>
        </property>
    </bean>
    
    <bean id="patch.db-V3.2-ContentTables" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-ContentTables</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2015</value></property>
        <property name="targetSchema"><value>2016</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-ContentTables.sql</value>
        </property>
    </bean>
    
    <bean id="patch.db-V3.2-Modify-AVM-MimeType" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-Modify-AVM-MimeType</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2016</value></property>
        <property name="targetSchema"><value>2017</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/3.2/${db.script.dialect}/modify-AVM-mimetype.sql</value>
        </property>
    </bean>

    <bean id="patch.db-V3.2-Upgrade-JBPM" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-Upgrade-JBPM</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>2017</value></property>
        <property name="targetSchema"><value>2018</value></property>
        <property name="scriptUrl">           
            <value>classpath:alfresco/dbscripts/upgrade/3.2/${db.script.dialect}/jbpm-upgrade.sql</value>
        </property>
    </bean>

   <bean id="patch.imapFolders" class="org.alfresco.repo.admin.patch.impl.ImapFoldersPatch" parent="basePatch" >
      <property name="id"><value>patch.imapFolders</value></property>
      <property name="description"><value>patch.imapFolders.description</value></property>
      <property name="fixesFromSchema"><value>0</value></property>
      <property name="fixesToSchema"><value>2018</value></property>
      <property name="targetSchema"><value>2019</value></property>
      <property name="importerBootstrap">
         <ref bean="spacesBootstrap" />
      </property>
      <property name="messageSource">
         <ref bean="bootstrapSpacesMessageSource" />
      </property>
      <property name="importerService">
         <ref bean="importerComponent" />
      </property>
      <property name="configFoldersACP"><value>alfresco/templates/imap/imap_config_space.acp</value></property>   
      <property name="emailActionsACP"><value>alfresco/templates/imap/email_actions_space.acp</value></property>   
      <property name="scriptsACP"><value>alfresco/templates/imap/command_processor_scripts.acp</value></property>   
   </bean>
    
   <bean id="patch.db-V3.2-PropertyValueTables" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-PropertyValueTables</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3000</value></property>
        <property name="targetSchema"><value>3001</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-PropertyValueTables.sql</value>
        </property>
    </bean>
    
   <bean id="patch.db-V3.2-AuditTables" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-AuditTables</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3001</value></property>
        <property name="targetSchema"><value>3002</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-AuditTables.sql</value>
        </property>
    </bean>
    
    <bean id="patch.db-V3.1-Allow-IPv6" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.1-Allow-IPv6</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3003</value></property>
        <property name="targetSchema"><value>3004</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/upgrade/3.1/${db.script.dialect}/IPv6-patch.sql</value>
        </property>
    </bean>
    
    <bean id="patch.personUsagePatch" class="org.alfresco.repo.admin.patch.impl.PersonUsagePatch" parent="basePatch" >
        <property name="id"><value>patch.personUsagePatch</value></property>
        <property name="description"><value>patch.personUsagePatch.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3004</value></property>
        <property name="targetSchema"><value>3005</value></property>
        <!-- helper beans -->
        <property name="nodeDaoService">
            <ref bean="nodeDaoService"/>
        </property>
        <property name="personStoreUrl">
           <value>${spaces.store}</value>
        </property>
        <property name="tenantService">
            <ref bean="tenantService"/>
        </property>
    </bean>
    
    <bean id="patch.db-V3.2-Child-Assoc-QName-CRC" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-Child-Assoc-QName-CRC</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3005</value></property>
        <property name="targetSchema"><value>3006</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/3.2/${db.script.dialect}/child-assoc-qname-crc.sql</value>
        </property>
    </bean>

    <bean id="patch.fixNameCrcValues-2" class="org.alfresco.repo.admin.patch.impl.FixNameCrcValuesPatch" parent="basePatch" >
        <property name="id"><value>patch.fixNameCrcValues-2</value></property>
        <property name="description"><value>patch.fixNameCrcValues.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>3006</value></property>
        <property name="targetSchema"><value>3007</value></property>
        <property name="applyToTenants"><value>false</value></property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.uniqueChildName" />
                <ref bean="patch.InvalidNameEnding" />
            </list>
        </property>
        <property name="sessionFactory">
            <ref bean="sessionFactory" />
        </property>
        <property name="nodeDaoService">
            <ref bean="nodeDaoService" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="controlDAO">
            <ref bean="controlDAO" />
        </property>
        <property name="ruleService">
            <ref bean="ruleService" />
        </property>
    </bean>
    
    <bean id="patch.redeployNominatedInvitationProcessWithPropsForShare" class="org.alfresco.repo.admin.patch.impl.GenericWorkflowPatch" parent="basePatch" >
        <property name="id"><value>patch.redeployNominatedInvitationProcessWithPropsForShare</value></property>
        <property name="description"><value>patch.redeployNominatedInvitationProcessWithPropsForShare.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4000</value></property>
        <property name="targetSchema"><value>4001</value></property>
        <property name="workflowDefinitions">
            <list>
               <props>
                    <prop key="engineId">jbpm</prop>
                    <prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
                    <prop key="mimetype">text/xml</prop>
               </props>
            </list>
        </property>
    </bean>
    
    <bean id="patch.db-V3.2-ContentTables2" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.2-ContentTables2</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4001</value></property>
        <property name="targetSchema"><value>4002</value></property>
        <property name="scriptUrl">
            <!-- Share a create script -->
            <value>classpath:alfresco/dbscripts/upgrade/3.2/${db.script.dialect}/AlfrescoSchemaUpdate-3.2-ContentTables2.sql</value>
        </property>
        <property name="dependsOn" >
            <list>
                <ref bean="patch.db-V3.2-ContentTables" />
            </list>
        </property>
    </bean>

    <bean id="patch.db-V3.3-Remove-VersionCount" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.3-Remove-VersionCount</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4002</value></property>
        <property name="targetSchema"><value>4003</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/remove-VersionCount.sql</value>
        </property>
    </bean>
 
    <bean id="patch.rendition.rendering_actions" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.rendition.rendering_actions</value></property>
        <property name="description"><value>patch.rendition.rendering_actions.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4003</value></property>
        <property name="targetSchema"><value>4004</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.rendition.rendering_actions.childname}</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/renderingActionSpace.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>

    <!-- This patch updates Thumbnails from Alfresco 3.2.x and earlier to their Alfresco 3.3
         equivalents: renditions. It changes the QName of the old cm:thumbnails child-association
         to rn:rendition -->
    <bean id="patch.thumbnailsAssocQName" class="org.alfresco.repo.admin.patch.impl.QNamePatch" parent="basePatch" >
        <property name="id"><value>patch.thumbnailsAssocQName</value></property>
        <property name="description"><value>patch.thumbnailsAssocQName.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4004</value></property>
        <property name="targetSchema"><value>4005</value></property>
        
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        <property name="indexerAndSearcher">
            <ref bean="indexerAndSearcherFactory" />
        </property>
        <property name="qnameDAO">
            <ref bean="qnameDAO" />
        </property>
        <property name="qnameBefore">
            <value>{http://www.alfresco.org/model/content/1.0}thumbnails</value>
        </property>
        <property name="qnameAfter">
            <value>{http://www.alfresco.org/model/rendition/1.0}rendition</value>
        </property>
        
        <!-- This patch is of an association type QName and so no reindexing is necessary.
             However, if we wanted to reindex the QName that we'd changed we could do it like so
        <property name="reindexClass">
            <value>TYPE</value>
            or
            <value>ASPECT</value>
        </property>
        -->
    </bean>
    
    <bean id="patch.transferDefinitionsFolder" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
        <property name="id"><value>patch.transferServiceFolder</value></property>
        <property name="description"><value>patch.transferDefinitions.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4008</value></property>
        <property name="targetSchema"><value>4009</value></property>
        <!-- bootstrap view -->
        <property name="importerBootstrap">
            <ref bean="spacesBootstrap" />
        </property>
        
        <property name="checkPath">
            <value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.transfers.childname}</value>
        </property>
        <property name="bootstrapView">
            <props>
                <prop key="path">/${spaces.company_home.childname}/${spaces.dictionary.childname}</prop>
                <prop key="location">alfresco/bootstrap/transferSpaces.xml</prop>
                <prop key="messages">alfresco/messages/bootstrap-spaces</prop>
            </props>
        </property>
    </bean>

    <bean id="patch.convertContentUrls" class="org.alfresco.repo.admin.patch.impl.ContentUrlConverterPatch" parent="basePatch">
        <property name="id"><value>patch.convertContentUrls</value></property>
        <property name="description"><value>patch.convertContentUrls.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4007</value></property>
        <property name="targetSchema"><value>4008</value></property>
        <property name="applyToTenants"><value>false</value></property>
        <property name="registryService">
            <ref bean="registryService"/>
        </property>
        <property name="jobLockService">
            <ref bean="jobLockService"/>
        </property>
        <property name="nodeDaoService">
            <ref bean="nodeDaoService"/>
        </property>
        <property name="patchDAO">
            <ref bean="patchDAO"/>
        </property>
        <property name="controlDAO">
            <ref bean="controlDAO"/>
        </property>
        <property name="contentDataDAO">
            <ref bean="contentDataDAO"/>
        </property>
        <property name="contentStore">
            <ref bean="fileContentStore"/>
        </property>
        <property name="threadCount">
            <value>${system.content.contentUrlConverter.threadCount}</value>
        </property>
        <property name="batchSize">
            <value>${system.content.contentUrlConverter.batchSize}</value>
        </property>
        <property name="runAsScheduledJob">
            <value>${system.content.contentUrlConverter.runAsScheduledJob}</value>
        </property>
    </bean>

    <bean id="patch.db-V3.3-Fix-Repo-Seqs_1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
        <property name="id"><value>patch.db-V3.3-Fix-Repo-Seqs_1</value></property>
        <property name="description"><value>patch.schemaUpgradeScript.description</value></property>
        <property name="fixesFromSchema"><value>0</value></property>
        <property name="fixesToSchema"><value>4007</value></property>
        <property name="targetSchema"><value>4008</value></property>
        <property name="scriptUrl">
            <value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/fix-Repo-seqs_1.sql</value>
        </property>
    </bean>

</beans>