Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleXperienCentral 10.4.1

XperienCentral 10.4.1

  • In 10.4.1 the logic which adds anchors and back to top links to elements has been moved from the content.jspf, which loops over and renders all elements, to two separate presentation JSPs, one with scope ElementAnchor, which prepends the anchors to an element if applicable and one with scope ElementBackToTop, which adds the back to top links to an element if applicable.
  •  All element related logic should be removed from your project specific presentation JSPs which currently loop over and render the elements, like the content.jspf in the webmanager-cestyle-wcb and add two new presentation JSPs based on the elementAnchor.jspf and elementBackToTop.jspf in the webmanager-cestyle-wcb.


Expand
titleXperienCentral 10.4.0

XperienCentral 10.4.0


  • In 10.4.0 all default database connections are merged to one database connection named WebManagerDb which by default is accessed through JNDI lookups. Therefore it is necessary that before deploying  the application the WebManagerDb datasource is configured to be available on the application server. For Apache Tomcat edit the server.xml and add this resource to the context of the backend webapp:

    Code Block
    themeEclipse
    Resource name="jdbc/WebManagerDb" auth="Container" type="javax.sql.DataSource" username="${webmanager.externaldb.dbuser}" password="${webmanager.externaldb.dbpassword}"        driverClassName="${webmanager.externaldb.dbdriver}" url="${webmanager.externaldb.dburl}" maxActive="100" maxIdle="10" maxWait="10000" testWhileIdle="true"         timeBetweenEvictionRunsMillis="900000" removeAbandoned="true" removeAbandonedTimeout="30" logAbandoned="true" validationQuery="${webmanager.externaldb.validationquery}"/>>


    Note that you still have to fill in the correct values for the username, password, driverClassName, URL and validationQuery attributes. Examples of these can be found in the settings.xml.

    For Jboss edit the standalone.xml and add this datasource to datasources subsystem:


    Code Block
    themeEclipse
    <datasource jndi-name="java:jboss/jdbc/WebManagerDb" pool-name="WebManagerDb" enabled="true" use-java-context="true">
       <connection-url>${webmanager.externaldb.dburl}</connection-url>
          <driver>${driverName}</driver>
         <security>
             <user-name>${webmanager.externaldb.dbuser}</user-name>
             <password>${webmanager.externaldb.dbpassword}</password>
         </security>
    </datasource>


    Note that you still have to fill in the correct values for the connection-url, driver, user-name and password. Examples for the connection-url, driver and user-name can be found in the settings.xml. The driver value has to correspond with the name attribute of the driver you wish to use as defined in the drivers tag in the datasources subsystem. Furthermore, the driver for your database must be copied to the lib directory of your Tomcat or JBoss installation. Supported drivers can be found in the ext-directory in the root of the SDK distribution.

    It is advised to generate a new repository.xml using the maven configure-jcr-repository profile to make sure the jcr also accesses the database using JNDI and uses the WebManagerDb database connection. When you place this newly generated repository.xml you need to completely rebuild the JCR-index and thus stop the application server, remove the current repository directory and then start the application server again. If your installation contains custom database connections, you have to manually configure those to make use of JNDI, which includes adding the datasource to the application server configuration and updating the database connection set in the [Database configuration] tab of the setup tool.

    If you don't want to use JNDI, you have to fill in the old settings in the dbcbmanager sets in the dpcbmanager_defaults.xml which are generated in the WEB-INF folder of the webmanager-backend-webapp based on the settings.xml before executing the upgrade. You cannot generate non-JNDI dbcpmanager_defaults.xml using a maven command you always have to do this manually.

  •  The secure form signer used to protect forms against tampering has been changed. All dumped pages which contain interactive forms or advanced forms will need to be regenerated or flushed from the cache. Any old pre-upgrade forms submitted by browsers to the website after the upgrade will be rejected by the secure forms checking filter.

  • PageVersionEvent.getTargetPageVersion() is deprecated; use .getPageVersion() instead. This change is relevant only for event handlers that use the deprecated method on a COPY event.

  • PageVersionEvent.getEntity() no longer returns the original page version, it now returns the target page version. The same holds for .getPageVersion(). This change is relevant only for event handlers that use one of these methods on a COPY event.

  • ElementEvent.getElement() now returns the target element, instead of the old element. This change is relevant only for event handlers that use this method on a COPY event.

  • ElementEvent.getOriginalElement() now returns the original element. This change is relevant only for handlers that use this method on a COPY event.

  • Subscription to interface scopes is possible; this might cause issues if a handler is subscribed to both Foo.class and FooParent.class.

  • The PageManagementService no longer publishes UPDATE events, WCBs that rely on such an event being published after calling either .addLeadText(PageVersion), .addRedirect(PageVersion), or.reorderElements(PageVersion, Element[]) should now publish UPDATE events themselves.

  • HistoryEvent.TOUCH is deprecated (and no longer published), please replace this with EntityEvent.UPDATE (both PRE and POST).

  • Saving page metadata no longer publishes an MediaItemVersionEvent, but a PageVersionEvent instead.

  • Apache Commons FileUpload has been updated to v1.3.1 (from 1.2.2), any implementation of FileItem now should implement both setHeaders(FileUploadHeaders) and getHeaders(). See http://commons.apache.org/proper/commons-fileupload/changes-report.html for other changes.

...