<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic new configuration approach in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/new-configuration-approach/m-p/22408#M10730</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Folks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yesterday I committed a new configuration approach based on David's input.&amp;nbsp; Here's an overview of my first attempt:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the API, you can only use the builder to create a new process engine.&amp;nbsp; It can be configured programatically, with a properties resource or with a combination of both:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;ProcessEngine processEngine = new DbProcessEngineBuilder()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .configureFromPropertiesResource("activiti.properties")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .buildProcessEngine();&lt;BR /&gt;&lt;BR /&gt;ProcessEngine processEngine = new DbProcessEngineBuilder()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .setDatabaseH2()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .setJdbcUrl("jdbc:some:url")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .buildProcessEngine();&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Method setDatabaseH2() also fills in default values for the other configuration properties.&amp;nbsp; Specific property setters will win from the defaults set by the setDatabaseXxx methods. Order doesn't matter. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessEngines.init() will scan for all activiti.properties files on the classpath and create a process engine for each configuration file found.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the implementation, a ProcessEngineConfiguration contains getters and setters for all configurable pieces in the engine:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;public class ProcessEngineConfiguration {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; String processEngineName;&lt;BR /&gt;&amp;nbsp; DeployerManager deployerManager;&lt;BR /&gt;&amp;nbsp; VariableTypes variableTypes;&lt;BR /&gt;&amp;nbsp; ScriptingEngines scriptingEngines;&lt;BR /&gt;&amp;nbsp; JobExecutor jobExecutor;&lt;BR /&gt;&amp;nbsp; boolean jobExecutorAutoActivate;&lt;BR /&gt;&amp;nbsp; IdGenerator idGenerator;&lt;BR /&gt;&amp;nbsp; PersistenceSessionFactory persistenceSessionFactory;&lt;BR /&gt;&amp;nbsp; ProcessCache processCache;&lt;BR /&gt;&amp;nbsp; CommandContextFactory commandContextFactory;&lt;BR /&gt;&amp;nbsp; CommandExecutor commandExecutor;&lt;BR /&gt;&amp;nbsp; DbSchemaStrategy dbSchemaStrategy;&lt;BR /&gt;&amp;nbsp; ProcessServiceImpl processService;&lt;BR /&gt;&amp;nbsp; IdentityServiceImpl identityService;&lt;BR /&gt;&amp;nbsp; TaskServiceImpl taskService;&lt;BR /&gt;&amp;nbsp; ManagementServiceImpl managementService;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; public ProcessEngineConfiguration() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deployerManager = createDefaultDeployerManager();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; variableTypes = createDefaultVariableTypes();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scriptingEngines = createDefaultScriptingEngines();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jobExecutor = createDefaultJobExecutor();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jobExecutorAutoActivate = createDefaultJobExecutorAutoActivate();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; idGenerator = createDefaultIdGenerator();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; persistenceSessionFactory = createDefaultPersistenceSessionFactory();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; processCache = createDefaultProcessCache();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commandContextFactory = createDefaultCommandContextFactory();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commandExecutor = createDefaultCmdExecutor();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbSchemaStrategy = createDefaultDbSchemaStrategy();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; processService = createDefaultProcessService();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; identityService = createDefaultIdentityService();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService = createDefaultTaskService();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; managementService = createDefaultManagementService();&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;All those configurable pieces have defaults.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessEngineConfiguration is not part of the public API.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The idea is that ProcessEngineConfiguration could be constructed with spring-bean-xml.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Then ProcessEngineConfiguration.buildProcessEngine() wires the configurable pieces together and produces the ProcessEngineImpl:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; public ProcessEngineImpl buildProcessEngine() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wiring the configurable objects together&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.processService.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.identityService.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.taskService.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.managementService.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.idGenerator.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.processCache.setDeployerManager(deployerManager);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setDbidGenerator(idGenerator);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setDeployerManager(deployerManager);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setPersistenceSessionFactory(persistenceSessionFactory);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setProcessCache(processCache);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setScriptingEngines(scriptingEngines);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandContextFactory.setTypes(variableTypes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.jobExecutor.setCmdExecutor(commandExecutor);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.persistenceSessionFactory.setDbidGenerator(idGenerator);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.commandExecutor.setProcessEngineConfiguration(this);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new ProcessEngineImpl(processEngineName,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; processService, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; identityService, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskService, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; managementService,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbSchemaStrategy,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jobExecutor,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jobExecutorAutoActivate,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; persistenceSessionFactory);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There were some occurences left where we couldn't replace the static thread local lookups with injection as an alternative.&amp;nbsp; This is for all usages of configurable objects in the engine interpretation process.&amp;nbsp; As those runtime process instance domain objects should also be usable without persistence.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We could aim to go one step further and also add injection to runtime process instance objects.&amp;nbsp; But then we need to intercept all loads and perform injection of the CommandContext in all the persistent objects that are loaded from the db.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This explanation might be bit unclear.&amp;nbsp; But shoot your questions and then I know which part I should explain differently &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 May 2010 14:30:44 GMT</pubDate>
    <dc:creator>tombaeyens</dc:creator>
    <dc:date>2010-05-25T14:30:44Z</dc:date>
    <item>
      <title>new configuration approach</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/new-configuration-approach/m-p/22408#M10730</link>
      <description>Hi Folks,Yesterday I committed a new configuration approach based on David's input.&amp;nbsp; Here's an overview of my first attempt:In the API, you can only use the builder to create a new process engine.&amp;nbsp; It can be configured programatically, with a properties resource or with a combination of both&lt;IMG id="smileytongue" class="emoticon emoticon-smileytongue" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;rocess</description>
      <pubDate>Tue, 25 May 2010 14:30:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/new-configuration-approach/m-p/22408#M10730</guid>
      <dc:creator>tombaeyens</dc:creator>
      <dc:date>2010-05-25T14:30:44Z</dc:date>
    </item>
    <item>
      <title>Re: new configuration approach</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/new-configuration-approach/m-p/22409#M10731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Nice work, Tom. Now show me that Spring bean config in XML &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I dont yet see the runtime injection use case. Could you give an example there?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 17:45:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/new-configuration-approach/m-p/22409#M10731</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2010-05-25T17:45:34Z</dc:date>
    </item>
  </channel>
</rss>

