Have a partially migrated repository and webapp.

Updating security in the webapp and the repository

In this step you need to update security configuration twice in the webapp and once in the repository. See Security changes in Magnolia 4.5 for details.

Update node types

Changes the node types according to API changes in 4.5.

Update the magnolia.properties file

New properties have been added to the magnolia.properties file. Add them to your own properties file. If you don't find the file in the configuration of your project look in the WEB-INF/config/default folder in a bundled Magnolia.


  • magnolia.home - By default, the value is the magnolia.app.rootdir property which is the root of where the webapp is deployed. Typically, you would set this single property to a folder of your choice to store repositories, caches, logs, temp files etc. outside the webapp. Not mandatory but can be useful.
  • magnolia.author.key.location - Indicates where Magnolia should store the file that contains the private and public keys used to verify the authenticity of activation requests. This file is generated if not present.
  • magnolia.service.contact - Set a contact string which will be displayed on login pages so users who can't log into their Magnolia instance know what to do and who to contact. Optional.
  • magnolia.bootstrap.samples - Some modules contain optional sample content. They will check this property to decide if they should install the sample data. Set to false.

You can update the properties files manually or run the mprop.py Python script. The script is in the add-ons folder in the magnolia-4.5-migration bundle in Nexus. (warning) 4.5.9+

To run the script mprop.py:

jsmith:~ $ ./mprop.py magnolia-enterprise-4.4.6/apache-tomcat-6.0.32/webapps/magnoliaAuthor/WEB-INF/config/default/magnolia.properties magnolia-enterprise-4.4.6/apache-tomcat-6.0.32/webapps/magnoliaPublic/WEB-INF/config/default/magnolia.properties

Update web.xml

Update the web.xml file of the webapp. The listener class and the context-param entries have changed. You need to adjust at least the listener class in your project's web.xml.

In the <listener> section, change the <listener-class> value to:



Now Magnolia is ready to restart.

Next step

5. Run the migration tool