Installing the Automated Tasks Framework


Before you can schedule automated tasks, you must install the automated tasks framework and configure it to work with your CMS instance.

The Automated Tasks Framework installer

You can download the latest version of the automated tasks framework from the Downloads section of the Ingeniux Support Site. After downloading the installer, run it. 

On the installer's welcome screen, click Next

Enter a path to an installation folder, or keep the default path. Select whether the Automated Tasks Framework will be available to all users on the server, or just the current user. Then click Next. On the final screen, you're asked to confirm the installation; click Next again to do so. The installer begins installing the Automated Tasks Framework.

Setting up the standard operations automated task in Visual Studio

After installing the framework, navigate to [siteName]\App_Data\xml\Custom and open API_Extensions_Development_Harness.csproj in Visual Studio. 

On the Solution Explorer, right-click API_Extensions_Development_Harness and select Manage NuGet Packages. Verify that all NuGet packages are up to dates. If there are out-of-date or missing packages, click Restore to download the necessary packages. When the updates are complete, click Close.

Right-click the top level of the project and select Clean. Then select Rebuild. Close Visual Studio.

In a file browser, navigate to [siteName]\App_Data\xml\Custom\automated\Standard_Operations. Open web.config in a text editor and examine the appSettings node:


<appSettings>
    <clear />
    <add key="webpages:Version" value="3.0.0.0" />
    <!-- prevent null reference error in fire and forget tasks joining main thread, while main thread already finished-->
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="owin:AutomaticAppStartup" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="EnableTFRMParameter" value="true" />
    <add key="DesignTimeAssetsLocation" value="" />
    <add key="CacheSiteControls" value="true" />
    <add key="SiteControlSchemas" value="SiteControl;SectionControl;SiteControlComponent" />
    <add key="LegacyRendering" value="true" />
    <!-- 3 choices for table handling: AsTablet, AsMobile, AsDesktop, not case sensitive-->
    <add key="TabletHandling" value="AsMobile" />
    <!-- logging settings -->
    <add key="Log_MaxArchiveFiles" value="1000" />
    <!-- bypass mobile routing cookie setting-->
    <add key="MobileViewBypassCookieName" value="Bypass_Mobile_View" />
    <add key="PreviewContentStoreEmbedded" value="false" />
    <!-- the cookies that will cause cache variation on different value -->
    <add key="CacheVariationCookieNames" value="site;region" />
    <!-- by default, Dss will copy all stylesheets to App_Data\_dss_temp_stylesheets_ folder to avoid file locking during publishing/replication
         set to false to disable this feature and directly use xslt in Stylesheets folder -->
    <add key="UseTempStylesheetsLocation" value="true" />
    <!-- Turn off DSS self-sustained navigation building-->
    <add key="DependencyMode" value="false" />
    <!-- The duration of checking for navigation cache on disk in dependency mode-->
    <add key="DependencyModeNavCacheDuration" value="60" />
    <!-- Keep memory footprint to lowest. Affect performance of DSS right after publishes-->
    <add key="TightMemoryControl" value="false" />
    <!-- The delay to clean up memory after each publish, under tight memory control-->
    <add key="MemoryCleanupDelay" value="15" />
    <!-- The max number of thread to be use to perform background navigation building. Default to twice of CPU cores count-->
    <add key="NavBuildThreadPoolLimit" value="" />
    <add key="PageFilesLocation" value="C:\igxsites\cms90\cms-90560\site\pub" />
</appSettings>

These values configure the default automated tasks: emptying the recycle folder and publishing to a publishing target. When DoEmptyRecycleBin or DoPublish are set to true, those tasks execute. The value set to the PublishTargets key specifies the publishing target.