Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Pipeline

Description

PipelineArgs

DFS.Services.DFSMedia

This pipeline will return the media stream either from the cache or from Digizuite DAM. 

  1. First we check securityOn ContentManagement server, we synchronize the asset if it does not exists in the asset silo.

  2. Fetch the asset from the asset silo.

  3. If the media is in the cache we return that.

  4. The media was not in the cache, fetch the media from Digizuite DAM.

  5. We resize the image, if resizing parameters was added.

  6. Store the media in the cache.

  7. Resolve download filename.


List of processors

  • DFS.Client.Services.Pipelines.DFSMedia.SynchronizeAsset (Only In Role: ContentManagement)

  • DFS.Client.Services.Pipelines.DFSMedia.LoadAssetEntity

  • DFS.Client.Services.Pipelines.DFSMedia.GetMediaFromCache

  • DFS.Client.Services.Pipelines.DFSMedia.GetMediaFromDigizuite

  • DFS.Client.Services.Pipelines.DFSMedia.ResizeImage

  • DFS.Client.Services.Pipelines.DFSMedia.SaveToCache

  • DFS.Client.Services.Pipelines.DFSMedia.ResolveFilename


Code Block
languagec#
var arguments = new DFSMediaPipelineArgs
{
	Request = mediaRequest,
    Result = new MediaResult()
};

...


Pipeline

Description

PipelineArgs

DFS.

SyncAsset

DigizuiteUpdateNotification

This pipeline will

fetch

run every time Digizuite sends asset updates. 

  1. Fetch the asset(s) from Digizuite

DAM and save an item in the asset silo
  1. .

 First we check security
  1. Save the assets as items in Sitecore.

  2. If the

media is in the cache we return that.
  • The media was not in the cache, fetch the media from Digizuite DAM.

  • We resize the image, if resizing parameters was added.

  • Store the media in the cache
    1. requested assets are not found in Digizuite and they exists as items in Sitecore, then we delete the items, because they nolonger are available to the Sitecore channel.

    2. Clear local cache, both data cache and cached images.

    3. Send a clear cache to all CD servers.

    List of processors

    • DFS.Connect.Pipelines.SyncAssets.FetchAssets

    • DFS.Connect.Pipelines.SyncAssets.SaveItems

    • DFS.Connect.Pipelines.SyncAssets.DeleteItems

    • DFS.Client.Services.Pipelines.Cache.ClearLocalCache

    • DFS.Client.Services.Pipelines.Cache.ClearRemoteCache

    Code Block
    languagec#
    var syncAssetsArgs = new SyncAssetsArgs
    {
        FacetList = new List<FacetField>
        {
            new FacetField()
            {
                facetMode = "QueryOnly",
                recursive = true,
                searchKey = "assetId",
                values = assetIds
            },
            new FacetField()
            {
                recursive = false,
                searchKey = "derivedFrom",
                operation = "Or",
                facetMode = "QueryOnly"
            }
        },
        Count = assetIds.Count,
        Language = DfsLanguage.GetLanguage(language),
        AssetIds = BaseIds
    };


    Synchronization

    Pipeline

    Description

    PipelineArgs

    DFS.SyncAsset

    This pipeline is triggered when you insert Digizuite assets into on of the DAM for Sitecore custom fields. 

    1. First it tests if the requested asset is allready synchronized and exists in the asset silo. If the forceUpdate is true, then we skip this check.

    2. Fetch the asset from Digizuite.

    3. Save the asset in /sitecore/media library/Digizuite/Assets.

    List of processors

    • DFS.Connect.Pipelines.SyncAsset.ItemExists

    • DFS.Connect.Pipelines.SyncAsset.FetchAsset

    • DFS.Connect.Pipelines.SyncAsset.SaveItem

    Code Block
    languagec#
    var arguments = new SyncAssetArgs
    {
        AssetId = aid,
        Language = DfsLanguage.GetLanguage(language),
        ForceUpdate = true
    };

    Pipeline

    Description

    PipelineArgs

    DFS.SyncAssets

    This pipeline is used in Administration DAM for Sitecore. Under the menu Broken links and Synchronization.

    1. Fetch a list of assets from Digizuite.

    2. Save the assets in /sitecore/media library/Digizuite/Assets.

    List of processors

    • DFS.Connect.Pipelines.SyncAssets.FetchAssets

    • DFS.Connect.Pipelines.SyncAssets.SaveItems

    Code Block
    languagec#
    var arguments = new SyncAssetsArgs
    {
        FacetList = new List<FacetField>
        {
            new FacetField()
            {
                facetMode = "QueryOnly",
                recursive = true,
                searchKey = "assetId",
                values = assetIds
            }
        },
        Count = assetIds.Count,
        Language = DfsLanguage.GetLanguage(language)
    }

    Pipeline

    Description

    PipelineArgs

    DFS.BatchSync

    This pipeline is used in Administration DAM for Sitecore. Under the menu Synchronization. This pipeline is used to synchronize a large number of assets. It will run in a Sitecore job.

    1. This will call the pipeline DFS.BatchSyncAssets with a batch of 50 assets ( the batch number is configuable).

    2. Once all assets are done synchronizing we will rebuild the Sitecore index sitecore_master_index.

    List of processors

    • DFS.Connect.Pipelines.BatchSyncAssets.BatchSyncAssets

    • DFS.Connect.Pipelines.BatchSyncAssets.RebuildIndex (<IndexName>sitecore_master_index</IndexName>)

    Code Block
    languagec#
    var arguments = new SyncAssetsArgs
    {
        FacetList = facetList,
        Language = language,
        Count = 1,
        Job = Job
    }

    Pipeline

    Description

    PipelineArgs

    DFS.BatchSyncAssets

    This pipeline is triggered by the pipeline DFS.BatchSync.

    1. Fetch a list of assets from Digizuite.

    2. Save the assets in /sitecore/media library/Digizuite/Assets, with the following disables around: SecurityDisabler, DatabaseCacheDisabler, EventDisabler and BulkUpdateContext to optimize the creation of alot of items in Sitecore.

    List of processors

    • DFS.Connect.Pipelines.SyncAssets.FetchAssets

    • DFS.Connect.Pipelines.SyncAssets.SaveItemsWithDisablers

    Code Block
    languagec#
    var arguments = new SyncAssetsArgs
    {
        Count = batchLSize,
        Skip = x * batchLSize,
        FacetList = args.FacetList,
        Language = DfsLanguage.GetLanguage(args.Language)
    }