Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Milestone - Enable PowerShell (Core) #115

Closed
ddemeyer opened this issue Mar 2, 2021 · 1 comment
Closed

Milestone - Enable PowerShell (Core) #115

ddemeyer opened this issue Mar 2, 2021 · 1 comment
Assignees
Labels
enhancement ISHRemote7+ Any entry that has to do with the PowerShell (Core) and .NET (Core) enabled ISHRemote version must
Milestone

Comments

@ddemeyer
Copy link
Contributor

ddemeyer commented Mar 2, 2021

As described on The Plan of ISHRemote v7.0...

Branch within the ISHRemote project to a .NET Standard project (so PowerShell Standard.Library 5.1). Thereby all .NET Framework artefacts will be dropped - most notably WCF-SOAP and WS-Trust, so in turn also the IShSession.Application25 pre-authenticated WCF proxies.

Compatibility of the cmdlets is top priority, so that your scripts would need no or minimal adjustment. So cmdlet definitions like parameter groups, help and samples remain the same.

End result is an ISHRemote v7 version that can run in PowerShell 7.1+ and works on all existing Tridion Docs CMS versions using internal authentication (AuthenticationContext). Notice that ISHRemote version range 1-6 are there for continuation of the current ISHRemote based on Windows PowerShell if desired; picking up the latest version is as simple as: Install-Module ISHRemote -Repository PSGallery -Scope CurrentUser -MaximumVersion 6

References...

@ddemeyer ddemeyer added enhancement must ISHRemote7+ Any entry that has to do with the PowerShell (Core) and .NET (Core) enabled ISHRemote version labels Mar 2, 2021
@ddemeyer ddemeyer added this to the V7.0 milestone Mar 2, 2021
@ddemeyer ddemeyer self-assigned this Mar 2, 2021
ddemeyer added a commit that referenced this issue Mar 3, 2021
…der challenge in TrisoftCmdlet.cs as that is the first ASMX that needs adding
ddemeyer added a commit that referenced this issue Mar 5, 2021
…on and first cmdlet New-IshSession. Also XmlDoc2CmdletDoc.exe seems to work. Next is a first attempt to run New-IshSession, check the build and adapt the matching Pester test
ddemeyer added a commit that referenced this issue Mar 9, 2021
…l-Help.xml... manual net5.0 Primitives/Http copy makes it work on Windows PowerShell (net472) and PowerShell 7 (net5.0)
ddemeyer pushed a commit that referenced this issue Aug 17, 2021
…esterSetup.ps1 import-module to release as debug is not build as package yet. Updated the storyline of all nice improvements Ivo did.
ddemeyer pushed a commit that referenced this issue Sep 10, 2021
ddemeyer pushed a commit that referenced this issue Sep 10, 2021
…werShell use `Invoke-Pester -Path .\NewIshSession.Tests.ps1 -Output Detailed`
ddemeyer added a commit that referenced this issue Sep 14, 2021
* #115 Requires Pester 5.3.0, almost working New-IshSession test on Windows PowerShell

* #115 Requires Pester 5.3.0, working New-IshSession test on Windows PowerShell use `Invoke-Pester -Path .\NewIshSession.Tests.ps1 -Output Detailed`

* #132 Requires Pester 5.3.0, working New-IshSession test on Windows PowerShell use `Invoke-Pester -Output Detailed` ... Session is done, now do all cmdlets alphabetically

* #132 Using a simple conversion script to do most of the conversion heavy lifting (see github issue)... Completed: Session, Annotation

* #132 Using a simple conversion script to do most of the conversion heavy lifting (see github issue)... Completed: Session, Annotation, Application, BackgroundTask, Baseline, DocumentObj plus a positive MetadataSize check

* #132 Using a simple conversion script to do most of the conversion heavy lifting (see github issue)... Completed: Session, Annotation, Application, BackgroundTask, Baseline, DocumentObj, (EDT), EventMonitor, (Feature), Field, FileProcessor, Folder, ListOfValues, OutputFormat, PublicationOutput, Settings, User, UserGroup, UserRole

* #132 Updating root README.MD regarding Pester v5.3.0 usage, also cleaned up old compiling/debuggin references of VS2015 etc

