Daily Processes

Overview

Daily processes are processes which run on a daily basis automatically through the SOLO Server Daily Processor database job. These processes fall into 3 general categories:

For these processes to run, you must configure the SOLO Server Daily Processing database job. For Instant SOLO Server customers who which to use any of these processes should contact us for further instructions.

Configuring Processes

By default, the installer only installs the Daily Maintenance process on fresh installs. Any additional processes must be configured by an administrator. To configure daily processes, click Admin / Daily Processes (Scheduled Jobs). Each process is defined by the following fields:

Process Name
The name of the process. This is displayed in the list view, as well as included in any summary email notifications/logs sent to administrators to identify the process.
Process Description
Short description of the process.
Process Type
The process type. Each process type will be outlined below.
Plugin
The plugin for the process. Only available when the selected process type is Custom Plugin.
Input Xml
Xml document containing the process input parameters. Click the Load Default Template link below the text area to load a default xml document for the chosen process type (note that nothing will occur here for processes which require no input or for custom plugin processes).
Execution index
Index used to control the order in which the daily processes are run. Note that the Daily Maintenance process should always use a value of 0 here, and all other process types should use a value of 1 or greater. Currently, the Daily Maintenance process is the only exception in that it should run prior to all other processes, no other process types have interdependencies.
Active
Whether the process is active. When this is not checked, the daily processor will skip the process.

Abandoned Cart Follow Up Process

This process sends out the mailings for the Abandoned Cart Campaigns. The input xml for this process includes the following elements:

OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.

Author File Archiving

This process archives files uploaded to the Storefront and ESD folders for author accounts marked inactive for a specified number of days, and is only applicable in instances where SOLO Server is licensed and configured to be run as a service with multiple author accounts. After files are archived for a given author, an author note is created noting the archiving has been processed, and the author will be bypassed during subsequent runs of the archive process.

AuthorsToIgnore
A comma separated value list of AuthorIDs to omit during processing.
DaysUntilArchive
The number of days after the last modification (Modified Date on the author home page) of an inactive account to archive the files. An author is considered inactive when the account is marked closed and disabled.

Credit Card Billing Reminder Process

This process sends billing reminder email notifications to customers who have purchased through a given merchant account. The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent out. This requires setting up a mailing within SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
DaysBack
The number of days in the past to look for invoices to send reminders for. For example, specifying a value of 7 will send notifications to invoices which were entered one week back.
MerchantAcctID
The MerchantAcctID to send out billing reminders for. This is optional if omitted the process will include all merchant accounts.

Cross Product Marketing Process

This process sends marketing emails to customers for a given product a specified number of days after a customer purchases a specified product. The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent out. This requires setting up a mailing within SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters supported by this mailing
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
DaysBack
The number of days in the past to look for invoices to send the emails for. For example, specifying a value of 7 will send notifications to invoices which were entered one week back.
PurchasedProductID
The ProductID of the product the customer must have purchased.
OfferProductID
The ProductID the marketing offer pertains to. If a customer already owns this product, they will be excluded.
FirstPurchaseOnly
True/False Whether to only send the emails to customers on their first purchase of the PurchaseProductID.

Custom Plugin

This process type is used for custom daily processes implemented using SOLO Server's plugin mechanism. When this process type is selected, a Plugin drop down field will appear allowing you to select one of the plugins configured in SOLO. See the topic on plugin processors for more information.

Customer Follow Up Process

This process sends follow up emails a specified number of days after customer signs up or purchases. . The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent out. This requires setting up a mailing within SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters supported by this mailing
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
AuthorID
The AuthorID to search for customers/invoices. This is required for the NewAccount follow up type, as well as for the NewPurchase and Purchase types if ProductIDs is omitted.
ProductIDs
For the NewPurchase and Purchase follow up types, a comma separated value list of ProductIDs to filter purchases on. Only customers who purchase one of the given ProductIDs will be sent an email. If this is omitted, all products on the AuthorID will be considered.
FollowupType
The follow up type. This can be one of three values:
DaysBack
The number of days in the past to look for customers/invoices to send the emails for. For example, specifying a value of 7 will send notifications to invoices which were entered one week back or customers created one week back.

Customer Subscription Expiration Notification Process

