Campaign Classic - Performing a build upgrade

This document will present you the key steps and best practices to perform a build upgrade with Campaign Classic.

Overview

This document will provide you with an in-depth walkthrough on the upgrade process and the steps to identify and resolve conflicts.

The build upgrade must be carried out with caution, its impacts must be fully considered beforehand and the procedure must be completed with a high level of discipline. To ensure a successful upgrade, ensure that only expert users perform the steps outlined below. In addition, we strongly recommend getting in touch with Adobe Campaign Customer Care before starting any upgrade.

The following prerequisites are needed:

  • Understanding of the Campaign Architecture
  • Systems and server side knowledge
  • Administrative rights and permissions

You can find more information in the documentation: Updating Adobe Campaign, Migration guide.

For hosted and hybrid instances, you must request the build upgrade to Adobe Technical Operations team. For more on this, refer to the Frequently Asked Questions section at the bottom if this page.

Scheduling and preparing the upgrade

A build upgrade takes at least 2 hours.

The build upgrade process requires the following resources:

  • an Adobe architect - to understand the database structures (out-of-the-box schemas and any additional schemas that have been added, campaign designs, and any critical path functionality that must be started and tested in a specific order).
  • a project manager - In the case where the build upgrade involves many different instances (production, staging, testing) and other third party servers and applications (databases, SFTP sites, messaging service providers), having a project manager to coordinate all of the testing is considered a best practice.
  • an Adobe Campaign administrator - your administrator knows the server's configuration including but not limited to: security, folder layout, reporting, and import\export requirements. Please do not perform a build upgrade without your administrator.
  • an Adobe Campaign operator (marketing user) - a successful upgrade relies upon the user's ability to perform their daily tasks successfully. For this reason, always include at least one of your daily operators in your testing of the upgraded servers.

Before starting the build upgrade, you must perform a full preparation. Click on the Read more button for deeper information.

Read More

Performing the upgrade

These procedures are only performed by on-premise customers. For hosted customers, it is taken care by the hosting team. To update Adobe Campaign to a new build, the following procedures should be applied:

  1. Shutdown services
  2. Upgrade the Adobe Campaign server application
  3. Synchronize resources
  4. Restart services
  5. Update the client console availability
Read More

Managing conflicts

What is a conflict? A conflict often arises when an object that has been customized is being changed during the upgrade. Here are the main steps to manage conflicts:

  • Identifying conflicts
  • Analyzing the conflicts
  • Deciding what to do: accept the new version, keep the current version or merge

It is highly recommended to resolve conflicts. Ignoring conflicts could have long term impacts: version incompatibilities, customer will not benefit from bug fixes.

Read More

Frequently Asked Questions

You will find below common questions when requesting a build upgrade to Adobe or before starting the build upgrade process on your on-premise instance, especially on these topics:

  • Planning and constraints
  • Instance Accessibility
  • User Actions needed
  • On-premise recommendations

It is highly recommended to read these common questions before contacting Adobe Support.

Read More

Any question? Visit our forum and ask the community.

Follow Adobe Experience Cloud on the social networks

Copyright © Adobe 2018

Scheduling and preparing the build upgrade

Close

Scheduling and preparing the build upgrade

Planning

Here are the key points on how to plan a build upgrade:

  1. Reserve at least 2 hours for the upgrade.
  2. Distribute contact details for Adobe and customer staff.
  3. For hosted instances: Adobe and customer staff will coordinate the time for the upgrade and who will execute.
  4. For on-premise instances: customer staff manages the entire process - if assistance in testing of customized workflows and delivery logic is needed, consulting services should be brought in.
  5. Determine and confirm which version of Adobe Campaign you want to upgrade to - consult the Adobe Campaign v7 release notes.
  6. Confirm possession of upgrade executables.

Required resources

The build upgrade process requires the following resources:

  • Adobe architect: for hosted or hybrid architectures, the architect must coordinate with Customer Care.

  • Project manager:

    On Premise: the customer's internal Project Leader leads the upgrade and manages lifecycle tests.

    Hosted: the hosting team will partner with the Customer Care team and the customer to coordinate the upgrade timeline for all instances.

  • Adobe Campaign Administrator

    On Premise: the administrator performs the upgrade.

    Hosted: the hosting team performs the upgrade.

  • Adobe Campaign operator\marketing user: the operator runs tests on development, test and production instances.

