A few things I have been tossing around in my head that needs to be flushed out is the direction of this utility. Should the utility be a
Command Line Interface (CLI) that can be run cross-platform
or
PowerShell Module Windows Only
or
PowerShell Module Cross Platform
Out of those 3 options I don't think we should consider Windows Only because that limits administration environments. DNN is built on the .NET Framework which needs to be hosted on a windows machine but that user could very well be executing from Windows Subsystem for Linux (WSL). This opens up several use cases for automation and leveraging other scripting languages and utilities that are not available on Windows.
This leaves us with really 2 main options
PowerShell
or
Cross Platform CLI
Build a cross-platform PowerShell is easy enough but there are some limitations with this that should be discussed.
What version of PowerShell do we want to support?
Are there certain features of PowerShell that we want to leverage that may not be available in PowerShell Core vs PowerShell for Windows
Using PowerShell enables us to easily distribute on the PowerShell Module Repository
Building a Cross Platform CLI also opens up a different series of questions and problems that we will have to over come.
Using a CLI we would need to distribute via a curl script or something similar to download the necessary files
Creating a CLI with dotnet core gives us the power to use C#
Creating a CLI does mean we need to build the interface or pull in a package that scaffolds a CLI for us
When decided what to use we have a few things to consider.
How will the interface communicate with DNN?
Will there be a service call?
Will the interface communicate directly with DNN assemblies being executed from the same machine?
These are just thoughts that I want to use for discussion. I am not 100% sure what the community wants most, but I strongly believe we should do everything in our power to make this cross-platform.
A few things I have been tossing around in my head that needs to be flushed out is the direction of this utility. Should the utility be a
Out of those 3 options I don't think we should consider Windows Only because that limits administration environments. DNN is built on the .NET Framework which needs to be hosted on a windows machine but that user could very well be executing from Windows Subsystem for Linux (WSL). This opens up several use cases for automation and leveraging other scripting languages and utilities that are not available on Windows.
This leaves us with really 2 main options
Build a cross-platform PowerShell is easy enough but there are some limitations with this that should be discussed.
Building a Cross Platform CLI also opens up a different series of questions and problems that we will have to over come.
curl
script or something similar to download the necessary filesWhen decided what to use we have a few things to consider.
These are just thoughts that I want to use for discussion. I am not 100% sure what the community wants most, but I strongly believe we should do everything in our power to make this cross-platform.