Skip to content

Releases: RWS/ISHRemote

v8.1

16 Sep 08:31
Compare
Choose a tag to compare

The one where...

Boosted performance for protocol WcfSoapWithWsTrust, introduced Add-IShBackgroundTask enablers to support the Tridion Docs 15.1.1 Metrics feature, and ...

Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.1.md holding much more detail.

All customers on ISHRemote v8.0 are advised to upgrade, especially when using ISHRemote to Tridion Docs 14SP4/14.0.4 and earlier or when using the New-IShSession -IShUserName ... -IShPassword ... parameter set.

In ISHRemote v8.0 we refactored the proxies to introduce Modern Authentication next to existing legacy authentication now known as -protocol WcfSoapWithWsTrust. Performance was boosted and memory handling was optimized by making the token expiration less overzealous. #196

The below text describes the delta compared to fielded release ISHRemote v8.0.

Breaking changes

All cmdlets and business logic are fully compatible.

Platform Support

  • Verified for Windows PowerShell 5.1 powered by NET 4.8 and PowerShell 7.4.5 powered by NET 8. Note that we deliver NET 6 code base to run under NET 8 runtime.

More New and Changed

  • Boosting performance for protocol WcfSoapWithWsTrust #196 Thanks @ddemeyer
  • Get-IshTypeFieldDefinition, since Tridion Docs 15.1, no longer backfills the IShEvent and IShBackgroundTask table type storage, they now are also returned by the CMS' API call. These two types are still backfilled on Tridion Docs 15.0 and earlier. #191 Thanks @ArianArt
  • Extend cmdlet Add-IshBackgroundTask with parameter InputDataTemplate to enable full or partial Metrics build available in Tridion Docs 15.1. #193 Thanks @ArianArt

Housekeeping

  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'
    $ishEventTypeToPurge = "TESTBACKGROUNDTASK"

Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.1.md

v8.0

25 Apr 11:34
Compare
Choose a tag to compare

The one where...