Co-authored-by: ddemeyer <ddemeyer@rws.com>
Closes #132
ddemeyer pushed a commit that referenced this issue Sep 14, 2021
ddemeyer pushed a commit that referenced this issue Sep 15, 2021
…e compatiblity regarding ParameterSets based on Issuer, TimeoutIssue, TimeoutService and PSCredential... Tests are working...
ddemeyer pushed a commit that referenced this issue Sep 16, 2021
…slPolicyErrors overwrite by switching to ChannelFactor instead of SoapClient. Crosslinking #102 on Tls13 and #22 as IshSession control Ssl-overwrite instead of AppDomain
ddemeyer pushed a commit that referenced this issue Sep 17, 2021
… properties. Adding cmdlets Field and Folder... next in order are User, Event , BackgroundTask, DocumentObj
ddemeyer pushed a commit that referenced this issue Sep 17, 2021
…-Desktop and v7-ASMX-Core... client side makes hardly a difference but the servers are unreliable... to be continued
ddemeyer pushed a commit that referenced this issue Sep 21, 2021
ddemeyer pushed a commit that referenced this issue Sep 21, 2021
… IshUser cmdlets... Also shortened code by removing psOut parameters from every request... Removed IshSession proxy usage in *.tests.ps1
ddemeyer pushed a commit that referenced this issue Sep 22, 2021
…always use EN but EN-US variations, injecting this in the Debug file, should resolve some problems
ddemeyer pushed a commit that referenced this issue Sep 22, 2021
…always use EN but EN-US variations, injecting this in the Debug file, should resolve some problems... plus yaml fix
ddemeyer pushed a commit that referenced this issue Sep 22, 2021
…always use EN but EN-US variations, injecting this in the Debug file, should resolve some problems... plus yaml fix... plus order fix
ddemeyer pushed a commit that referenced this issue Sep 28, 2021
…always use EN but EN-US variations or same timezone, injecting this in the Debug file, should resolve some problems... plus yaml fix... plus order fix... plus more resilient time ranges
ddemeyer pushed a commit that referenced this issue Sep 28, 2021
… seemingly default CultureInfo cannot TryParse our database format, added explicit format
ddemeyer pushed a commit that referenced this issue Sep 28, 2021
… seemingly default CultureInfo cannot TryParse our database format, added explicit format and fixed the yyyy typo
ddemeyer pushed a commit that referenced this issue Sep 29, 2021
… seemingly default CultureInfo cannot TryParse our database format, added explicit format and fixed the yyyy typo and removed debug write-host code
ddemeyer pushed a commit that referenced this issue Sep 30, 2021
…t for OpenAPI client generation to be reused across target platforms net48 and net5.0
ddemeyer pushed a commit that referenced this issue Sep 30, 2021
…dard 2.0 Library project for OpenAPI client... raised NSwag version... working count in comment so tests still work
ddemeyer pushed a commit that referenced this issue Sep 30, 2021
… seemingly default CultureInfo cannot TryParse our database format, added more seperate tests to see what fails and explicit culture info in EventDescription in EventMonitor
ddemeyer pushed a commit that referenced this issue Oct 1, 2021
…ones, seemingly default CultureInfo TryParse misreads our database date format, changing parsing order, from explicit to implicit
ddemeyer pushed a commit that referenced this issue Oct 1, 2021
…in side-by-side code samples in a switch/case
ddemeyer pushed a commit that referenced this issue Nov 19, 2021
…ng AddIshFolder stuck...implementing GetIshFolder stuck...
ddemeyer pushed a commit that referenced this issue Dec 22, 2021
…bility but transform to OpenAPI v3 POCOs
ddemeyer pushed a commit that referenced this issue Dec 27, 2021
ddemeyer pushed a commit that referenced this issue Dec 27, 2021
…uires fall back to AsmxAuthenticationContext for now. Explicit OpenApi usage in AddIshFolder without extensions. Windows PowerShell still not loading System.ComponentModel.Annotations requesting 4.2.0 although 5.0.0 is present
ddemeyer pushed a commit that referenced this issue Dec 28, 2021
….0.0 required by downgrading to NuGet package 4.4.1 (instead of latest-5.0.0)
ddemeyer pushed a commit that referenced this issue Dec 28, 2021
…gt; in project file copyfiles statements
ddemeyer pushed a commit that referenced this issue Dec 28, 2021
…nd Get-IshBackgroundTask... Added Get-IshTimezone to get more insights on client and server location
ddemeyer pushed a commit that referenced this issue Dec 28, 2021
…Event/BackgroundTask from 1 to 10 minutes
@ddemeyer
Copy link
Contributor Author

This #115 branch still contains some goodies towards OpenAPI, but the core issue so one ISHRemote module which works on

  • PowerShell-5.1/NET-4.8
  • PowerShell-7+/NET-6+
    has been resolved on the master branch after the release/v1 availability.