Preparing the build upgrade

Before starting the build upgrade, you need to perform the following preparation:

  1. Ensure any development work can be exported before the upgrade, export as packages.
  2. Perform a full backup of the databases for all instances of the source and target environments. This step is only required for on-premise customers. Command example for PostgreSQL:
                            
    Pg_dumpmydatabase> mydatabase.sql
                         
  3. Get the latest version of the server configuration file.
  4. Download the latest build.

You also need to know all the useful command lines before starting a build upgrade:

  • nlserver pdump: lists running processes
  • nlserver pdump -who: lists active client sessions
  • nlserver monitor -missing: lists missing properties
  • nlserver start process@<instance>: starts a process
  • nlserver stop process@<instance>: stops a process
  • nlserver restart process@<instance>: restarts a process
  • nlserver shutdown: stops all Campaign processes
  • nlserver watchdog -svc: starts the watchdog (UNIX only)

Performing the upgrade

Close

Performing the upgrade

Here is the detailed procedure to update Adobe Campaign.

Duplicating an environment

Here is how you duplicate an Adobe Campaign environment, in order to restore a source environment to a target environment, resulting in two identical work environments. To do this, follow the steps below:

  1. Create a copy of the databases on all instances in the source environment.
  2. Restore these copies on all instances of the target environment.
  3. Run the nms:freezeInstance.jscauterization script on the target environment before starting it up (this will stop all processes interacting with the outside: logs, tracking, deliveries, campaign workflows, etc).
                            
    Nlserverjavacsriptnms:freezeInstance.js–instance:<dev> -arg:run
                         
  4. Check cauterization:
    1. Check that the only delivery part is the one whose ID is set to 0.
                                    
      SELECT * FROM neolane.nmsdeliverypart;
                                 
    2. Check that the delivery status update is correct:
                                    
      SELECT iSate, count(*) FROM neolane.nmsdeliveryGroup By iProd;
                                 
    3. Check that the workflow status update is correct:
                                    
      SELECT iState, count (*) FROM neolane.xtkworkflowGROUP BY iState;
      SELECT iStatus, count (*) FROM neolane.xtkworkflowGROUP BY iStatus;
                                 

Shut down services

In order to replace all files with the new version, it is required that all instances of the nlserverservice are shut down.

  1. Shut down the following services:

    Web services(IIS): iisreset /stop

    Adobe Campaign service: net stop nlserver6

    Note: Make sure that the redirection server (webmdl) is stopped, so that the nlsrvmod.dll file used by IIS can be replaced with the new version.

  2. Validate that no tasks are active by running the nlserver pdump command. If there are no tasks, then the output should resemble the following:
                            
    C:\<installation path>\bin>nlserverpdump
    12:12:12 > Application Server for Adobe Campaign version x.x (build xxx) dated xx/xx/xxxx No tasks
                         
  3. Verify the Windows Task Manager to confirm that all processes have stopped.

Upgrading the Adobe Campaign Server Application

  1. Run the Setup.exe file: to download this file, go to the Adobe Campaign Support page, via the download center link.
  2. Select the installation mode: Choose Update or Repair.
  3. Click Next.
  4. Click Finish: the installation program copies the new files.
  5. Once the operation is complete, click Finish.

Synchronize resources

  1. Open up the command line.
  2. Run nlserver config -postupgrade -allinstances to perform the following:
    1. Synchronize resources
    2. Update schemas
    3. Update the database

    Note that this operation should only be performed once and only on an nlserverweb application server.

    To synchronize only one database, run the following command:

                            
    nlserver config -postupgrade -instance: <instance_name>
                         
  3. Check whether or not the synchronization has generated any errors or warnings.

Restart services

The following services need to be restarted:

  • Web services (IIS): issreset /start
  • Adobe Campaign service: net start nlserver6

Warn the client consoles of available update

