RWS/ISHRemote

Add cmdlet Get-IshPublicationOutputContent to return directly linked content objects of this publication

Opened this issue · 0 comments

Quick drop from my personal notes to share an idea on community.sdl.com... Similar to cmdlet Get-IshFolderContent where you want to know which IshObjects (either IshPublicationOutput or IshDocumentObj) are in an IshFolder. People want to know which IshDocumentObj are directly linked to an IshPublicationOutput.

  • Note that I state directly, so only using the baseline, not using any complete mode like LatestAvailable or LatestReleased. So imagine that some sub-map doesn't have a version selected in the baseline of the incoming IshPublicationOutput, then any topic used in that sub-map will not be part of the result set of this cmdlet, although the topic might have a version selected in the used baseline. You could say that the topic was unreachable for the given saved baseline.
  • Baseline25.ExpandBaseline API function implementation parameters like pasLanguages, pasIllustrationLanguages, pasResourceLanguages and pasResolutions could come from the IshPublicationOutput fields. No cmdlet parameters option to overwrite yet, although this cmdlet would allow future -AutoCompleteMode parameters used by Baseline25 sibling functions.

Actions...
Starting point is cmdlet Get-IshPublicationOutputData which downloads the generated CHM/PDF/ZIP file, but this time we return the used content objects...

  • Parameter Set IshObjectsGroup but drop FolderPath
  • Output to the pipeline are IshDocumentObj that are directly reachable through baseline selected versions.
    • Root map linked xml content objects in the multiple requested languages
    • Root map linked image content object in the multiple requested languages and resolutions
    • Resource linked xml content objects in the multiple requested languages
    • Resource linked image content object in the multiple requested languages and resolutions
  • Multi version test data see AddBackgroundTask.Tests.ps1 and AddIshPublicationOutput.Tests.ps1
  • Examples like extract all files to file system over Get-IShDocumentObjData or something over Out-GridView or move status to Released
  • (Optional parameter -Language[] taking value/element to overwrite the default incoming IshPublicationOutput metadata field values. Although post filtering on the pipeline through For-Each { ... } is the alternative for now.)
  • (Optional parameter -Resolution[] taking value/element to overwrite the default incoming IshPublicationOutput metadata field values. Although post filtering on the pipeline through For-Each { ... } is the alternative for now.)

Ideas...

  • Spike optional parameter AutoCompleteMode with the typical LatestAvailable and LatestReleased to go from an ExpandedBaseline into a CompletedBaseline.
  • Spike in turn if Expanded-and-Completed IShDocumentObj - read LogicalIds and versions - could serve as pipeline input for Set-IShBaselineItem. The generated AutoComplete report can be used to explicitly set versions in a Baseline
  • Spike if this cmdlet plus ObjectType parameter (like Get-IshFolder -FolderTypeFilter) plus New-IshObfuscatedFile can be used to reproduce data structures but with anonymized content.... Perhaps needs the Save-IshDocumentObj and Load-IshDocumentObj