ddemeyer pushed a commit that referenced this issue Dec 29, 2022
…older conversion but could be because of old OpenAPI spec json
ddemeyer added a commit that referenced this issue Sep 21, 2023
…apWithWsTrust (#164)

The one that bumps to v8.0 and introducing Modern Authentication to ISHRemote using OWCF. Still some polishing on timeouts and refresh to go...

* #152 Moved InfoShareWcfConnectionParameter deeper in Connection folder...compiles

* #152 Help of New-IshSession was still using -WsTrustIssuerUrl in examples

* #152 Merged #115 branch in, compiles except for 3 errors on enum/IshFolder conversion but could be because of old OpenAPI spec json

* #152 Renamed generic OpenApi to OpenApiISH30 to allow room for OpenApiAM10, restored all funky conversions from Enumerations,IShFields,IShFolder and IShFolders... it compiles... next Refresh spec json, rename Protocols and get folder to work

* #152 Renamed protocol enumerations.

* #152 Bumped OpenApiISH30.json to 20221229 edition which changed function definitions compared to 6 months ago... it compiles... next IshConnectionConfiguration

* #152 New-IshSession got parameter -Protocol which defaults to Autodetect... it compiles... next CreateOpenApiWithOpenIdConnectConnection

* #152 OpenApiISH30 NSwag version bump... it compiles... next CreateOpenApiWithOpenIdConnectConnection

* #152 Extended IshConnectionConfiguration (probably move under \Connection\)... it compiles... next CreateOpenApiWithOpenIdConnectConnection perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 Moved IshConnectionConfiguration... it compiles... next CreateOpenApiWithOpenIdConnectConnection perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 GetNewBearerToken fails... it compiles... Extend with Client/Secret cmdlet parameters so they are not empty anymore perhaps align InfoShareWcfSoapConnection to IshConnectionConfiguration usage

* #152 Importantant cleanup, perhaps more v8.0 then v7.1 in InfoShareWcfSoapConnection to align with IshConnectionConfiguration removing Internal/SDL realm, Lazy<> usage and ExplicitIssuer. Restored F5 debugging... it compiles... Extend with Client/Secret cmdlet parameters so they are not empty anymore

* #152 New-IshSession and Test-IshSession received -ClientId and -ClientSecret parameters... it compiles... Next is either interactive mode or deep dive into folder cmdlets based on OpenApi

* #152 Existing pester tests are all working... Next is either interactive mode or deep dive into folder cmdlets based on OpenApi

* #152 If -ClientId/-ClientSecret are passed CredentialFlow works. System Browser crashes... Next is still interactive mode then deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient fails on PS51/NET48 but works on PS73/NET70. Enabled PS7 debugging using PS7 MSI-based installer... Hardcoded to client to Tridion_Docs_Content_Importer... System Browser returns by Query and no longer by Post requestbody, change that... When fixed on NET6, how to fix on NET48 regarding assembly references... Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient fails on PS51/NET48 but works on PS73/NET70... Hardcoded to client to Tridion_Docs_Content_Importer... NET48 issue has to do with either System.Text.Json or HTTPS/SSL, but seperate test app works?!... Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Did force loading over AssemblyResolve in NET48 for System.Text.Json and System.Runtime.CompilerServices.Unsafe!...Next extend and document InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... AssemblyResolve for NET48 only over class AppDomainAssemblyResolveHelper, all 4 debugs work!!... Next extend and document InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... ValidateTokens plus some extended InfoShareOpenApiConnectionParameters (redirectUri, Open up hardcoded client to Tridion_Docs_Content_Importer , clean up code, check debug/verbose logging...Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... RedirectUri, clean up code, logging statements reviewed...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... RedirectUri, clean up code, logging statements reviewed inc keep listener alive...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Access Management has bootstrapped ISHRemote clientId...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #4 Improve /_TestEnvironment/TestPrerequisite.Tests.ps1 to handle multiple draft-to-released status transitions availability (ME...APP08)

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Refactoring to introduce WcfSoapWithOpenIdConnect a lot of changes needing review...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 Using OidcClient it works on PS51/NET48 and PS73/NET70!!... Refactoring to introduce WcfSoapWithOpenIdConnect a lot of changes needing review...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect  over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Refactoring Connections space regarding naming and comments continued...Next some Test/New-IshSession Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... New-IshSession with tests is working! Next Test-IshSession with Pester tests....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Test-IshSession with Pester tests is done... Get ready to release like PR, release notes, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 WcfSoapWithOpenIdConnect over OidcClient works on PS51/NET48 and PS73/NET70!!... Running test, reduce superfluous session creation, release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 got NuGet-Platform update, matching Assembly Redirects and working tests... Next PesterContext-checks plus release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 PesterContext-checks fixed by moving Ifs in It blocks plus release notes for v8.0... Get ready to release like PR, automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 001 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 002 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 003 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 004 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 005 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 006 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 007 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 008 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 009 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 010 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 011 automated build....Later deep dive into folder cmdlets based on OpenApi

* #152 PS51/NET48 and PS73/NET70 Get ready to release like PR, GitHub Actions issues 012 automated build....Later deep dive into folder cmdlets based on OpenApi

---------

Co-authored-by: ddemeyer <ddemeyer@rws.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ISHRemote7+ Any entry that has to do with the PowerShell (Core) and .NET (Core) enabled ISHRemote version must
Projects
None yet
Development

No branches or pull requests

1 participant