On the machine where the Adobe Campaign application server is installed (nlserverweb), download and copy the file:

                  
Setup-client-7.xxxx.exe in [path of the application]\datakit\nl\en\jsp
               

The next time client consoles are connected, a window will inform users about the availability of a new update and offer them the possibility of downloading and installing it.

Message Center specifics

Here are the specific build upgrade steps for Message Center.

  1. Update the Message Center production server to the chosen version.
  2. Run the postupgrade scripts.
  3. Run tests and ensure that the emails are successfully received through the Message Center production instance.
  4. Upgrade clients and clear cache.
  5. Export packages:
    1. Export packages using the client package export tool.
    2. Import schema package.
    3. Disconnect and reconnect client.
    4. Update database.
    5. Disconnect and reconnect.
    6. Import Admin package.
    7. Import Content package.
    8. Import Content Management package.
    9. Disconnect and reconnect.
    10. Perform a quick sanity check of workflows.
  6. Publish Message Center templates to ensure that the interface between servers and Message Center instance is working.
  7. Run tests to ensure that emails are successfully received through the Message Center production instance.
  8. Run workflow tests in production to ensure that deliveries are received.

Mid-Sourcing specifics

Here are the specific build upgrade steps for Mid-Sourcing.

  1. Contact Adobe Campaign Support to coordinate the upgrade of the Mid-Sourcing server. Note: the Mid-Sourcing server must always run the same version (or more recent) as for the marketing servers.
  2. Validate that the version has been updated by running a test link. For example: http://[InsertServerURL]/r/test

Managing conflicts

Close

Managing conflicts

Here are the main actions to perform to manage conflicts.

Identifying Conflicts

Viewing the synchronization result

This procedure is only performed by on-premise customers. For hosted customers, it is taken care by the hosting team. There are two ways to view the synchronization result:

In the command-line interface, errors are materialized by a triple chevron >>> and synchronization is stopped automatically. Warnings are materialized by a double chevron >> and must be resolved once synchronization is complete. At the end of the postupgrade, a summary is displayed in the command prompt. It can look like this:

                  
2013-04-09 07:48:39.749Z 00002E7A 1 info log =========Summary of the update========== 
2013-04-09 07:48:39.749Z 00002E7A 1 info log <instance name> instance, 6 warning(s) and 0 error(s) during the update. 
2013-04-09 07:48:39.749Z 00002E7A 1 warning log The document with identifier 'mobileAppDeliveryFeedback' and type 'xtk:report' is in conflict with the new version. 
2013-04-09 07:48:39.749Z 00002E7A 1 warning log The document with identifier 'opensByUserAgent' and type 'xtk:report' is in conflict with the new version. 
2013-04-09 07:48:39.750Z 00002E7A 1 warning log The document with identifier 'deliveryValidation' and type 'nms:webApp' is in conflict with the new version. 
2013-04-09 07:48:39.750Z 00002E7A 1 warning log Document of identifier 'nms:includeView‘ and type 'xtk:srcSchema' updated in the database and found in the file system. You will have to merge the two versions manually. 
               

If the warning concerns a conflict of resources, user attention is required to resolve it.

The postupgrade_<server version number>_<time of postupgrade>.log file contains the synchronization result. It is available by default in the following directory: <installation directory/var/<instance/postupgrade. Errors and warnings are indicated by the error and warning attributes.

Analyzing conflicts

How is a conflict found?

Conflicts can be found within the postupgrade.log on the server in question or within the Campaign client interface (Administration > Configuration > Package management > Edit conflicts)

                  
The document with identifier ‘stockOverview’ and type ‘nms:webApp’ is in conflict with the new version. 
               

If a conflict is found, check if the following conditions match:

  • Has the object been modified or customized by the customer?
  • Has the object changed in the product?

If neither of these conditions apply, this is a false positive. If both these conditions apply, a real conflict has been found.

Has the object been modified by the customer?

  1. Identify the conflicting object.
  2. Ask the customer if they modified the object.
  3. Is there anything unusual with the object?
  4. Is the last modified date set in the object's code?
  5. Examine the XML code from the conflict for “_conflict” attributes. Does it look like a customization?

