Upgrade Notes per Version

Upgrade Notes per Version

This topic provides information about things you need to check and extra tasks you may need to perform when upgrading your XperienCentral installation to a specific version. The modifications per version are not cumulative which means that you need to apply the changes for all versions between your current version and the one you are upgrading to. For example, if you upgrade from XperienCentral R35 to R41, you need to apply the changes described in this topic for all versions from R36 up to and including R41. For general upgrade information, see Upgrading a Linux Installation or Upgrading a Windows Installation.

See also Changelog per Version for information on issues resolved in each XperienCentral release.

Click an XperienCentral version for specific upgrade information.

XperienCentral R48

Release date: June 9, 2025

Minimum Version Required for Upgrading to XperienCentral R48

Upgrading to XperienCentral R48 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R48.

Update CSP header settings

During this upgrade, tighten the Content Security Policy (CSP) for styling if feasible. The following settings are recommended for most installations and will be the new defaults for future setups.

Content Security Configuration panel:

  • CSS > Style: Enabled, Use nonce, Self

  • CSS > Style Attribute: Enabled, Unsafe Hashes

  • Integration > Object: Enabled, None - Automatically applied!

These settings will enhance the security of your installation by mitigating the risk of CSS-based attacks.

Background Information

Nonce for Style Tags: A random nonce will be included in the CSP header and injected into each <style> tag, enhancing security by preventing unauthorized style injections.

Hash for Style Attributes: A hash will be calculated for each style attribute and added to the CSP header, ensuring that only trusted styles are applied.

<object> and <embed> tags ignored: Were used in the past for embedding flash and videos.

Potential Issues

These settings may not work if libraries inject style tags and attributes. This is also why these settings are not applied to the XperienCentral edit environment.

Most Restrictive Settings

For maximum security, consider the following settings in the Content Security Configuration panel:

  • CSS > Style: Enabled, Self

  • CSS > Style Attribute: Disabled (uncheck all checkboxes)

  • Integration > Object: Enabled, None

These settings prevent the use of all inline style tags and attributes, including those in Layouts.

Audit Trail Database Modification

In R45 we made some database modifications for the Audit Trail. In this version we make another modification to improve the loading times of the Audit Trail panel even further.

The application manager or a developer must execute one query on the database used to store the Audit Trail history. The query creates a new index. Creating the index is optional, but GX Software recommends that you do so. You can upgrade XperienCentral to version R48 without the new index.

When the index is created, the entire table is copied first. Because the table might be quite large, it is important to check whether there is enough available free disk space to create the copy before running the queries in order to avoid crashing the database server.

Execute the following query on the database containing the Audit Trail:

CREATE INDEX timestmpContentIdIndex ON wmHistory (timestmp, contentId)

XperienCentral R46.1

Release date: April 18, 2025

Minimum Version Required for Upgrading to XperienCentral R46.1

Upgrading to XperienCentral R46.1 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R46.1.

Update CSP header settings

During this upgrade, tighten the Content Security Policy (CSP) for styling if feasible. The following settings are recommended for most installations and will be the new defaults for future setups.

Content Security Configuration panel:

  • CSS > Style: Enabled, Use nonce, Self

  • CSS > Style Attribute: Enabled, Unsafe Hashes

  • Integration > Object: Enabled, None - Automatically applied!

These settings will enhance the security of your installation by mitigating the risk of CSS-based attacks.

Background Information

Nonce for Style Tags: A random nonce will be included in the CSP header and injected into each <style> tag, enhancing security by preventing unauthorized style injections.

Hash for Style Attributes: A hash will be calculated for each style attribute and added to the CSP header, ensuring that only trusted styles are applied.

<object> and <embed> tags ignored: Were used in the past for embedding flash and videos.

Potential Issues

These settings may not work if libraries inject style tags and attributes. This is also why these settings are not applied to the XperienCentral edit environment.

Most Restrictive Settings

For maximum security, consider the following settings in the Content Security Configuration panel:

  • CSS > Style: Enabled, Self

  • CSS > Style Attribute: Disabled (uncheck all checkboxes)

  • Integration > Object: Enabled, None

These settings prevent the use of all inline style tags and attributes, including those in Layouts.

 

Note: These changes are not available in R47.

XperienCentral R47

Release date: March 3, 2025

Minimum Version Required for Upgrading to XperienCentral R47

Upgrading to XperienCentral R47 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R47.

Check Configuration Files

See Check Configuration Files.

Anchor Element

The Anchor element will be removed completely in XperienCentral R48. Instead, use the Heading Overview element which provides an automated anchor overview based on all existing headings. If you want to verify whether anchor elements are still being used in your deployment, run the following XPath query in the JCR Browser to retrieve all Anchor element instances:

//element(*, wo:ss_element_anchor)

Update License File

A new license file (usually named configuration.xml) is needed to run XperienCentral version R47. This updated license will be provided by GX Customer Services. The license file prepares your environment for the new rich text editor which will be introduced in stages in upcoming releases.

XperienCentral R46

Release date: December 2, 2024

Minimum Version Required for Upgrading to XperienCentral R46

Upgrading to XperienCentral R46 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R46.

Check Configuration Files

See Check Configuration Files.

Rebuild search index

