β˜•πŸ–₯️🌐

Software architecture of Adobe Campaign, directory organization, server configuration (Tomcat/Apache), and management of URLs and static resources (images, XSL, JSP). This guide is ideal for system administrators and developers working with Adobe Campaign Classic deployments.

Introduction

Adobe Campaign Classic is built on a Java EE architecture, typically deployed with Tomcat (port 8080) or integrated with a web server like Apache (ports 80/443). This article covers:

  • Directory structure and configuration files.
  • Server configuration (Tomcat/Apache).
  • URL mapping and static resource management (images, XSL, JSP).
  • Common use cases and troubleshooting tips.

Notes for Apache:

Installation directory

By default, Adobe Campaign is installed under the neolane user. To verify the home directory:

$ cat /etc/passwd | grep neolane
neolane:x:1001:1001::/usr/local/neolane:/bin/bash

For this guide, we assume Adobe Campaign is installed in:

/usr/local/neolane/nl6/

(Referred to as / in the following sections.)

Adobe Campaign Namespaces

In Adobe Campaign, namespaces are prefixes used to organize schemas, tables, and APIs. They help avoid naming conflicts and logically group related functionalities. Below are the core namespaces and their purposes.

NMS: Neolane Marketing Server

Covers marketing-related schemas and tables, such as:

  • Recipients (nms:recipient): The main table for storing customer profiles.
  • Deliveries (nms:delivery): Tables for email, SMS, and other campaign deliveries.
  • Campaigns (nms:operation): Tables for managing marketing campaigns.
  • Lists (nms:group): Tables for managing recipient groups.
  • Templates (nms:template): Templates for deliveries and campaigns.

XTK: eXtended ToolKit

Covers low-level operations, technical and system-level functionalities, such as:

  • Workflows (xtk:workflow): Workflow schemas and execution.
  • JavaScript APIs (xtk:javascript): Server-side JavaScript APIs.
  • Session management (xtk:session): Authentication and session handling.
  • Data schemas (xtk:srcSchema): Base schemas for extending data models.

CRM: Customer Relationship Management

CRM connector functionalities, such as integrating with external CRM systems (e.g., Salesforce, Microsoft Dynamics):

  • CRM connectors (`crm:connector): Configuration for CRM integrations.
  • Synchronization (crm:sync): Data synchronization between Adobe Campaign and CRM systems.

Directory Structure Overview

Adobe Campaign’s installation directory contains several key subdirectories:

/usr/local/neolane/nl6/
β”œβ”€β”€ bin/            # Executable scripts and binaries
β”œβ”€β”€ conf/           # Configuration files
β”œβ”€β”€ customers/      # Customer-specific configurations
β”œβ”€β”€ datakit/        # Core application data and resources
β”œβ”€β”€ deprecated/     # Legacy files (v6.0)
β”œβ”€β”€ examples/       # Sample files and templates
β”œβ”€β”€ java/           # Java libraries
β”œβ”€β”€ lang/           # Language packs
β”œβ”€β”€ migration/      # Migration scripts
β”œβ”€β”€ rsetup/         # Setup and deployment scripts
β”œβ”€β”€ tomcat-7/       # Tomcat server files
    └── conf/
        β”œβ”€β”€ apache_neolane.conf # Apache Configuration file
        └── server.xml  # Tomcat Configuration file
β”œβ”€β”€ web/            # Web application files
β”œβ”€β”€ zoneinfo/       # Timezone data
β”œβ”€β”€ logs/           # Log files
β”‚   β”œβ”€β”€ catalina.YYYY-MM-DD.log  # Tomcat logs
β”‚   └── ...
└── var/            # Runtime and workflow data
    β”œβ”€β”€ res/        # Instance-specific resources
    β”‚   └── <instanceName>/
    └── <instanceName>/  # Instance-specific directories
        β”œβ”€β”€ billing/
        β”œβ”€β”€ export/
        β”œβ”€β”€ incoming/
        β”œβ”€β”€ log/    # Log files for MTA, workflows, etc.
        β”‚   β”œβ”€β”€ inMail.log
        β”‚   β”œβ”€β”€ mta.log
        β”‚   β”œβ”€β”€ runwf.log
        β”‚   β”œβ”€β”€ stat.log
        β”‚   └── wfserver.log
        β”œβ”€β”€ mta/
        β”œβ”€β”€ postupgrade/
        β”œβ”€β”€ redir/
        β”œβ”€β”€ upload/
        β”œβ”€β”€ workflow/  # Workflow execution files
        β”‚   └── wf-<internalName>/
        β”‚       └── httpTransfer/
        β”‚           └── xxx.xml
        └── logins.log

URL Mapping and Static Resources

Common Application Server URLs

For an Adobe Campaign server (e.g., https://myserver-mkt-prod1.campaign.adobe.com or http://t.my-customserver.com):

URL Path Description
/view/home Homepage of the Adobe Campaign client.
/nl/ /usr/local/neolane/nl6/web/
/nl/webForms/defaultWebApp.css /usr/local/neolane/nl6/web/webforms/defaultWebApp.css
/webApp/{webApp-internalName web apps
/{jssp-namespace}/{jssp-name}.jssp JSSP pages
/nl/jsp/logon.jsp Logon page, redirects to Client install/download page
/nl/jsp/install.jsp Client install/download page

Health check

  • /r/test -> test page, returns XML, see https://docs.campaign.adobe.com/doc/AC/en/PRO_Production_procedures_Monitoring_processes.html#Automatic_monitoring
  • /nl/jsp/ping.jsp -> ping

Resource Server (CDN)

Adobe Campaign uses a resource server (CDN) to serve public resources, such as images and files uploaded via the client console. Example URLs:

  • /r/test -> test page
  • /res/instance_name/ -> Public resource files

Default URL Mappings

Adobe Campaign maps URLs to local paths for serving static resources (images, JSP, XSL). Here’s a summary of the most common mappings:

Desc URL Local path
Client exposition /nl /web
Datakit images /crm/img /datakit/crm/eng/img
. /ncm/img /datakit/ncm/eng/img
. /nl/img /datakit/nl/eng/img
. /nms/img /datakit/nms/eng/img
<ul><li>Neolane Marketing Server (NMS) in nms-logo-01.png</li><li>program.png, asset.png, task.png</li></ul>
. /xtk/img /datakit/xtk/eng/img
<ul><li>Navigation menus: print, paste, xtksave</li><li>Navigation explorer: navnode.png, navroot.png, loading.gif</li><li>Workflow UI: wfplay.png, /background, /activities</li><li>Schema explorer: xtklink.png</li></ul>
Datakit XSL /nms/xsl /datakit/nms/eng/xsl
. /xtk/xsl /datakit/xtk/eng/xsl
JSP exposition /nl/jsp /datakit/nl/eng/jsp
. /nms/jsp /datakit/nms/eng/jsp
. /xtk/jsp /datakit/xtk/eng/jsp
Legacy v6.0 js/css /xtk /deprecated/xtk
. /nms /deprecated/nms
. /crm /deprecated/crm
Empty path for web.xml ` ` /web
Other /cus ../customers
. /res /var/res
. /examples /examples

Conclusion

Understanding Adobe Campaign’s directory structure, server configuration, and URL mapping is essential for administrators and developers. This guide provides a foundation for managing and troubleshooting Adobe Campaign Classic deployments.