This document describes the steps needed to upgrade the edoras one application to 1.5.0.S107.
Please stop the edoras one server, perform all upgrade steps described below and then restart the server again at the end.
Improved system logging
This release adds information about the environment settings to the application log. To log the active Spring profiles and the system environment variables no changes are required.
To log all configured Spring property values, the property placeholder Spring configuration needs to be changed slightly. Previous configurations used the default Spring property placeholder, e.g.:
<context:property-placeholder
location="classpath:/com/edorasware/bootstrap/config/one.properties,file:${edoras-one.home:${user.home}/.edoras-one}/one.properties"
system-properties-mode="OVERRIDE"
ignore-resource-not-found="true"/>
To make all Spring property values available to the application, the following alternative configuration should be used:
<bean id="propertyPlaceholderConfigurer"
class="com.edorasware.one.spring.OnePropertyPlaceholderConfigurer" >
<property name="blacklist" value="password"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="ignoreResourceNotFound" value="true"/>
<property name="locations">
<list>
<value>classpath:/com/edorasware/bootstrap/config/one.properties</value>
<value>classpath:/com/edorasware/one/config/one.properties</value>
<value>file:${edoras-one.home:${user.home}/.edoras-one}/one.properties</value>
</list>
</property>
</bean>
The blacklist
property can be used to define a comma-separated list of strings used to mask
sensitive property values. If one of the blacklisted strings appears in a property key as a substring
then the value for that key will be masked, e.g:
mail.smtp.host=smtp.gmail.com mail.smtp.password=**** mail.smtp.port=465
To remove clutter from the application logs (for example from the Spring initialisation process) please examine to the changes to the log4j configuration in the bootstrap project and make corresponding changes to your local logging configuration if required.
TenantLookupService
caching
In addition to introducing the TenantLookupService
, the edoras one cache configuration was extended
to cache the results from this service’s method calls. The caches are configured in the Spring configuration
file cache-config.xml
with the following advice IDs:
-
edorasOne-tenantNameById
-
edorasOne-tenantNameById
In most cases no changes are required to the default cache configurations but some projects may include the ability to delete tenants while the application is running. In this case the cache configuration should be adapted to clean these caches whenever a tenant is removed. This avoids problems if a new tenant is subsequently added with the same name but a different ID.
Content management changes
In this release some changes have been made in the content management part of edoras one. Please adapt the following changes in your project:
-
The
com.edorasware.commons.core.content.internal.DefaultConfigurableContentManager
now requires the following two new constructor arguments:-
An instance of
com.edorasware.commons.core.identity.CurrentUserService
-
An instance of
org.springframework.transaction.PlatformTransactionManager
-
-
If you created your own
com.edorasware.commons.core.content.ContentProvider
you need to adapt theaddContent()
and implement the newcreateContentReference()
method. This change has been done to decouple theContentReference
creation with addition of the content. You can get more information in the Javadoc of each method. -
As part of these changes we also added Spring Batch Core with version
2.2.7.RELEASE
as a dependency to theedoras-commons-core
module.
Changes in vis configuration for data model viewer experimental feature
These changes are dependent on how you use edoras one: if you use the vanilla edoras-one-hosted
WAR file then you do not need to follow these steps, but if you use edoras one
as a dependency in your project then please read the changes carefully. Maybe not all changes apply to your setup as you did not overwrite the specified edoras one
configuration files. These are the changes you need to do if you overwrite the mentioned file:
-
In the
com/edorasware/vis/config/vis-application-context.xml
:-
add a new bean declaration with the id
visAppDataModelService
and the classcom.edorasware.vis.app.datamodel.service.VisAppDataModelService
.
-
Bootstrap project
Here you will find a list of files which have changed in the bootstrap project since the last release. This helps you check the difference between your bootstrap project version and the current one:
-
src/main/resources/com/edorasware/one/config/one-application-context.xml
-
add logging for environment settings
-
src/main/resources/com/edorasware/one/config/one-dispatcher-servlet-context.xml
-
add logging for environment settings
-
src/main/resources/log4j.properties
-
boot strap logging configuration
-
src/edoras-one-bootstrap/src/main/resources/com/edorasware/bootstrap/config/content-config.xml
-
upgrade to the latest
DefaultConfigurableContentManager