Has the object been changed in the new build?

  1. Any "usual suspects?" Built-in web applications or reports (ex: 'deliveryValidation', 'deliveryOverview', 'budget').
  2. Examine the change logs for any updates.
  3. Ask Adobe Campaign experts.
  4. Perform a "diff" on the code.

Resolving a conflict

There are three options to resolve conflicts:

  • Accept the new version
  • Keep the current version
  • Merge the code (and declare as resolved)
  • Ignore the conflict (not recommended)

To resolve conflicts, apply the following process:

  1. In the Adobe Campaign explorer, go to Administration > Configuration > Package management > Edit conflicts.
  2. Select the conflict you want to resolve in the list.

Accepting the new version

When can I accept the new version?

  • If you want the standard features.
  • If you don’t have customizations (all customizations will be removed)

Keeping the current version

When can I keep the current version?

  • If you have customizations
  • If you don't want to merge
  • If you don't need any fixes on the conflicting object from the upgrade

Performing a merge

When to perform a merge?

  • Only forms, reports and web applications can be merged.
  • Some minor merges can be resolved without understanding the code.
  • More complex merges should be performed by someone with the appropriate skills and ability.

Ignoring conflicts

What if I ignore the conflicts?

  • The conflict will remain
  • The object will not be upgraded
  • Long term impacts: version incompatibilities, the customer will not benefit from bug fixes.

We highly recommend to always resolve conflicts

Performing a merge

There are different types of merges:

  • Easy merge: custom and new elements are small and unrelated, and there is no coding required.
  • No changes: accept new version, only last update date changed, only comments, tabs, spaces or new lines. Example: accidental save.
  • Trivial changes: only one line changed. Example: xpathToLoad
  • Complex merge: when coding is required. Development skills are required.

How to Merge?

  1. Get all three versions: the original version, the new version and the custom version.
  2. Run a "diff" between the original and new versions.
  3. Isolate the changes.
  4. If no changes, resolve by keeping current version.

Where to find the code?

  1. Standard code is stored in XML files in the datakit folder. Find the XML file that matches the conflicting object. Example: <Adobe Campaign installation folder>\datakit\nms\fra\form\recipient.xml
  2. Retrieve the original version: from the Adobe Campaign Support page, via the download center link or another non-upgraded installation of the product.
  3. Retrieve the new version: from the Adobe Campaign Support page, via the download center link or the customer's installed files.
  4. Retrieve the custom version: retrieve the object's source code from within the Campaign client.

How to make a diff?

  1. Install a text or merge editor, for example Notepad ++, AraxisMerge, WinMerge.
  2. Open the original file and the new file in the editor.
  3. Run the diff (compare the two files).
  4. Identify any differences.

How to merge?

  1. Start from the custom version.
  2. Apply the changes.
  3. Resolve the conflict by declaring it as resolved.
  4. Check for non-regressions.

If you choose to resolve the conflict manually, proceed as follows:

  1. In the lower section of the window, search for the _conflict_ string to locate the entities with conflicts. The entity installed with the new version contains the new argument, the entity that matches the previous version contains the custom argument.
  2. Delete the version you don't want to keep. Delete the _conflict_argument_ string of the entity you are keeping.
  3. Go to the conflict you have resolved. Click the Actions icon and select Declare as resolved.
  4. Save your changes: the conflict is now resolved.

Complex merges

Note: Development skills are required.

  1. Understand what the change does: reverse-engineer the changes, examine the change logs, follow up with Adobe Campaign experts.
  2. Decide what to do with the change: ask the customer.
  3. Understand what the customizations do: reverse-engineer the changes, ask the customer.

Here are the steps to perform a complex merge:

  1. Copy bits of code from the change set.
  2. Paste to the customized version.
  3. Test for non-regressions of customization.
  4. Test for function of changes.
  5. Ask for User Acceptance Testing by customer.
  6. Perform in test environment

Build upgrade - Common questions

Close

Build upgrade - Common questions

Here are the main questions and topics you should be aware of when requesting or performing a build upgrade on your Campaign instance.

About planning and constraints

How soon can the upgrade be completed?