Due to a change in the Search functionality, you must rebuild the content index and remove the work/search engine directory before starting the upgrade. Perform these steps before starting Tomcat with the new deploy:

  1. Stop Tomcat if it is running.

  2. Remove the directory <webmanager-root>/work/searchengine.

  3. Remove the directory <webmanager-root>/work/contentindex.

As a result, the frontend search index will be empty after performing the upgrade. So make sure you rebuild the frontend index after performing the upgrade.

jQuery Has Been Removed

In XperienCentral version R45 the Interactive Forms JavaScript files have been modified to remove the dependency on jQuery. This has a direct impact on any custom JavaScript implementations you have developed that listen for thrown events. There are two paths that you can take to rewrite your frontend code: either remove jQuery altogether from your own implementation (recommended!) or rewrite your custom code to still use jQuery. The following events are thrown by Interactive Forms which you have the ability to listen to in your own frontend code:

  • IAF_ShowFormFragment

  • IAF_HideFormFragment

  • IAF_ShowError

  • IAF_HideError

  • IAF_SubmitForm

  • IAF_AfterSubmit

  • IAF_AjaxShowFormStep

  • IAF_FormLoaded

  • IAF_ClientSideFrameworkLoaded

For the following events, no changes have to be made if you keep using jQuery:

  • IAF_ShowFormFragment

  • IAF_HideFormFragment

  • IAF_SubmitForm

  • IAF_FormLoaded

  • IAF_ClientSideFrameworkLoaded


If you do want to rewrite your custom JavaScript to not include jQuery, rewrite your code as follows:

Old situation:

$(document).on('IAF_ShowFormFragment, '.formfragment', function(e) { ... });

 

New situation without jQuery:

document.addEventListener('IAF_ShowFormFragment', (e) => {    const fragment = e.target;    ... });

The same applies for the other events.

For the following events changes have to be made regardless of whether you keep using jQuery or not:

  • IAF_ShowError

  • IAF_HideError

  • IAF_AfterSubmit

  • IAF_AjaxShowFormStep

In the old case these jQuery events had specific data which was added to them, but the way you have to retrieve this data has changed.

  • IAF_ShowError: passes on error div ID and the errors

  • IAF_HideError: passes on error div ID

  • IAF_AfterSubmit: passes on data returned by XC

  • IAF_AjaxShowFormStep: passes on form step data returned by XC

For these events you can apply the following changes to your code:

IAF_ShowError

Old situation:

$(document).on('IAF_ShowError', '.wmpform div', function(e, errorDivId, errors) { ... });


New situation with jQuery:

$(document).on('IAF_ShowError', '.wmpform div', function(e) {    const errorDivId = e.detail.id;    const errors = e.detail.errors;    ... });


New situation without jQuery:

document.addEventListener('IAF_ShowError', (e) => {    const fragment = e.target;    const errorDivId = e.detail.id;    const errors = e.detail.errors;    ... });


IAF_HideError

Old situation:

$(document).on('IAF_HideError', '.wmpform div', function(e, errorDivId) { ... });


New situation with jQuery:

$(document).on('IAF_HideError', '.wmpform div', function(e) {    const errorDivId = e.detail.id;    ... });


New situation without jQuery:

document.addEventListener('IAF_HideError', (e) => {    const fragment = e.target;    const errorDivId = e.detail.id;    ... });


IAF_AfterSubmit

Old situation:

$(document).on('IAF_AfterSubmit', '.wmpform', function(e, data) { ... });


New situation with jQuery:

$(document).on('IAF_AfterSubmit', '.wmpform', function(e) {    const data = e.detail;    ... });


New situation without jQuery:

document.addEventListener('IAF_AfterSubmit', (e) => {    const form = e.target;    const data = e.detail;    ... });


IAF_AjaxShowFormStep

Old situation:

$(document).on('IAF_AjaxShowFormStep', '.wmpform', function(e, formStep) { ... });


New situation with jQuery:

$(document).on('IAF_AjaxShowFormStep', '.wmpform', function(e) {    const formStep = e.detail;    ... });

 

New situation without jQuery:

document.addEventListener('IAF_AjaxShowFormStep', (e) => {    const form = e.target;    const formStep = e.detail;    ... });


Summary

  • For IAF_ShowError, the e.detail is an object where e.detail.id is the error div id and e.detail.errors contains the errors

  • For IAF_HideError, the e.detail is the same object as above, where only e.detail.id should be relevant, as e.detail.errors will be empty

  • For IAF_AfterSubmit, e.detail is the response data object from the Form POST (same data as the old argument)

  • For IAF_AjaxShowFormStep, e.detail is the identifier of the form step (same data as the old argument)

XperienCentral R45

Release date: September 10, 2024

Minimum Version Required for Upgrading to XperienCentral R45

Upgrading to XperienCentral R45 requires a minimum version of R26. If you are upgrading from XperienCentral R25 or lower, you must first upgrade to R26 and then upgrade to XperienCentral R45.

Check Configuration Files

See Check Configuration Files.

Check Custom Media Item Code

If you implement a custom media item, you will most likely need to modify your custom media item controller. Usually, BeanUtils.copyProperties is used to copy properties from the media item version to your form backing object in YourCustomMediaItemController#formBackingObject and vice versa in YourCustomMediaItemController#onSubmit. However, since a media item itself doesn't have a presentation, the setPresentation and setPresentationVariant on MediaItemArticleVersionImpl now throws an UnsupportedOperationException. In XperienCentral versions R44 and lower, that method didn't do anything. To prevent this runtime exception from being thrown, you must explicitly omit these properties when you use BeanUtils to copy its properties.

For example, change;

BeanUtils.copyProperties(mediaItemVersion, myFormBackingObject);

to

BeanUtils.copyProperties(mediaItemVersion, myFormBackingObject, new String[ {"presentation", "presentationVariant"});

and change

BeanUtils.copyProperties(myFormBackingObject, mediaItemVersion);

to

BeanUtils.copyProperties(myFormBackingObject, mediaItemVersion, new String[]{"presentation", "presentationVariant"});

 

Audit Trail Database Modifications

In some cases, the Audit Trail panel can cause the XperienCentral environment to freeze up. This is caused by the out of control growth of some database tables related to the audit information that is collected and stored. To solve this problem, the application manager or a developer must execute two queries on the database used to store the Audit Trail history. These queries create two new indices. Creating the indices is optional but GX Software recommends that you do so. You can upgrade XperienCentral to version R45 without the new indices.

When the indices are created, the entire table is copied first. Because the table might be quite large, it is important to check whether there is enough available free disk space to create the copy before running the queries in order to avoid crashing the database server.


Execute the following two queries on the database containing the Audit Trail:

CREATE INDEX parentContentIdIndex ON wmHistory (parentContentId); CREATE INDEX webIdActionContenttypeIndex ON wmHistory (webId, action, contenttype);

 

Deprecated Components

In XperienCentral version R45, a number of deprecated components have been removed. If you have custom code that makes use of any of these components, you must modify it. The following components have been deprecated/removed:

  • All references to page models

  • Deprecated/unused filters in web.xml:

    • XslFoFilter

    • XSLFoTransformer

    • MobileESPFilter

    • DeviceAtlasFilter

    • DeviceRedirectFilter

  • The Mobile Toolkit module

XperienCentral Core

nl.gx.webmanager.cms.core.Personalization

Removed interface Personalization.
Replace with nl.gx.webmanager.cms.core.PersonalizationItem.   
Used in reusables.

nl.gx.webmanager.authorization.AuthorizationService

Removed method login(String username, String password, HttpServletRequest request).
Replace with LoginStatus.SUCCESS.equals(authorizationService.formLogin(username, password, request)).
Used in reusables.     

nl.gx.webmanager.authorization.Role

Removed methods getToolbarElements(), getToolbarElementIcons() and setToolbarElemenIcons().
There is no migration path - these methods should not be used. 
Not used in reusables.

nl.gx.webmanager.authorization.User

Removed method getEditLanguage().
Replace with nl.gx.webmanager.authorization.User.getEditingLanguage,
Not used in reusables.

Removed method delete(),
Replace with nl.gx.webmanager.authorization.AuthorizationService.deleteUser(user).
Not used in reusables.

nl.gx.webmanager.cms.workflow.WorkflowActivity

Removed method createInstance().
Replace with nl.gx.webmanager.services.workflow.WorkflowService.createWorkflowActivityInstance().
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.implementation.MediaTerm

Removed method getInstance(String termName).
Replace with nl.gx.webmanager.cms.mediarepository.implementation.MediaTerm.getInstance(null, termName).
Not used in reusables.

nl.gx.webmanager.cms.core.InternalLink

Removed method setMouseOverText(String mouseOverText).
Replace with nl.gx.webmanager.cms.core.InternalLink.setLinkTitle(mouseOverText).
Not used in reusables.

nl.gx.webmanager.cms.core.Link

Removed method getMouseOverText(String mouseOverText).
Replace with getLinkTitle(mouseOverText)
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.MediaItemVersion

Removed method getMediaItem().
Replace with nl.gx.webmanager.cms.core.ContentItemVersion.getContentItem().
Used in reusables.     


Removed method setLeadImage(FileResource leadImage).
Replace with nl.gx.webmanager.cms.core.ContentItemVersion.setAttachedLeadImage(leadImage.getFileResouce()),
Used in reusables.     

Removed method setLeadImage(Image leadImage).
Replace with nl.gx.webmanager.cms.core.ContentItemVersion.setAttachedLeadImage(leadImage).
Not used in reusables.

Removed method setPublic(boolean isPublic).
Do not use this method because public (published) should be determined by the workflow state and not set manually.  
Not used in reusables.

Removed method setArticle(boolean isArticle).
Determining whether a media item is an article should be done by <mediaItemInstance> instanceof ElementHolder
Not used in reusables.

Removed method isArticle().
Determining whether a media item is an article should be done by <mediaItemInstance> instanceof ElementHolder.
Not used in reusables.

Removed method setContentType(String contentType).
Do not use - you should not set the content type manually.
Not used in reusables.

Removed method createRichTextElements().
Replace with MediaItemVersion.getElementHolder() or cast to ElementHolder and use this method on the resulting ElementHolder
Not used in reusables.

Removed method getLastElement().
Replace with MediaItemVersion.getElementHolder() or cast to ElementHolder and use this method on the resulting ElementHolder
Not used in reusables.

Removed method insertLastElementAtCursor().
Replace with MediaItemVersion.getElementHolder() or cast to ElementHolder and use this method on the resulting ElementHolder
Not used in reusables.

nl.gx.webmanager.cms.core.ContentItem

Removed method getMostRelevantVersion(Language language)
Replace with getVersion(false, language, false, new Date(), true),
Not used in reusables.

nl.gx.webmanager.cms.core.RelatedDownloadLink

Removed method setDownloadFileResource(FileResource file).
Do not use.
Not used in reusables.

nl.gx.webmanager.cms.core.Page

Removed method getBlockLabel(),
Replace with getBlockLabels().
Not used in reusables.

Removed method getDefaultEditingLanguage().
Replace with website.getDefaultContentLanguage()
Not used in reusables.

Removed method setDefaultEditingLanguage(Language language).
Do not use this method - manually setting the editing language is not recommended. 
Not used in reusables.

nl.gx.webmanager.cms.core.ElementHolder

Removed method setModelElements(Element[] elements).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method getModelElements().
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method isAdditionalElementsAllowed().
Do not use this method - page models are no longer supported.
Not used in reusables.

Remove method getModelElementsFBOMap().
Do not use this method - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.MediaItemArticleVersion

Removed method setAdditionalElementsAllowed(boolean allowed).
Do not use this method - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.core.PresentationContext

Removed method setPageModel(PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method getPageModel().
Do not use this method - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.services.contentapi.ElementManagementService

Removed method createAndInsertElement(PageModel pageModel, Class<? extends Element> elementType).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createAndInsertElement(PageModel pageModel, Class<? extends Element> elementType, int position).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method copyElement(Element element, PageModel target).
Do not use this method - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.services.contentapi.MediaRepositoryManagementService

Removed method createPageModelMediaItem(Website website, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createMediaItemVersion(MediaItem mediaItem, MediaItemVersion original).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createPageModelMediaItem(Website website, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createPageModelMediaItem(Website website, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method performWorkflowAction(MediaItemVersion mediaItemVersion, WorkflowAction workflowAction).
Replace with performWorkflowAction(T workflowEnabled, WorkflowAction workflowAction).
Used in reusables.     

Removed method performPostUpdateActions(MediaItemVersion mediaItemVersion).
Remove all calls to this method and do not use.
Used in reusables.     

nl.gx.webmanager.services.contentapi.PageManagementService

Removed method createPageModelMediaItem(Website website, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method performWorkflowAction(PageVersion pageVersion, WorkflowAction workflowAction).
Replace with performWorkflowAction(T workflowEnabled, WorkflowAction workflowAction).
Used in reusables.     

Removed method performPostUpdateActions(PageVersion pageVersion).
Remove all calls to this method and do not use.
Not used in reusables.

Removed method createAndInsertPageFromPageModel(Page page, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createAndInsertPageSectionFromPageModel(Page page, PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createPageModel(Website website).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method createAndInsertPageFromPageModel(Page page, PageModel pageModel, int position).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method copyPageModel(PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method deletePageModel(PageModel pageModel).
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method reorderElements(PageModel pageModel, Element[] elements).
Do not use this method - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.core.Website

Removed method getWhoIsWhoSearchPage().
Do not use this method - the  who-is-who functionality is no longer supported.
Not used in reusables.

Removed method getWhoIsWhoClickableLists().
Do not use this method - the  who-is-who functionality is no longer supported.
Not used in reusables.

Removed method getWhoIsWhoUploadUrl().
Do not use this method - the  who-is-who functionality is no longer supported.
Not used in reusables.

Removed method getRootPageSection().
Use getRootBlock() . 
Not used in reusables.

Removed method getPageModels().
Do not use this method - page models are no longer supported.
Used in reusables.

nl.gx.webmanager.cms.element

Removed method getWhoIsWhoSearchPage().
Do not use this method - the  who-is-who functionality is no longer supported.
Not used in reusables.

Removed method getPageModel().
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method getPageModelElements().
Do not use this method - page models are no longer supported.
Not used in reusables.

Removed method getPersonalizationItems().
Replace with getPersonalizationAttributes().getPersonalizationItems()
Used in reusables.     

nl.gx.webmanager.contentapi.event.PageModelEvent

Removed class PageModelEvent.
Do not use this class - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.pagemodel.PageModel

Removed class PageModel.
Do not use this class- page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.pagemodel.PageModelElement

Removed class PageModelElement.
Do not use this class - page models are no longer supported.
Not used in reusables.

nl.gx.webmanager.cms.core.PageVersion

Removed method setNavigationTitle(String value).
Replace with setShortTitle(String value).
Not used in reusables.

Removed method getPage().
Replace with getContentItem()
Used in reusables.     

Removed method getSeeEvent().
Do not use this method.
Not used in reusables.

Removed method getBlocks().
Replace with getContentItem().getBlocks().
Used in reusables.     

Removed method getBlocks(BlockLabel[] labels).
Replace with getContentItem().getBlocks(labels)
Not used in reusables.

Removed method getLabels().
Replace with getPageLabels() and map the contents to a String array if needed.
Used in reusables.     

Removed method copyLanguageVersion(String webid, String languageid, String l_id).
Replace with nl.gx.webmanager.services.contentapi.PageManagementService.copyPageVersion(PageVersion, Language).
Not used in reusables.

Removed method getPreviewTopBody().
Do not use this method. 
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.MediaRepository

Removed method getPublicStates().
Replace with getAllPublicStates()
Not used in reusables.

Removed method getUrl(String fileName, Website website, HttpServletRequest req).
Replace with getUrl(String, Website)
Not used in reusables.

Removed method getObjectLibraryCentralMode().
Do not use this method. 
Not used in reusables.

Removed method getContentTypeId(String contentType).
Replace with getContentType(contentType).getId().
Not used in reusables.

Removed method deleteMediaItem(MediaItemVersion mediaItem).
Replace with nl.gx.webmanager.services.contentapi.MediaRepositoryManagementService#deleteMediaItem(MediaItem).
Not used in reusables.

Removed method getWorkflowModel(String contentType).
Replace with getWorkflowModel(getContentType(contentType)), or if there already is a contentType instance in memory, replace with getWorkflowModel(ContentType contentType).
Not used in reusables.

nl.gx.webmanager.cms.core.Website.MediaTerm

Removed method getClassification().
Replace with getClassifications()[0].getName() - also check for an empty array.
Used in reusables.     

nl.gx.webmanager.cms.integration.QueryParameter

Removed method getFormElement(),
Do not use this method.
Not used in reusables.

Removed method getFormElementHtml().
Do not use this method.
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.MediaItemDownloadVersion

Removed method getDate().
Replace with getFileModifiedDate() - call toString() if you need a string. 
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.MediaItemImageVersion

Removed method getResizedImage(int sizeId).
Replace with Image.getSizedImage(int,int).
Not used in reusables.

Removed method getResizedImage(int width, int height).
Replace with Image.getSizedImage(int,int).
Not used in reusables.

nl.gx.webmanager.wcb.WcbHelper

Removed method getWcbResourcePrefix(final WCB_RESOURCETYPE wcbResourceType, final String personalName).
Replace with wcbResourceType.getTargetLocation(personalName){}.
Used in reusables.     

Removed method getWcbDeployedName(final String src, final String personalName).
Replace with src.replace(WCBConstants.WCB_RESOURCE_INSERT_COMPONENT_FILE_ID, personalName).
Not used in reusables.

Removed class WcbHelper.
First replace the methods above and then remove the unused import. 
Used in reusables.     

nl.gx.webmanager.wcb.ComponentDefinition

Removed method getNameSpace().
Replace with getComponentBundleDefinition().getNameSpace().
Used in reusables.     

nl.gx.webmanager.cms.integration.DatabasePageType

Removed interface DatabasePageType.
Replace with DatabaseEntity.
Not used in reusables.

org.osgi.framework.BundleContext.ComponentBundleDefinition

Removed method getWCBKey().
Remove all instances of this method. 
Not used in resusables.

nl.gx.webmanager.cms.mediarepository.MediaCollectionOverviewElement

Removed method getIncludingTerms().
Replace with getMandatoryTerms().
Not used in reusables.

nl.gx.webmanager.cms.layout.PagePart

Removed method getBannerServiceUrl().
Do not use this method. 
Not used in reusables.

nl.gx.webmanager.wcb.MenuItemComponentDefinition

Removed method getTargetMenu().
Replace with nl.gx.webmanager.wcb.paneltype.PanelComponentDefinition#getMenuCategory().
Not used in reusables.

Removed method getTargetMenuLocationAfter().
Do not use this method.
Used in reusables.     

Removed method getTargetMenuLocationBefore().
Do not use this method.
Not used in reusables.

Removed method getSubMenu().
Do not use this method.
Not used in reusables.

Removed method getSubMenuTextMessageKey().
Do not use this method.
Not used in reusables.

Removed method getSubMenuLocationAfter().
Do not use this method.
Not used in reusables.

Removed method getSubMenuLocationBefore().
Do not use this method.
Not used in reusables.

nl.gx.webmanager.wcb.dojotype.DojoModule.ModuleType

Removed enum constant SidebarWidget.
Replace with SIDEBAR_WIDGET.
Not used in reusables.

Removed enum constant Module.
Replace with MODULE
Not used in reusables.

Removed enum constant SimpleSearch.
Replace with SIMPLE_SEARCH
Not used in reusables.

Removed enum constant Panel.
Replace with PANEL
Not used in reusables.

nl.gx.webmanager.services.history.HistoryEvent

Removed String constant TOUCH.
Use EntityEvent.UPDATE
Not used in reusables.

nl.gx.webmanager.services.datasource.Provider

Removed method getSpecification().
Do not use this method.
Not used in reusables.

nl.gx.webmanager.cms.workflow.WorkflowModel

Removed method createInstance(String name).
Use WorkflowService.createWorkflowModelInstance(workflowModel).
Used in reusables.     

nl.gx.webmanager.cms.core.implementation.Image

Removed method getHtmlTag().
Create HTML using a JSP. 
Not used in reusables.

nl.gx.webmanager.wcb.pagemetadatatype.PageMetaDataComponentDefinition

Removed enum PageMetaDataPosition.
Page metadata position is no longer supported - remove all instances of this enum.
Used in reusables.     

nl.gx.webmanager.cms.element.TableRow

Removed method setNrRows(int rowcount).
Remove all calls to this method.
Not used in reusables.

Removed method getNrRows(int rowcount).
Remove all calls to this method.
Not used in reusables.

nl.gx.webmanager.services.history.Action

Removed enum constant PAGEMODEL_UPDATE.
Do not use.
Not used in reusables.

nl.gx.webmanager.services.defaultprofileprovider.DefaultProfile

Removed method getPassWord().
Do not use.
Not used in reusables.

nl.gx.webmanager.wcb.elementtype.ElementComponentDefinition

Removed method getAccessKey()
Do not use.
Not used in reusables.

nl.gx.webmanager.services.seo.PageFriendlyURLEntity

Removed method getPageVersionId()
Use getVersionId().
Not used in reusables.

Removed method getDepth()
Use getURLIdentifier().split(SEOUtil.getPathSeparator()).length.
Not used in reusables.

nl.gx.webmanager.services.contentapi.LinkManagementService

Removed method createRelatedExternalLink(ElementHolder elementHolder, String url).
Use createRelatedLink(ElementHolder, java.lang.Class<? extends RelatedLink>.
Not used in reusables.

Removed method updateRelatedExternalLink(ElementHolder elementHolder, String code, String url).
Use createRelatedLink(ElementHolder, java.lang.Class<? extends RelatedLink>) and then update the Link object itself.
Not used in reusables.

nl.gx.webmanager.cms.element.DownloadElement

Removed method getSeeEvent().
Do not use.
Not used in reusables.

nl.gx.webmanager.services.seo.entity.PageFriendlyURLEntityMutator

Removed method renamePathPart(int depth, String replace).
Replace with setURLPath(String).
Not used in reusables.

Removed method renameStartPath(int depth, String replace).
Replace with setURLPath(String).
Not used in reusables.

nl.gx.webmanager.wcb.paneltype.PanelComponentDefinition

Removed method getAccessKey().
Do not use. 
Not used in reusables.

nl.gx.webmanager.contentapi.event.PageVersionEvent

Removed method getTargetPageVersion().
Replace with getPageVersion(). 
Used in reusables.     

nl.gx.webmanager.cms.workflow.WorkflowActivityState

Removed method getStateName().
Replace with getState().name
Not used in reusables.

nl.gx.webmanager.contentapi.event.MediaItemEvent

Removed constructor MediaItemEvent(Type eventType, MediaItem mediaItem, String eventAction, Object source, int discussionId, Website[] websites).
Replace with MediaItemEvent(Type eventType, MediaItem mediaItem, String eventAction, Object source,Website[] websites)
Not used in reusables.

Removed constructor MediaItemEvent(Type eventType, MediaItem mediaItem, String eventAction, Object source, int discussionId, Website[] websites, Class<? extends MediaItem> scope).
Replace with MediaItemEvent(Type eventType, MediaItem mediaItem, String eventAction, Object source, Website[] websites, Class<? extends MediaItem> scope)
Not used in reusables.

Removed constructor MediaItemEvent(Type eventType, MediaItem mediaItem, MediaItem originalMediaItem, String eventAction, Object source, int discussionId, Website[] websites).
Replace with MediaItemEvent(Type eventType, MediaItem mediaItem, MediaItem originalMediaItem, String eventAction, Object source, Website[] websites)
Not used in reusables.

Removed constructor MediaItemEvent(Type eventType, MediaItem mediaItem, MediaItem originalMediaItem, String eventAction, Object source, int discussionId, Website[] websites, Class<? extends MediaItem> scope).
Replace with MediaItemEvent(Type eventType, MediaItem mediaItem, MediaItem originalMediaItem, String eventAction, Object source, Website[] websites, Class<? extends MediaItem> scope).
Not used in reusables.

Removed method getDiscussionId().
Replace with getMediaItem().getPlanned().getForum().getId().
Not used in reusables.

nl.gx.webmanager.wcb.ComponentManager

Removed method installBundle(Bundle bundle).
Replace with startComponent(Component component) or startComponentBundle(ComponentBundle componentBundle)
Not used in reusables.

Removed method updateBundle(Bundle bundle).
Replace with startComponent(Component component) or startComponentBundle(ComponentBundle componentBundle)
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.implementation.MediaCollectionOverviewElementImpl

Removed method getContentDependentOperator().
Replace with getContentRelatedOperator.getId()
Not used in reusables.

Removed method getTerms(final boolean excluding).
Replace with getTerms(TermsDeclaration.EXCLUDING_TERMS) or ArrayUtils.addAll(getTerms(TermsDeclaration.OPTIONAL_TERMS),getTerms(TermsDeclaration.MANDATORY_TERMS)).
Not used in reusables.

nl.gx.webmanager.services.seo.FriendlyURLEntity

Removed method isCurrent().
Replace with getReference() == null
Not used in reusables.

nl.gx.webmanager.services.seo.SeoService

Removed method activateFriendlyURL(PageVersion pageVersion).
Replace with publishFriendlyURL(PageVersion)
Not used in reusables.

Removed method activateFriendlyURL(MediaItemVersion mediaItemVersion).
Replace with publishFriendlyURL(MediaItemVersion)
Not used in reusables.

Removed method getFriendlyURL(ResourceInstance resourceInstance).
Replace with getFriendlyURL(PageVersion, ResourceInstance).
Not used in reusables.

Removed method getFriendlyURL(MediaItemVersion mediaItemVersion, Website website).
Replace with getFriendlyURL(PageVersion, MediaItemVersion)
Not used in reusables.

Removed method getPageFriendlyURL(int pageVersionId, String host).
Replace with getFriendlyURL(PageVersion)
Not used in reusables.

Removed method getMediaItemFriendlyURL(int mediaItemVersionId, String host).
Replace with getFriendlyURL(MediaItemVersion, Website)
Not used in reusables.

Removed method getDBPageFriendlyURL(int dbId, int typeOfPageId, String host).
Replace with getFriendlyURL(ResourceInstance).
Not used in reusables.

Removed method getMediaItemBaseEntityURLTitle(int mediaItemVersionId).
Replace with FriendlyURLEntity.getBaseURLTitleEntityIdentifier() which can be retrieved through getFriendlyURLEntity(MediaItemVersion).
Not used in reusables.

Removed method translateTitleToURLTitle(String title).
Replace with getFriendlyURL(PageVersion)} and FriendlyURLEntity.getURLTitle().
Not used in reusables.

Removed method translateTitleToURLIdentifier(String title).
Replace with getFriendlyURL(PageVersion)} and FriendlyURLEntity.getURLTitle().
Not used in reusables.

Removed method updateFriendlyURL(MediaItemVersion mediaItemVersion, String urlTitleOverrule).
Do not use.
Not used in reusables.

nl.gx.webmanager.cms.mediarepository.implementation.MediaitemReferenceImpl

Removed class MediaitemReferenceImpl.
Replace with the Index service.
Not used in reusables.

nl.gx.webmanager.cms.core.implementation.DownloadImpl

Removed method getInstance(final String url).
Just create an instance manually. 
Not used in reusables.

nl.gx.webmanager.cms.element.implementation.JCRElementBase

Removed method getMailing().
Do not use.
Not used in reusables.

nl.gx.webmanager.cms.element.implementation.TableRowImpl

Removed constructor method TableRowImpl(final HtmlObject obj, final HttpServletRequest req, final HttpServletResponse res).
Replace with another constructor. 
Not used in reusables.

nl.gx.webmanager.springmvc.controller.component.ElementComponentController

Removed method initFormBackingObject(final Element element, final Element fbo).
Replace with BeanUtils.copyProperties(element, formBackingObject)
Not used in reusables.

nl.gx.webmanager.cms.forum.implementation.ForumMessageImpl

Removed method getInstance(final Forum forum, final int id, final HttpServletRequest req, final HttpServletResponse res),
Do not use this method.
Not used in reusables.

nl.gx.webmanager.authorization.Permission.Permissions

Removed class Permissons.
Do not use.
Not used in reusables.

nl.gx.webmanager.springmvc.controller.component.MediaItemComponentController

Removed method initFormBackingObject(final MediaItemVersion mediaItemVersion, final Element fbo),
Replace with BeanUtils.copyProperties(element, formBackingObject)
Not used in reusables.

nl.gx.webmanager.cms.core.implementation.ImageImpl

Removed method getFileLocation(final String url, final boolean deescape).
Replace with getFile()
Not used in reusables.

nl.gx.webmanager.cms.element.implementation.RichTextElementImpl

Removed method convertToXhtml(final Website website, final String source).
Replace with convertToXhtml(source)
Not used in reusables.

nl.gx.webmanager.foundation.DatabaseUtil

Removed class DatabaseUtil.
Replace with nl.gx.webmanager.services.datasource.QueryManagerService
Used in reusables.     

nl.gx.webmanager.taglib.GetMediaItemsTag

Removed class GetMediaItemsTag.
Replace with GetMediaItemVersionsTag
Used in reusables.     

nl.gx.webmanager.cms.presentation.implementation.PresentationImpl

Removed method setJspPageContext (final HttpServletRequest request, final PageContext pageContext).
Replace with pushJspPageContext(request, pageContext)
Not used in reusables.

nl.gx.webmanager.springmvc.controller.platform.PlatformController

Removed method publishUpdateEvent(final Object entity, final Event.Type type).
Replace with publishEvent(Event).
Not used in reusables.

nl.gx.webmanager.springmvc.controller.BaseWebmanagerController

Removed method getEditLanguageLabel(final String label).
Do not use this method.
Not used in reusables.

nl.gx.webmanager.taglib.FunctionLibrary

Removed method filterHTML(String html, final String whitelistName, final String[] tags).
Replace with one of these methods : filterHTMLBasic(String), filterHTMLRelaxed(String),filterHTMLTags(String, String), filterHTMLTagsAndAttributes(String,String,String).
Used in reusables.     

nl.gx.webmanager.foundation.Utilities

Removed method getImageSize(String filename).
Replace with getImageSize(File).
Not used in reusables.

nl.gx.webmanager.authorization.impl.ToolbarElement

Removed class ToolbarElement.
Don't use this class. 
Not used in reusables.

nl.gx.webmanager.wcb.Component

Removed method purgeContent().
Replace with onPurge()
Not used in reusables.

nl.gx.webmanager.wcb.paneltype.impl.PanelComponentDefinitionImpl

Removed method setAccessKey(final char accessKey).
Don't use this method - access keys on panel components are no longer supported. 
Not used in reusables.

nl.gx.webmanager.services.seo.handler.FriendlyUrlHandler

Removed method activate(final PageVersion pageVersion).
Replace with currentRollOver(final PageVersion version)
Not used in reusables.

Removed method activate(final MediaItemVersion mediaItemVersion).
Replace with currentRollOver(final MediaItemVersion version).
Not used in reusables.

nl.gx.product.wmpdeviceatlas.api.DeviceAtlasService

Removed method getDeviceMap().
Do not use this method.
Not used in reusables.

Removed method getDeviceProperties(String userAgent).
Replace with getDeviceProperties(HttpServletRequest).
Not used in reusables.

nl.gx.forms.wmpformmanager.api.form.impl.FormSectionImpl

Removed method getActiveVersion().
Replace with getCurrent().  
Not used in reusables.

Removed method setActiveVersion(final BasicFormSectionVersion activeVersion).
Do not use this method.
Not used in reusables.

nl.gx.webmanager.wcb.foundation.ComponentBase

Removed method setComponentBundle(final ComponentBundleImpl componentBundle).
Replace with setComponentBundle(final ComponentBundle componentBundle)
Not used in reusables.

nl.gx.webmanager.wcb.foundation.ComponentBundleDefinitionImpl

Removed method setWCBKey(final String wcbKey).
Do not use.
Used in reusables.     

nl.gx.webmanager.wcb.foundation.ComponentDefinitionImpl

Removed method setNameSpace(final String nameSpace).
Do not use.

nl.gx.webmanager.wcb.foundation.MenuItemComponentDefinitionImpl

Removed method setTargetMenu(final String targetMenu).
Do not use.
Not used in reusables.

Removed method setTargetMenuLocationAfter (final String menuItem).
Do not use.
Not used in reusables.

Removed method setTargetMenuLocationBefore (final String menuItem).
Do not use.
Not used in reusables.

Removed method setSubMenu(final String subMenu).
Do not use.
Not used in reusables.

Removed method setSubMenuLocationAfter(final String subMenuLocationAfter).
Do not use.
Not used in reusables.

Removed method setSubMenuLocationBefore(final String subMenuLocationBefore).
Do not use.
Not used in reusables.

Removed method setSubMenuTextMessageKey(final String subMenuTextMessageKey).
Do not use.
Not used in reusables.

nl.gx.webmanager.wcb.elementtype.impl.ElementComponentDefinitionImpl

Removed method getStaticBackendDir().
Replace with getBackendResourcesDir

nl.gx.webmanager.handler.config.Config

Removed class Config.
Replace with nl.gx.webmanager.handler.util.Util
Not used in reusables.

nl.gx.siteworks.parser.library.AuthorisarionLibrary

Removed method canView(SiteWorksParserData parserData).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canCreate(SiteWorksParserData parserData).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canDelete(SiteWorksParserData parserData).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canEdit(SiteWorksParserData parserData).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canCreate(SiteWorksParserData parserData, int objectId).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canEdit(SiteWorksParserData parserData, int objectId).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canDelete(SiteWorksParserData parserData, int objectId).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

Removed method canView(SiteWorksParserData parserData, int objectId).
Replace with isUserLoggedIn(parserData)
Not used in reusables.

nl.gx.siteworks.parser.library.MiscLibrary

Removed method getDebugLevel(),
Do not use.
Not used in reusables.

nl.gx.siteworks.util.SiteWorksUtil

Removed method firstUpper(final String string).
Use Apache StringUtils.capitalize(string)
Not used in reusables.

nl.gx.forms.wmpformmanager.api.form.impl.FormImpl

Removed method getActiveVersion().
Replace with getCurrent()
Not used in reusables.

Removed method setActiveVersion(final BasicFormVersion activeVersion).
Do not use.
Not used in reusables.

nl.gx.product.wmasolrsearch.api.SearchService

Removed method indexPages(String[] urls, String[] hostnames, int depth, boolean clearRest).
Replace with indexPages(List<String> urls, Set<String> hostnames, int depth, boolean clearRest)
Used in reusables.     

nl.gx.siteworks.parser.library.CoreLibrary

Removed method getValue(int objectId, DotExpression dotExpression, SiteWorksParserData parserData).
Replace with getAssignment(int objectId, String dotExpression, SiteWorksParserData parserData)
Not used in reusables.

nl.gx.forms.wmpformapi.engine.FormValuesMap

Removed method getUploadedFile(String key).
Replace with getUploadedFiles(String key)
Not used in reusables.

nl.gx.forms.wmpformapi.api.form.State

Removed enum State.
Do not use.
Not used in reusables.

nl.gx.forms.wmpformmanager.api.form.impl.FormSectionVersionImpl
nl.gx.forms.wmpformapi.api.BasicVersion
nl.gx.forms.wmpformmanager.api.form.impl.FormVersionImpl

Removed method getState().
Do not use.
Not used in reusables.
Not used in reusables.

Removed method setState(State state).
Do not use.
Not used in reusables.

Removed method getStateValue().
Do not use.
Not used in reusables.

Removed method setStateValue(String state).
Do not use.
Not used in reusables.

The old workflow states active, inactive, development have been removed from XperienCentral. If you still need to migrate away from these old states, contact a GX consultant. 

nl.gx.product.wmasolrsearch.api.UrlProvider

Removed method getUrls(boolean includeAll).
Replace with getUrlList(boolean includeAll)
Not used in reusables.

nl.gx.product.wmasolrsearch.searchengine.server.Session

Removed method execute(String query).
Do not use this method.
Not used in reusables.

Removed method select(String query).
Do not use this method.
Not used in reusables.

Removed method gc().
Do not use this method.
Not used in reusables.

Removed method shutdown().
Do not use this method.
Not used in reusables.

Removed method reset().
Do not use this method.
Not used in reusables.

Removed method execute(String query).
Do not use this method.
Not used in reusables.

nl.gx.forms.wmpformapi.api.form.FormVersion

Removed method isCurrentlyActive().
Replace with isPublic().Not used in reusables.