This process sends summary notification emails regarding license expiration to customers who have licenses nearing expiration or expired. The process first finds all customers with an applicable license expiring a given number of days from the current date. For each of these customers, an email is then sent containing a summary of license expiration data for all applicable licenses, regardless of expiration date. The summary lists the licenses by expiration date, starting with the earliest expiration date. Expired licenses will be highlighted in bold red, while licensing nearing expiration are highlighted in bold, as detailed in the following image:

The input xml for this process contains the following elements:

MailingID
The MailingID of the mailing to be sent. This requires setting up a mailing in SOLO Server for the email. See Creating Custom Mailings for more information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
DaysToExpiration
The number of days prior to license expiration to send the email. This number of days is added to the current date, and any customer with applicable licenses expiring on this date are notified. Note that a negative value can be specified to send notifications after expiration.
ProductIDsCsv
A comma separated value list of ProductIDs to search for expiring licenses on.
IncludedProdOptionsCsv
A comma separated value list of ProdOptionIDs to search for expiring licenses on.
ExcludedProdOptionsCsv
A comma separated value list of ProdOptionIDs to exclude from the search for expiring licenses. Used to filter out specific options when using the ProductIDsCsv input parameter.
CCLicenseeEmails
True/False. Whether to CC the notification to the licensee email addresses when present on the license(s).
ExcludeUpgradeLicenses
Whether to exclude licenses with a status of Upgrade for options configured with an Upgrade Behavior of Deactivate.
ExcludeActivePaymentPlanLicenses
Optional True/False value which determines whether to exclude licenses which are associated with an active payment plan instance.

Daily Maintenance Process

This process performs daily maintenance processing. This is a several step process, and the input xml contains an element for each maintenance step as follows:

ProcessAffiliateDailyTraffic
True/False. This step consolidates of all of the daily traffic data stored in the AffiliateRawTraffic table and into the AffiliateDailyTraffic table, removing the previous day's data from the AffiliateRawTraffic table. Also adds any traffic from trial downloads (the DLDemoLog table) that are associated with affiliates to the AffilliateDailyTraffic table.
ConvertHoldingInvoicesToShipping
True/False. This step will find invoices with a status of Holding and a Hold Date of the current date, set the status to Shipping, and clear the Hold Date.
DeleteLicensesAndinvoices
True/False. This step deletes all Invoice and License records which are marked for deletion. This will also delete any dependencies these licenses and invoices have (including refunds, unlock history, and store credits).
PurgeOrphanedCarts
True/False. This step deletes all cart records that have not been accessed in the last 30 days that do not have a customer associated with them, as well as all carts older than 6 months.
UpdateTrialDownloadLogWithCustomerID
True/False. This step updates the trial download log with CustomerIDs based on email matches with the customer table. This allows downloaded trials to be tied to customers who have made a purchase (thereby creating a customer record in SOLO Server), and also allows SOLO Server to calculate the conversion rate from trials to purchases.
ResetLoginViewCCNumbers
True/False. This step updates all user records to no longer have view credit card number permission for security reasons.
MaskDeclinedOrdersDaysBack
Numeric (default 1). This step permanently masks all credit card numbers stored in the DeclinedOrders table entered prior to the specified number of days back from the current date for security reasons. Use a value of 0 to disable this.
MaskInvoicesDaysBack
Numeric (default 180) This step permanently masks all credit card numbers stored in the Invoices table entered prior to the specified number of days back from the current date for security reasons. Use a value of 0 to disable this.
MaskDisabledStoredPaymentsDaysBack
Numeric (default 30). This step permanently masks all credit card numbers stored on the StoredPaymentInfo table and associated with a payment plan instance marked inactive prior to the specified number of days back from the current date (and not also associated with an active payment plan instance) for security reasons.
PurgeAuthorLoginAudit
True/False. This step will permanently delete all author LoginAudit records which are no longer within the scope of the author login velocity check.

First Activation Follow Up Process

This process sends follow up emails to customers after they first activate their software. The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent. This requires setting up a mailing within SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters supported by this mailing
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
ProductsCsv
A comma separated value list of ProductIDs to send emails for. Optional when ProdOptionsCSV is specified, otherwise required.
ProdOptionsCxv
A comma separated value list of ProdOptionIDs to send emails for. Optional when ProductsCSV is specified, otherwise required.
DaysBack
The number of days after activation to send the emails.

Non Activated License Notification Process