As soon as a request for upgrade is received, the support team checks with Technical Operations team for their availability.

How much time does it take to perform a complete build upgrade?

Time depends on the size of the database. It takes at least 2 hours.

How much lead time is required for this activity?

Usually there should be a lead time of one week for upgrade requests for validation and confirmation on the Adobe technical operations team availability.

Can this be performed at night or during business off-hours?

This can be performed at night based on Adobe technical operations team's availability. It is always recommended to upgrade the environment during business off-hours when no business users are connected to the instance.

Which days can the upgrade be performed?

Recommended days are Tuesday through Thursday during business off-hours. Due to limited availability of members from Adobe technical operations team and/or other dependent teams, we avoid weekends and specific holidays. This helps avoid any major issue which might need immediate attention.

How much does an upgrade cost?

There is no cost of upgrade for hosted Customers. However, if there are issues due to custom developments, the Customer needs to fix them. Alternately, they can request Adobe professional services which involves cost.

About Campaign instance availability

Will there be access to the instance during the upgrade process?

No. During build upgrade the database is not accessible. There would be a downtime.

Will the emails continue to be sent from Message Center (Real Time)?

Emails from Message Center will continue to be sent when the Marketing or MID instance is being upgraded. However, when the upgrade happens for Message Center (RT), it will not send emails from this instance.

Will the workflows continue to run and send the deliveries?

No. During build upgrade, workflow server and MTA are both stopped. This means workflows will not run and deliveries are not sent.

Will my tracking links still work during the upgrade?

They will work. New emails cannot be sent during the upgrade but tracking links included in already sent emails will be operational.

About user actions before or during the upgrade

Are there any actions required from the Customer before the build upgrade?

Yes. Before requesting for a build upgrade make sure that there is no database structure update pending and that there are no conflicts in reports, forms or web applications.

  • Pending database structure information can be found here: Tools > Advanced > Update Database structure.
  • Conflicts information is available here: Administration > Configuration > Package management > Edit conflicts.

Does the Customer need to be available during the build upgrade process?

Not necessarily. Adobe will contact the Customer once the build upgrade is complete for confirmation.

Does the Customer need to update the client console?

Yes. It is recommended that the console is on the same (or more recent) build as the server instance.

Can the Message Center (RT) and MID instances upgrade be performed before the marketing instance in case of hybrid architecture, or does it need to happen simultaneously?

It is recommended to first upgrade Message Center (RT) and MID and then plan for the marketing instance upgrade. It can happen simultaneously also since these are separate environments.

What's the latest version of Adobe Campaign for Classic?

Latest versions are mentioned in the Release notes. Refer to: https://docs.campaign.adobe.com/doc/AC/en/RN.html.

About rollback procedure

How much time are backups kept?

Backups are stored for a limited number of days, usually about a week. A rollback will not be possible after that period.

Is there a rollback mechanism?

Adobe does not recommend rollbacks, unless there are major issues which cannot be fixed in that build and create business and financial impact. For rollback, the database is restored with the last available backup.

How much time will it take to rollback?

It depends on database backup size. Usually takes 4 hours to complete.

On-premise customers recommendations

What are the recommendations and guide lines (for on-premise customers)?

It is always recommended to upgrade to the latest build as it includes new features as well as fixes and improvements identified in earlier builds.

  • If the build is older than 6.0, it cannot be upgraded directly to the latest build. This would be a major version upgrade and would require an upgrade to the latest v6.0.2 build, then upgrade to latest v6.1.0 build, and then upgrade to latest v6.1.1 or v7 build.
  • Always upgrade the development environment first before upgrading to the production one.
  • Development and stage environments are either upgraded in sequence or together but a sign-off is needed before upgrading production instance.
  • The MID and Message Center (RT) instances should be on the same (or more recent) build as the marketing instance.
  • In case of a major version upgrade or migration, Adobe Consulting or Partner teams should be engaged to review any conflicts and to help with customization if any.
  • Perform thorough tests before moving on to production.
  • Make a backup in case a rollback is required.
  • For any issues during the upgrade, Adobe Support can provide limited assistance. The Customer may need to engage professional services to assist.