You can set up ATG Content Administration so it automatically deploys all projects listed in the To Do tab of the Admin Console in the Business Control Center.

To enable this functionality:

  1. Set up your content development and target environments for ATG Content Administration deployments (review the steps described earlier in Setting Up Deployment).

  2. Configure the RecurringDeploymentService to schedule pending projects for deployment:

    /atg/epub/deployment/RecurringDeploymentService

The following table describes each property to configure:

Property

Description

candidateTargetNames

Specifies targets to consider for scheduled deployments. If this property is not set, the RecurringDeploymentService deploys to all target sites that are set up for deployment. The RecurringDeploymentService logs error messages for invalid targets.

deploymentServer

The path of the DeploymentServer, by default /atg/epub/DeploymentServer.

enabled

Specifies whether the service is enabled. The default is false. Be sure to set all other required properties before enabling this service.

forceFull

If set to true, specifies that the RecurringDeploymentService performs a Full Deployment. By default, this property is set to false (performs Incremental Deployment).

personaPrefix

The substring in an ACL that is used to identify the user in the UserAuthority. The default is Profile$login$.

schedule

Specifies the schedule for deploying pending projects. The schedule is supplied to the Scheduler service specified in the Scheduler property.

In order to set up a recurring schedule, specify either a PeriodicSchedule or CalendarSchedule. For more information on defining these types of schedules, see the discussion on Scheduler services in the ATG Platform Programming Guide.

The default setting is calendar * * * * * 0, which specifies to run the job every hour on the hour.

scheduler

The path of the Scheduler service to manage deployment scheduling; by default, set to /atg/dynamo/service/Scheduler.

transactionManager

The path of the Transaction Manager to use; by default, set to /atg/dynamo/transaction/TransactionManager.

userAuthority

The userAuthority that resolves the user specified in the username property.

username

Specifies the user to authenticate. The default is publishing.

Set this property to a user name with full access to the /atg/epub/PublishingRepository in order to ensure that the user against whom queries are executed has the required access privileges to all projects.

versionManager

The path of the VersionManager to use; by default, set to /atg/epub/version/VersionManagerService.

At application startup, the RecurringDeploymentService schedules a new deployment job with the /atg/dynamo/service/Scheduler (class atg.service.scheduler.Scheduler). The Scheduler component is a service that monitors all scheduled jobs, and calls as needed on the appropriate services to execute them. The Dynamo Server Admin lists all jobs that the Scheduler component currently monitors.

According to the schedule defined in the property RecurringDeploymentService.schedule, the Scheduler calls on the RecurringDeploymentService to perform its scheduled task. When called, the RecurringDeploymentService retrieves all pending projects in the system and deploys them to all target sites specified in the candidateTargetNames property. If this property is not set, the RecurringDeploymentService deploys to all targets that are configured for deployment. You can monitor and manage scheduled tasks like other deployment activities.

Extending the RecurringDeploymentService

The default implementation of the RecurringDeploymentService schedulable service acts on all projects that are approved for deployment. You can extend this service to include only a subset of approved projects. For example, you might want to include only projects that contain changes to the product catalog.

To extend the RecurringDeploymentService in this manner, create a subclass of the atg.epub.deployment.RecurringDeploymentService class and override the following method:

public Collection getProjectsToDeploy(Collection pAllPendingProjects)

By default, getProjectsToDeploy() returns the collection of all projects approved for deployment. The custom implementation should filter the collection as needed.

After you create the subclass, configure an instance of the class in Nucleus by placing the configuration file in the configuration path:

/atg/epub/deployment/RecurringDeploymentService

Note: If project assets that are included in the filtered collection reference assets in other projects that are approved for deployment, the system automatically includes those projects in the deployment.