This process sends notification emails to customers who have purchased a license but not yet activated the license. The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent out. This requires setting up a mailing within SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
AuthorID
The AuthorID to search for licenses on. This is optional if ProductIDs is used.
ProductIDs
A comma separated value list of ProductIDs to filter purchases on. Only customers who own one of the given ProductIDs will be sent an email. If this is omitted, all products on the AuthorID will be considered.
DaysBackInterval
The number of days from purchase to send the first notification as well as the number of days between subsequent notifications. For example, setting this to 7 will send a notification one week after purchase and then once every week thereafter until the NotificationCount has been reached.
NotificationCount
The total number of notifications to send.

Pending Payment Plan Notification Process

This process sends notification emails to customers who a pending payment plan payment coming due. The input xml for this process includes the following elements:

MailingID
The MailingID of the mailing to be sent out. This requires setting up a mailing within SOLO Server for the email see Creating Custom Mailings for information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
DaysAhead
The number of days in the future when the payment plan instances to send notification for will be processed.
AuthorIDCsv
A comma separated value list of AuthorIDs to include during processing. If blank or omitted, all authors will be included.
SuppressRenewals
True/False as to whether to only send notifications for payment plan instances with expiring credit cards.

Product Serial Number Check Process

This process checks for any products configured for assigned from list serial numbers that are out of or nearly out of available serial numbers, and sends an email alert if any are found. This process only needs to run if there are products in SOLO Server which are using assigned from list serial numbers. The input xml for this process contains the following elements:

AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
AuthorID
Optional. When specified, the process only targets products on the given AuthorID.
Threshold
The number of remaining serial numbers below which the remaining stock is considered low and an email notification is sent.

Shipping Notification Process

This process sends shipping notification emails to customers whose orders have been marked shipped and/or a summary email to specific email addresses. The input xml for this process contains the following elements.

MailingID
The MailingID of the mailing to be sent. This requires setting up a mailing in SOLO Server for the email. See Creating Custom Mailings for information on the search and replace parameters.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
AuthorID
Optional. When specified, the process only targets invoices for the given AuthorID.
DaysBack
The number of days back from the current date to search on the invoice shipping date. In most cases, this should be set to one to pick up invoices shipped the previous day.

Subscription Expiration Notification Process

This process sends notification emails to customers whose licenses are nearing expiration. The input xml for this process contains the following elements:

MailingID
The MailingID of the mailing to be sent. This requires setting up a mailing in SOLO Server for the email. See Creating Custom Mailings for more information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
OverrideOfferProduct
Optional True/False value which determines whether an to override the Notify Product setting on the customer record. If omitted or set to false, emails will only be sent to eligible customers with the Notify Product setting enabled, while if set to true, all eligible customers will receive an email regardless of the Notify Product setting.
DaysToExpiration
The number of days prior to license expiration to send the email. Note that a negative value can be specified to send notifications after expiration.
ProdOptionCsv
A comma separated value list of ProdOptionIDs to send the email for.

Trial Teaser Notification Process

This process sends trial teaser emails to customers who have downloaded trials. Note that this process does NOT use the trial teaser settings specified on the product - these are used by the global version of this process described below. Instead, this process is intended to allow overriding the default values here for special cases. The input xml for this process contains the following elements:

MailingID
The MailingID of the mailing to be sent. This requires setting up a mailing in SOLO Server for the email. See Creating Custom Mailings for more information on the search and replace parameters supported by this mailing.
AdminEmail
Optional email address to send a summary notification email to. Note that multiple AdminEmail elements can be specified to send to multiple email addresses.
NotifyOnNoProcessingData
Optional True/False value which determines whether an administrative email notification is sent when no data was found to process. If omitted, the default is false.
BCCAdminEmails
Optional True/False value which determines whether the customer email notification is BCC'd to the AdminEmail emails.
ProductID
The ProductID to send teasers for.
DaysBack
The number of days since the trial was downloaded that the email should be sent.
MultipleTeaserMode
True/False as to whether to run in Multiple Teaser Mode. When run in this Multiple Teaser Mode, the query to gather trial records will not filter out records already marked with a TeaserSent date. This allows sending multiple teaser emails for a given product. When not in Multiple Teaser Mode, the query to gather trial records will filter out records already sent a teaser email.

Trial Teaser Notification (Global) Process

This process sends trial teaser emails to customers who have downloaded trials and have not been sent a teaser email already. Unlike the non-global process, this requires no input parameters, and instead runs globally, sending teasers for all products which are configured for trial tracking (with a trial teaser email and days back specified) for authors with trial tracking enabled. Administrative notification emails are sent to user accounts with the Notify Trials permission set.