When it comes to changing any XML configuration for censhare-Server, it might come in handy to use XML patch files.
The patches allow to add / replace / delete attributes and nodes and overwrite the default configuration in the censhare-Custom area.

A patch file has to have the same name as the original XML that is desired to be modified and it’s suffix needs to be replaced with .patchinstead of .xml.

Below you will have an example of a patch file, which overwrites the default server.xml configuration. The patch file should be placed on the following location: censhare-Custom/censhare-Server/app/config/server.{server_name}.patch.

It’s important to note that the patch file will also overwrite any other xml files with the same name in the same location. For example:censhare-Custom/censhare-Server/app/config/server.{server_name}.xml

The below scenario performs the following actions:

  • Changes server name
  • Appends the logging configuration for certain areas

<?xml version="1.0" encoding="UTF-8"?>
<p:patch xmlns:p="http://www.censhare.com/xml/3.0.0/xml-patch"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.censhare.com/xml/3.0.0/xml-patch http://www.censhare.com/xml/3.0.0/xml-patch.xsd">
  <p:replace-attr select="/serverconfig/server-core" attr="name" value="{server_name}"/>
  <p:replace-attr select="/serverconfig/server-core" attr="master-server-name" value="{server_name}"/>
 
  <p:add select="/serverconfig/logging/context" pos="before">
      <handler type="file" level="FINEST" file-limit="50000000" file-count="1" append="false" filename-pattern="file:work/logs/server-command-%u.%g.log" formatter="com.censhare.support.util.logging.SimpleFormatter">
          <logger name="com.censhare.server.kernel.CommandExecutor" level="FINEST"/>
     </handler>
  </p:add>
  <p:add select="/serverconfig/logging/context" pos="before">
      <handler type="file" level="FINEST" file-limit="10000000" file-count="1" append="false" filename-pattern="file:work/logs/server-view-macro-debug-%u.%g.log" formatter="com.censhare.support.util.logging.SimpleFormatter">
        <logger name="com.censhare.api.teasers.SlotAssignmentsAspect" level="FINEST"/>
        <logger name="com.censhare.api.teasers.VisualMacroAspect" level="FINEST"/>
        <logger name="com.censhare.manager.macroresource.MacroResourceService" level="FINEST"/>
        <logger name="com.censhare.api.teaser.CustomSlotAssignmentFilter$CustomSlotAssignmentsAspect" level="FINEST"/>
        <logger name="com.censhare.manager.module.dependency.SlotAssignmentInjector" level="FINEST"/>
        <logger name="com.censhare.api.teasers.SlotAssignmentFilter" level="FINEST"/>
        <logger name="com.censhare.api.teasers.SlotAssignmentRegistry" level="FINEST"/>
        <logger name="com.censhare.api.teasers.VisualMacroFilter" level="FINEST"/>
    </handler>
  </p:add>
</p:patch>

  • No labels