/// <summary> /// Pulishes all relevant documents matching the target folder branch /// </summary> /// <param name="TargetFolderBranch">Filter of the target branch applied to documents that are published.</param> public void Publish(string FilterFolderBranch) { if (FilterFolderBranch == null) { FilterFolderBranch = ""; } // build the target root folder string FilterFolderPath = BuildPath(this.TargetRootFolder, FilterFolderBranch); DocumentFile.AssertFolderExists(FilterFolderPath); // get file info under the target root this.FileInfoStore = GetFileInfoStoreFromPath(FilterFolderPath, true); // get target folders to publish string[] TargetFolderBranches = AppContext.Documents .Where(d => d.IgnoreFlag == Document.FALSE_FLAG_VALUE && d.TargetFolderBranch.StartsWith(FilterFolderBranch)) .Select(b => b.TargetFolderBranch) .Distinct() .ToArray <string>(); string TargetFolderPath = null; // loop through folders foreach (string TargetFolderBranch in TargetFolderBranches) { TargetFolderPath = BuildPath(this.TargetRootFolder, TargetFolderBranch); PublishFolder(TargetFolderPath, TargetFolderBranch); } }