Dnn.Platform icon indicating copy to clipboard operation
Dnn.Platform copied to clipboard

Remove SharpZipLib

Open WillStrohl opened this issue 5 years ago • 4 comments

Description of problem

SharpZipLib is an external (and modified) library that's included in DNN. At the time of inclusion, it was the only functional option available to work with managing ZIP archives. Since, .NET has included and iterated on a viable alternative that ships with .NET. There's no longer any need to keep this library in the core since removal has a viable alternative and will also reduce the footprint of DNN overall.

Description of solution

  • Ensure Install/Upgrade does not require SharpZipLib
  • Create a Package for distribution and upgrade to the latest version. (To ensure installs have latest possitble)
  • Do not include SharpZipLib DLL or license file in new installs.
  • Leave the SharpZipLib DLL in the Bin folder on upgrades for backwards compatibility with vendors that might be manually referencing the DLL.
  • Update the wrapper code in the core to no longer use or reference SharpZipLib and use the .NET alternative instead.

Description of alternatives considered

None.

Screenshots

None.

Additional context

None.

Affected version

  • [x] 9.3.2
  • [x] 9.3.1
  • [x] 9.2.2
  • [x] 9.2.1
  • [x] 9.2
  • [x] 9.1.1
  • [x] 9.1
  • [x] 9.0
  • [x] 9.1
  • [x] 9.1.1
  • [x] 9.2
  • [x] 9.2.1
  • [x] 9.2.2
  • [x] 9.3
  • [x] 9.3.1
  • [x] 9.3.2
  • [x] 9.4
  • [ ] 10.0 (suggested target for the change)

Affected browser

  • [x] Chrome
  • [x] Firefox
  • [x] Safari
  • [x] Internet Explorer
  • [x] Edge

WillStrohl avatar Apr 25 '19 21:04 WillStrohl

When a PR comes in for this, please ensure the sharpziplib license attribution is also removed as part of the pr

valadas avatar Apr 26 '19 00:04 valadas

I would leave it in place so that it is not a breaking change for people that expect it to be there and update the wrappers. If the decision ends up being to remove it, I don't know how we can do that without being a breaking change, if a module installs it and then an upgrade removes it, etc.

valadas avatar Apr 26 '19 02:04 valadas

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 04 '19 03:10 stale[bot]

While I agree with the proposed change, we should find some way to notify extension developers of our plans to replace this library, as I believe it is heavily used in the ecosystem. That said, third-party extension developers should not be directly referencing this library within DNN anyway. It is available via NuGet.

david-poindexter avatar Jun 06 '20 22:06 david-poindexter