Introduced Modern Authentication support over a -Protocol parameter on the IshSession cmdlets. Where we used to have only implicit WcfSoapWithWsTrust protocol - same as ISHRemote v7.0 and earlier on Tridion Docs 14SPx/14.0.x and earlier - resulting SOAP Proxy classes on IShSession. We now introduce WcfSoapWithOpenIdConnect for usage on Tridion Docs 15.x/15.x.0 which results in SOAP Proxy classes that are authenticated over Modern Authentication.

Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md holding much more detail.

  • If protocol on a New-IShSession cmdlet is forced to WcfSoapWithWsTrust, then it behaves the same as ISHRemote v7.0 and earlier or any Tridion Docs 14SPx/14.0.x and earlier system
    • WS-Federation/WS-Trust over –IshUserName/-IshPassword parameters, typical ISHSTS setups
    • WS-Federation/WS-Trust over implicit ActiveDirectory NetworkCredentials , typical ADFS setups
  • If protocol is not mentioned, it defaults to WcfSoapWithOpenIdConnect on Tridion Docs 15.x/15.x.0
    • Modern Authentication like Publication Manager or Organize Space, etc over your favorite Browser
    • Modern Authentication over –ClientId/-ClientSecret coming from Access Management (ISHAM)
    • Note: ISHWS/OWCF web services have feature parity to ISHWS/WCF (and actually also ISHWS/*.ASMX)
  • If protocol is forced to OpenApiWithOpenIdConnect
    • You mostly get fully operational WcfSoapWithOpenIdConnect
    • You also get an OpenAPI 3.0 experimental proxy on your IShSession object (experimental, might look different in the future)

The below text describes the delta compared to fielded release ISHRemote v7.0.

Breaking changes

All cmdlets and business logic are fully compatible.

Platform Support

  • Verified for PowerShell 7.4 and NET 8 Support. Note still delivering NET 6 code base to run under NET 8 runtime. #179 @ddemeyer

More New and Changed

  • New-IshSession and Test-IshSession received the -Protocol parameter. See table https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md Thanks @ddemeyer and @ivandelagemaat
  • Extend Parameter FilterOperator with value cilike (case insensitive like) for Set-IshMetadataFilterField and in turn all Find/Filter cmdlets #154 Thanks @yuliamm87
  • Get-IshBaselineItem parses incoming ModifiedOn and CreatedOn values using CurrentCulture instead resulting in Month Day swapping for some Regional Settings #157 Thanks @ddemeyer
  • Extend Parameter Completion for *-IshSetting cmdlets parameter -FieldName, similar like Get-IshMetadataField or Get-IshLovValue. #153 Thanks @ddemeyer
  • Extend enumerations to support ISHProject in Get-IshTypeFieldDefinition cmdlet #159 Thanks @OlegTokar
  • Compare-IshTypeFieldDefinition Pester tests comply to public/non-public field changes coming in 15.1/Alf1. #169 Thanks @ArianArt
  • Get-IshTypeFieldDefinition is enhanced for ISHEventType and ISHBackgroundTask to support dynamic result coming from API Settings.RetrieveFieldSetupByIshType. #171 Thanks @ArianArt
  • Pester tests for ISHBackgroundTask and its manual field setup, are aligned to be synched with the result from API Settings.RetrieveFieldSetupByIshType. #177 Thanks @ArianArt
  • Correct Get-IshSetting tests regarding field count change coming in 15.1/Alf1 #182 @ArianArt
  • Improved stability of Pester tests on larger database #188 @ddemeyer
  • Experimental OpenAPI proxies added to Tridion Docs Web Services REST v3.0 (/ISHWS/api) and to Access Management Web Services REST v1.0 (/ISHAM/) #180 @ddemeyer

Housekeeping

  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'

Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-8.0.md

v7.0

23 Dec 08:16
Compare
Choose a tag to compare

The one where...

  • We introduced PowerShell 7+ support next to keeping Windows PowerShell 5.1 support. The latter powered by Windows .NET Framework 4.8 while PowerShell 7+ is powered by .NET 6+
  • Again - similar to ISHRemote v1.0 recently - most users will not see many changes. Unless you are an expert in the WS-Federation/WS-Trust authentication protocols, those differences are described in the detailed release notes.
  • This release marks the completion of the plan as described on ThePlan-ISHRemote-7.0.md

Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md holding much more detail.

The below text describes the delta compared to fielded release ISHRemote v0.14, so will repeat some v1.0 highlights.

Breaking changes

The breaking changes are mostly induced by adding .NET 6.0 as platform support. This release achieved to have one set of ISHRemote cmdlets and cmdlet parameters that work across .NET Framework 4.8 and .NET 6.0.

  • Most cmdlets and business logic are fully compatible except around authentication (New-IshSession, Test-IshSession and New-IshObfuscatedFile) as described below.
  • Windows PowerShell older than 5.1 is no longer supported. In turn also .NET Framework 4.8, the final Windows .NET Framework version by Microsoft is required. This enables TLS 1.3 support in turn. #102
  • Stop Strong Naming the ISHRemote assembly #80 Thanks @ddemeyer

Platform Support

More New and Changed

  • New-IshSession and Test-IshSession hosted by PowerShell (Core) 7+ can only do usernamemixed. The other variation called windowsmixed authentication, also known as Windows Authentication typically required for Microsoft ADFS, is not supported by the .NET 6.0 platform. Note that these cmdlets hosted by Windows PowerShell 5.1 still support windowsmixed as before. Parameter -IgnoreSslPolicyErrors still works as before! Although the scope of this parameter is reduced to ISHRemote instead of your complete PowerShell process session. Thanks @ddemeyer
  • New-IshObfuscatedFile works as before (v0.14 and earlier) on Windows platforms on Windows PowerShell and PowerShell (Core). The cmdlet will give a warning that images cannot be obfuscated on non-Windows systems because of missing Microsoft Platform Extensions. Thanks @ddemeyer
  • Restored Parameter Completion in interactive mode. So with an active IshSession, you get Ctrl-Space parameter autocompletion on parameter -LovId or -Name. #149 Thanks @ddemeyer
  • Add-IshBackgroundTask fix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyer
  • New-IshObfuscatedFile, New-IshDitaGeneralizedXml and Test-IshValidXml received updated xml catalog handling classes aligning with product 14SP4/14.0.4 code base. #146 Thanks @jlaridon

Housekeeping

  • Enabled Github Actions Continuous Integration, see .\.github\workflows\continuous-integration.yml #102 Thanks @ivandelagemaat
  • Added \Cmdlets\_TestEnvironment\TestPrerequisite.Tests.ps1 that requires ISHRemote to test if the typical prerequisites for running Pester integration tests are present. Test descriptions give a hint on what services are expected or how to overwrite values in ISHRemote.PesterSetup.Debug.ps1 (e.g. unexisting status) to comply with your test environment. #4 Thanks @ddemeyer
  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'

Again, more details and examples are listed on the full release notes which are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-7.0.md

v1.0

23 Nov 08:23
Compare
Choose a tag to compare

The one where...

  • Finally release ISHRemote v1.0, honestly nothing changed regarding quality. Some people find v1.0 more pleasing though :)
  • Main reason for v1.0 is to prepare the trunk branch of source control for .NET (Core) as described in the ThePlan-ISHRemote-7.0.md

Full release notes are on https://github.com/sdl/ISHRemote/blob/master/Doc/ReleaseNotes-ISHRemote-1.0.md

Breaking changes

  • Windows PowerShell older than 5.1 is no longer supported. In turn also .NET Framework 4.8, the final Windows .NET Framework version by Microsoft is also required. This enables TLS 1.3 support in turn. #102
  • Stop Strong Naming the ISHRemote assembly #80 Thanks @ddemeyer

More New and Changed

  • Add-IshBackgroundTask fix regarding date time parsing incoming dates incorrectly swapping month/day #137 Thanks @ddemeyer
  • New-IshObfuscatedFile, New-IshDitaGeneralizedXml and Test-IshValidXml received updated xml catalog handling classes aligning with product 14SP4/14.0.4 code base. #146 Thanks @jlaridon

Housekeeping

  • Enabled Github Actions Continuous Integration, see .\.github\workflows\continuous-integration.yml #102 Thanks @ivandelagemaat
  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'
  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
    • Invoke-Pester 5.3.0 results on the same machine are
    Tests completed in 902.47s
    Tests Passed: 914, Failed: 0, Skipped: 9 NotRun: 0
    

v0.14-beta

21 Oct 12:15
a53fe99
Compare
Choose a tag to compare

The one where...

This release was about subtle rebranding from SDL to RWS and mostly a maintenance release.

Breaking changes

  • n/a

General

DocumentObj - New and Changed

  • Set-IshDocumentObj was extended with parameter -FileContent for EDTXML (so only Maps, Topics and Library Topics) allowing in-memory operations avoiding the need for temporary files. This cmdlet no longer has -Metadata mandatory. #19 Thanks @OlegTokar
  • Remove-IshDocumentObj is now aware that Docs v15 and greater versions will implicitly execute -Force actions, that is deleting object Version which doesn't have any languages anymore and deleting Logical object that doesn't have any versions with languages anymore. That being said, usage of -Force parameter is no longer required in Docs 15 (not yet released version).

More New and Changed

  • IshSession.MetadataBatchSize can no longer be set to zero caused by rewriting Pester tests. Divion by zero caused random errors like Get-IshFolderContent : Array dimensions exceeded supported range. #132 Thanks @ddemeyer
  • All *.Tests.ps1 are transformed to run on Pester 5.3.0 using new Discovery/Describe syntax. This allows the same *.Tests.ps1 to be used on Windows PowerShell as on PowerShell (Core) 7+, see also The Plan of ISHRemote 7+. As most use the built-in Pester version 3.4.0 that comes with Windows PowerShell on Windows 10, I added an extra check to make sure you have the right version available. To force an upgrade from pre-packaged Pester 3.4.0, have a look at Pester Installation, although on most systems it comes down to Install-Module -Name Pester -Force -SkipPublisherCheck. #132 @ddemeyer
  • Get-IshUser fails with 'Item has already been added. Key in dictionary: 'None' Key being added: 'None'' when running in parallel in StringEnum::GetStringValue #134 Thanks @jlaridon

Housekeeping

  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'
  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
    • Switched to a new laptop, which makes the test runs quite a lot faster
    • Original reference numbers for Invoke-Pester 3.4.0 (Get-Command Invoke-Pester shows its version)
    Tests completed in 435.28s
    Passed: 922 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
    
    • Transformed Invoke-Pester 5.3.0 results on the same machine are
    Tests completed in 902.47s
    Tests Passed: 914, Failed: 0, Skipped: 9 NotRun: 0
    

v0.13-beta

23 Apr 08:46
Compare
Choose a tag to compare

The one where...

This release was about adding SmartTagging support, giving insight in which fields are using IMetadataBinding and potentially smart-tag so auto-classify field values based on file content. And adding the Search-IshDocumentObj cmdlet giving you full access of the secondary Full-Text-Index of your system.

Full example are on ReleaseNotes-ISHRemote-0.13.md.

Breaking changes

  • Public object IshTypeFieldDefinition used in Get-IshTypeFieldDefinition has got a renamed property from Type to DataSource. This property also defaults to an empty string when DataType is not ISHMetadataBinding, ISHLov or ISHType (previously it defaulted to DataType.ToString() ) #106
  • New-IshSession now creates an (implicit) IshSession object where -TimeoutIssues and -TimeoutService default values are lowered from TimeSpan.MaxValue to 30 minutes. This will make you wait less than 1000+ years on an occasional network glitch (think ISP, load-balancer, firewall, etc).
    • If you like the unreasonable timeouts back, then use New-IshSession ... -TimeoutIssue (New-TimeSpan -Days 30000) -TimeoutService (New-TimeSpan -Days 30000).
    • Note that if you run out of time, then you'll see an error similar to: The request channel timed out while waiting for a reply after 00:29:59.9959957. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.

General

  • Get-IshTypeFieldDefinition cmdlet that returns an array of IshTypeFieldDefinition objects is now aware of the changes in Settings25.RetrieveFieldSetupByIshType API call that will take into effect since Docs 14SP4/14.0.4 and higher release #106 Thanks @OlegTokar
    • Property DataType received extra potential value ISHMetadataBinding for the metadata-bound fields configured in the XML Extension Settings under the <metadatabindings> section.
    • Added boolean property allowonsmarttagging indicating if the metadata-bound field is also enabled for auto-classification on the backend.
    • Property DataSource will show the server-side configured IMetadataBinding handler, sourced from <metadatabindings>.
  • When using StrictMetadataPreference.Continue upon Create and Update will filter out metadata-bounded fields of ValueType Value. Before the server back-end would throw an error like [-105006] Value type "none" is not allowed on field "FMBCONTENTREFTYPE". Field has configured metadata binding and it's value type can only be 'id' or 'element' [f:16244 fe:FMBCONTENTREFTYPE ft:Text] [105006;InvalidValueTypeForFieldType] as a Value for taxonomy-like fields is not unique enough. For example value 'Paris', is it the city or the celebrity.
    • Add-IshDocumentObject, Add-IshPublicationOutput, Set-IshDocumentObject and Set-IshPublicationOutput are fixed for 14SP4/14.0.4 and up. #108
    • Extended Get-IshTypeFieldDefinition and New-IshSession and verified Compare-IshTypeFIeldDefinition for the 13/13.0.0 up until 14SP4/14.0.4 legacy case, starting 14SP4/14.0.4 the TypeFieldSetup API call handles this implicitly. Thanks to #106, issue #58 is solved on version 13/13.0.0 and above.

DocumentObj - New and Changed

  • Search-IshDocumentObj was added which enables
    • Simple query with pipeline IshObject[] as result for further processing. Or a -Count.
    • Raw Xml-based query - so without DSL - with pipeline IshObject[] as result for further processing. Or a -Count.
    Search-IshDocumentObj -MaxHitsToReturn 2000 -SimpleQuery "red AND blue OR green" |
    Out-GridView -PassThru

Folder - New and Changed

  • Extended Get-IshFolderContent with a -RequestedMetadata parameter. Before Get-IshFolderContent returned IshObjects to the pipeline initialized by $ishSession.DefaultRequestedMetadata (default to Basic). To get extra metadata like a system field like FISHSTATUSTYPE you had to pipe from Get-IshFolderContent to Get-IshDocumentObj which is in essence again a retrieve metadata call, which grows into a lot of communication overhead. Starting this version you could optionally add a -RequestedMetadata (Set-IshRequestedMetadataField -Level Lng -Name FISHSTATUSTYPE) which merges with the Basic fields - retrieved in one cmdlet. #123
  • Fixed Add-IshFolder parameter group where -IshSession parameter is no longer mandatory. Thanks @OlegTokar #118

BackgroundTask - New and Changed

  • Add-IshBackgroundTask cmdlet was added which enables
    • Classic use case enabling access to the BackgroundTask API
    • Trigger a background task event for content objects using DocumentObj25.RaiseEventByIshLngRefs. E.g. triggering legacy correction actions on metadata like SMARTTAG would look like:
      Get-IshFolder -BaseFolder Data -FolderTypeFilter @('ISHLibrary','ISHMasterDoc','ISHModule') -Recurse | 
      Get-IshFolderContent -VersionFilter LATEST -LanguagesFilter en-us | 
      Add-IshBackgroundTask -EvenType SMARTTAG

More New and Changed

  • Service references updated for the MetadataBinding25 and DocumentObj25 to support Smart Tagging #108
  • Changed default value of $ishSession.MetadataBatchSize from 1000 to 999. This value reduces the amount of database queries, especially on Oracle RDBMs-based systems. #116
  • Extended cmdlet Set-IshSetting and Get-IshSetting with -ValueType parameter to allow read and write of referenced fields by element names. For example updating BOOLEAN fields or RESOLUTION fields by element names is safer than using the resolution value. #116

Housekeeping

  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'
  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
    Tests completed in 589.08s
    Passed: 868 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
    

v0.12-beta

16 Nov 11:10
42202a1
Compare
Choose a tag to compare

Annotations - New and Changed

  • Added ISHAnnotation layout printing #89
  • Overload on Get-IshPublicationOutput by -LogicalId would allow you to find all annotations for the logical id of the passed publication, map, topic, library, image or other. Thanks @OlegTokar #89
  • Tests are now ListOfValue value independent, you can rename/customize DANNOTATIONCATEGORY and DANNOTATIONTYPE entries and still have successful test runs. #88 #89

Folders - New and Changed

  • Get-IshFolder now has a parameter -FolderTypeFilter that already filters for certain folder types. By default it is backward compatible returning all folders. By specifying one or more folder types through -FolderTypeFilter @("ISHModule", "ISHMasterDoc", "ISHLibrary") you only get those folders on the pipeline to pass to cmdlets like Get-IshFolderContent as you potentially only want to handle topics (ISHModule) or maps (ISHLibrary). Thanks @OlegTokar #92
  • Get-IshFolderContent no longer implemented over DocumentObj25.RetrieveLanguageMetadata but over the RetrieveVersionMetadata/RetrieveMetadataByIshVersionRefs API calls when -VersionFilter is present or over RetrieveMetadata when -VersionFilter is explicitly set to "" if you want to retrieve all version and not just the default LATEST version. This allows instant filtering on folder content. It respects $ishSession.MetadataBatchSize to iterate over massive repositories. Thanks @OlegTokar #91 #93 and @HildeVermeiren #99
    • The below example recursively loops a certain folder, showing a progress bar. Passed on the pipeline it will only return LatestVersion of objects where the source language is empty (so the authoring language and not generated target languages).
      $metadataFilter = Set-IshMetadataFilterField -Level Lng -Name FSOURCELANGUAGE -FilterOperator Empty
      Get-IshFolder -FolderPath "\General\Mobile Phones Demo" -Recurse | 
      Get-IshFolderContent -VersionFilter LATEST -MetadataFilter $metadataFilter
      
    • Another example recursively loops a certain folder, showing a progress bar. Passed on the pipeline it will return all versions objects in the folders where the source language is not-empty (so generated target languages that potentially contain 'pretranslation'). And additional filter on status filter the result set to objects in or send out for translation.
      $metadataFilter = Set-IshMetadataFilterField -Level Lng -Name FSTATUS -ValueType Element -FilterOperator In -Value 'VSTATUSTOBETRANSLATED, VSTATUSINTRANSLATION' |
                        Set-IshMetadataFilterField -Level Lng -Name FSOURCELANGUAGE -FilterOperator NotEmpty
      Get-IshFolder -FolderPath "\General\Mobile Phones Demo" -Recurse | 
      Get-IshFolderContent -MetadataFilter $metadataFilter
      
    • A lengthier example allowing custom operations or purging pretranslation with progress/logging over a customizable Log-IshCustomDocumentObj is available on /Source/ISHRemote/Trisoft.ISHRemote/Samples/Sample.Automate.LegacyCorrection.ps1 Thanks @OlegTokar #97

More New and Changed

  • Get-IshLovValue got an overload -LovValueId parameter. This way you can explicitly retrieve a fully initialized LovValue object and through constructs like (Get-IshLovValue -LovId DANNOTATIONCATEGORY -LovValueId VANNOTATIONCATEGORYCOMMENT).Label you can still test labels (e.g. Comment) in your cmdlet tests. #88

Housekeeping

  • Made several tests environment agnostic by adding some explicit default entries in ISHRemote.PesterSetup.ps1, but in turn allow overrides in later loaded ISHRemote.PesterSetup.Debug.ps1 by re-initializing variables like
    $ishLngLabel = 'en-us'
    $ishLngTarget1 = 'VLANGUAGEESES'
    $ishLngTarget1Label = 'es-es'
    $ishLngTarget2 = 'VLANGUAGEDEDE'
    $ishLngTarget2Label = 'de-de'
    $ishLngCombination = 'en-us'
    
  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
    Tests completed in 719.56s
    Passed: 821 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0
    

v0.11-beta

31 Mar 11:27
ba1162d
Compare
Choose a tag to compare

More New and Changed

  • Added the following cmdlets
    • Add-IshAnnotation #78
    • Find-IshAnnotation #78
    • Get-IshAnnotation #78
    • Remove-IshAnnotation #78
    • Set-IshAnnotation #78

Housekeeping

  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
Tests completed in 298.98s
Passed: 788 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0

v0.10-beta

06 Dec 12:58
6a7bacb
Compare
Choose a tag to compare

More New and Changed

  • On IshSession...
    • Added a proxy to Annotation #59
    • Extended the Baseline proxy with 2 new methods RetrieveMetadata2 and Find #64

Housekeeping

  • Added more Pester Tests, current results below where:
    • the skipped are about SslPolicyErrors testing
    • the failed are about IMetadata bound fields (issue #58)
Tests completed in 312.65s
Passed: 602 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0

v0.9-beta

01 Jul 13:45
Compare
Choose a tag to compare

The one where...

This release was about extending functionality. Skipping version 0.9 because of an internal version conflict, but we have version numbers available still :)

Breaking changes

Although binary and behavior compatibility is always high on my list, sometimes you have to break.

  • Parameter $ishSession.Separator was previously misspelled like $ishSession.Seperator. Thanks @vmaksymenko #61

General

Folder - New and Changed

  • Recursive folder retrieval with -Depth parameter specified has become faster as the superfluous subfolder retrieval is now avoided. Thanks @OlegTokar #56
  • Get-IshFolderLocation -FolderId 0 no longer defaults to BaseFolder (typically \General) which when unchecked causes issues in your downstream code. Thanks @OlegTokar #62

More New and Changed

  • Get-IshTypeFieldDefinition to support new type ISHAnnotation part of the 14/14.0.0 release. Thanks @HildeVermeiren #54

Housekeeping

  • Added more Pester Tests, current results below where the skipped are about SslPolicyErrors testing.
Tests completed in 222.77s
Passed: 602 Failed: 0 Skipped: 8 Pending: 0 Inconclusive: 0