  =======================================================================
  ===         The Apache Software Foundation JAMES Server             ===
  =======================================================================

  Upgrading from James 2.2.0 to 2.3.x
  -----------------
  
  Please note that you need to start james 2.3.x once before this steps can be performed. For installation guidelines 
  read the README.
  

  Step 1: Copy mailboxes and users

    Remove the apps/james/var directory and copy the apps/james/var directory of the old james
    installation in this place.


  Step 2: Copy and modify config.xml

    Step 2.1 : Remove fetchpop block
      
      Its necessary to remove the fetchpop block in config.xml cause fetchpop was removed in 2.3.

    
    Step 2.2 : Move mailet and matcher packages config
      
      Move <mailetpackages> and <matcherpackages> outside from the <spoolmanager> block.

      
    Step 2.3 : Add neccassary mailets
      
      Add the <mailet match="All" class="PostmasterAlias"/> as the first mailet of the "root" processor.
      This was hardcoded in 2.2.0 and previous. Now we made it configurable.

      
    Step 2.4 : Move the spoolrepository config
    
      Move the spoolrepository out of the mailstore. Its also necessary to change the config syntax. For example :
      
      <spoolRepository>
         <repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>
      </spoolRepository>

      Must converted to
      <spoolrepository destinationURL="db://maildb/spool/spool" type="SPOOL"/>

 
    Step 2.5 : Move the objectstore
      
      Move the objectstore config into the mailstore config.
      
    Step 2.6 : Add SSL to server-sockets
      
      To be able to use SSL you need to add this SSL config to the server-sockets block:
      
         <!--
         <factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
            <ssl-factory>
               <keystore>
                  <file>conf/keystore</file>
                  <password>secret</password>
                  <key-password>keysecret</key-password>
                  <type>JKS</type>
                  <protocol>TLS</protocol>
                  <algorithm>SunX509</algorithm>
                  <authenticate-client>false</authenticate-client>
               </keystore>
            </ssl-factory>
         </factory>
         -->
    
    
  Step 3: Modify costum mailets if necessary
    Please note the following things which were changed. So maybe its necessary for you to 
    change some stuff in your mailets.
      
    Avalon updates:
    
      o  avalon Component has been replaced by avalon Service
      o  avalon Composable has been replaced by avalon Serviceable
      o  avalon ComponentManager has been replaced by avalon ServiceManager
    
    
    Cornerstone updates:
    
    o  MailStore interface has been removed: mailets looking up the MailStore should now lookup
       a Store (org.apache.avalon.cornerstone.services.store.Store)
  
  
  Step 4: Start james
      
    Now you should be able to start james without problems.
      
      
  Good luck :)  

 
                                           The James Project
                                        http://james.apache.org/
