Customize Bean Files - Alfresco Content Services - 23.4 - 23.4 - Ready - Alfresco - external

Alfresco Content Services

Platform
Alfresco
Product
Alfresco Content Services
Release
23.4
License

Bean files end with the extension .xml and contain <bean> tags. You can modify <bean> tags to define properties or point to customized files.

There are two common uses of beans:

  • To define properties
  • To point to one or more of your customized files

A typical bean file is <extension>/custom-repository-context.xml. A bean file contains <?xml> and <!DOCTYPE> headers, and <beans> tags outside the <bean> tags. You must preserve these items in your customized file.

CAUTION: When you override a <bean>, the entire effects of the original bean are lost. The effect is the same as if you had overridden a <config> by using replace="true". Therefore, the overriding <bean> must contain any information from the default bean that you want to keep, as well as any additional information.

For example, if a core bean has four values, and you want to modify a single value, the resultant bean must still have four values. However, if you want to add a value, then the resultant bean must have five values - the original four values plus the added value.

  1. Open the bean file that you want to customize.

    For example, the following <bean> is from <configRoot>/classes/alfresco/action-services-context.xml:

     <beanid="mail"class="org.alfresco.repo.action.executer.MailActionExecuter"parent="action-executer">
        <property name="publicAction">
           <value>true</value> <!-- setting to true -->
        </property>
        <property name="mailService">
           <ref bean="mailService"></ref>
        </property>
     </bean>
    
  2. Delete each pair of <bean>...</bean> tags that you don’t want to modify.
  3. Modify the contents of the remaining <bean> tags.

    For example, the following overrides the publicAction property from the previous example:

     <beanid="mail"class="org.alfresco.repo.action.executer.MailActionExecuter"parent="action-executer">
        <property name="publicAction">
           <value>false</value> <!-- setting to false -->
        </property>
        <property name="mailService">
           <ref bean="mailService"></ref>
        </property>
     </bean>
    
  4. Save the file.