alfresco-community-repo/config/alfresco/patch/patch-services-context.xml
Derek Hulley 97654618ad Fix for AR-1432: Patches for FK indexes
Fix for AR-1433: Upgrade failures on PostgreSQL
Partial fix for AR-160: Concurrency fix for version counter
Partial fix for AR-1483: Synchronization issues

This is an overhaul of the current state of the upgrade scripts.  All redundant scripts have been ripped out and replaced
with fresh 2.1 scripts.  Indexes for FK relationships have been put in place where required.  Several edge cases have been
dealt with including columns being added to two indexes, Sybase not allowing column additions for NOT NULL columns of
certain types, etc.

These changes have been tested for 1.4.0 -> 2.0 -> 2.1 on
MySQL
Oracle
Sybase
PostgreSQL

Found a bug in the VersionCounter Hibernate classes where the optimistic version support was not implemented.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6216 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-07-11 23:38:59 +00:00

895 lines
47 KiB
XML

<?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="get*">${server.transaction.mode.readOnly}</prop>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id="patchDaoComponent" class="org.alfresco.repo.admin.patch.hibernate.HibernatePatchDaoServiceImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="patchComponent" class="org.alfresco.repo.admin.patch.PatchServiceImpl" >
<property name="descriptorService">
<ref bean="descriptorComponent" />
</property>
<property name="ruleService">
<ref bean="ruleService" />
</property>
<property name="patchDaoService">
<ref bean="patchDaoComponent" />
</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="authenticationComponent">
<ref bean="authenticationComponent" />
</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.authoritiesFolder" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
<property name="id"><value>patch.authoritiesFolder</value></property>
<property name="description"><value>patch.authoritiesFolder.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>0</value></property>
<property name="targetSchema"><value>6</value></property>
<!-- bootstrap view -->
<property name="importerBootstrap">
<ref bean="userBootstrap" />
</property>
<property name="checkPath">
<value>/${alfresco_user_store.system_container.childname}/${alfresco_user_store.authorities_container.childname}</value>
</property>
<property name="bootstrapView">
<props>
<prop key="path">/${alfresco_user_store.system_container.childname}</prop>
<prop key="location">alfresco/bootstrap/alfrescoAuthorityStore.xml</prop>
</props>
</property>
</bean>
<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>
</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>
</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="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="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>
<!-- 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.UniqueChildNamePatch" 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>
<!-- helper beans -->
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
<!-- dependent on upgrade script 1.4-1 having being run -->
<property name="dependsOn" >
<list>
<ref bean="patch.schemaUpdateScript-V1.4-1" />
<ref bean="patch.InvalidNameEnding" />
</list>
</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.authoritiesFolderPermission" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
<property name="id"><value>patch.authoritiesFolderPermission</value></property>
<property name="description"><value>patch.authoritiesFolderPermission.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>32</value></property>
<property name="targetSchema"><value>33</value></property>
<!-- bootstrap view -->
<property name="importerBootstrap">
<ref bean="userBootstrap" />
</property>
<property name="bootstrapView">
<props>
<prop key="path">/${alfresco_user_store.system_container.childname}</prop>
<prop key="location">alfresco/bootstrap/alfrescoAuthorityStorePermission.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="avmNodeDAO"/>
</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="avmNodeDAO"/>
</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>
</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.AVMAspects" class="org.alfresco.repo.admin.patch.impl.AVMAspectsPatch" parent="basePatch">
<property name="id"><value>patch.AVMAspects</value></property>
<property name="description"><value>patch.AVMAspects.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>60</value></property>
<property name="targetSchema"><value>61</value></property>
<property name="avmAspectNameDAO">
<ref bean="avmAspectNameDAO"/>
</property>
</bean>
<bean id="patch.AVMProperties" class="org.alfresco.repo.admin.patch.impl.AVMPropertiesPatch" parent="basePatch">
<property name="id"><value>patch.AVMProperties</value></property>
<property name="description"><value>patch.AVMProperties.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>61</value></property>
<property name="targetSchema"><value>62</value></property>
<property name="avmNodePropertyDAO">
<ref bean="avmNodePropertyDAO"/>
</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-FKIndexes" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V2.1-FKIndexes</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-FKIndexes.sql</value>
</property>
</bean>
<bean id="patch.db-V2.1-ExplicitIndexes" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V2.1-ExplicitIndexes</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-ExplicitIndexes.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>
</beans>