question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RFC: Package extensions via NuGet

See original GitHub issue

In the discussion of #2599, I mentioned the idea of using NuGet to package extensions to DNN, as an alternative to the current zip file upload. Using NuGet for packaging brings along some benefits that I think make it worth considering.

Benefits

  • NuGet contains the idea of dependencies, so that one package can depend upon another. The current DNN manifest already has the idea of dependencies on a type, package, or DNN version. However, NuGet’s version ranges and target frameworks, along with the ability to depend upon any NuGet package may unlock some interesting possibilities, especially as we work to migrate to .NET Standard and, eventually, .NET Core.
  • There are many simple options for hosting NuGet packages, which would easily allow the community to restart the DNN Forge, as well as allow 3rd parties to add their own internally or externally hosted suite of extensions.
  • Using NuGet packages would make it easier to retrieve required dependencies during the installation process. If DNN allowed managing a list of NuGet hosts, an extension package could indicate that it depends on another extension, or a standard NuGet library, and that dependency would be seamlessly retrieved during installation.
  • Using NuGet gives us a standard tool familiar to .NET developers, and removes the need to find and understand any of the various more-or-less automated packaging systems that the community has created over the years.

Alternatives Considered

The community can wait for DNN Corp to rebuild the DNN Store and its update service, and use that as a platform to host extensions and then update DNN’s extension installer to make use of that platform and service during the installation process.

  • Pros: May better support non-free extensions
  • Cons: Does not solve the need for richer dependencies or simpler packaging. Implementation of package retrieval during installation will likely be more work if not based on an existing framework/tool

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:5
  • Comments:10 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
mitchelsellerscommented, Jul 29, 2019

I think this is still an active discussion, I think this is one that we can leave in an RFC status, until we get closer to an actionable state.

1reaction
SkyeHoeflingcommented, Mar 21, 2019

I was thinking about this idea more and this could be a way to easily standup a community repository of extensions. Since NuGet already supports an API for download packages we could then build that into platform.

Consider this: When you go to the extensions page in DNN you select repositories, just like you would in Visual Studio for package source (we could add some custom header to certify it is a DNN NuGet Repository). Then the user can search through the NuGet (extensions) and select which one they want. The server would be able to download it and then install it automatically.

The thing I really like about this approach is how the repository won’t be hard coded into the platform and an admin can customize to use no repositories or as many as they want.

@mitchelsellers @bdukes what do you guys think?

Read more comments on GitHub >

github_iconTop Results From Across the Web

RFC: Improve NuGet Package Structure & Dependencies ...
Description of Problem Currently, there are a number of NuGet packages that provide DotNetNuke dependencies for consumption by third-parties ...
Read more >
ARSoft.Tools.Net 3.5.0
This project contains a complete managed .Net DNS and DNSSEC client, a DNS server and SPF and SenderID validation.
Read more >
fm.Extensions.Logging 6.0.0
Extensions for ILogger which allows using Microsoft.Extensions. ... NET CLI; Package Manager; PackageReference ... dotnet add package fm.Extensions.
Read more >
Best 20 NuGet rfc-1006 Packages
Find out most popular NuGet rfc-1006 Packages. ... Software Driver SDK to access SINUMERIK NCKs (Numerical Control Kernels) via TCP/IP.
Read more >
NuGet CLI sign command
Forces nuget.exe to run using an invariant, English-based culture. -HashAlgorithm. Hash algorithm to be used to sign the package.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found