v9: automatic import of NuGet packages into the Our Umbraco package listing #10595
Replies: 10 comments 25 replies
-
Seeing as installation from the backoffice will be removed in 9, maybe remove the browse option altogether to avoid confusion. |
Beta Was this translation helpful? Give feedback.
-
Initial thought about the use of tags, do we know if NuGet has any limitations in the characters used? Anyone old enough to use Flickr's "machine tags" (aka Triple Tags) back in 2007? The structure is like this... So you could have parse-able tags such as |
Beta Was this translation helpful? Give feedback.
-
I'm wondering whether this "automatic" search may be too problematic to have and I feel like you may be spending more time removing packages that shouldn't be listed than if you did it the other way round. I'm wondering if there could just be an endpoint where build tools can ping (like UmbPack) that says a new package has been published and so Umbraco can then update. I think this is more explicit and prevents having to constantly update " the algorithm" as it invariably lists things it shouldn't list. Something you'll need to consider which is evident in your screenshot of a scrape is that NuGet packages are often split up into multiple packages for the same "Umbraco Package" (Vendr is split into around 5 packages) so then it's a question of how should that get automatically listed? If it was manual (via a build process) I can easily tell you "this is the entry point and these are all the related packages". |
Beta Was this translation helpful? Give feedback.
-
How things are listed on ourWondering if this should be more than a tick-box? and maybe the URL to the NuGet package. I know that is already there, but there might be reasons why the nuget package is different for a different version of Umbraco (after-all the Umbraco nuget package is different for v8 and v9). The ability to change things like the name is one thing we are loosing by not having a package to upload anymore. if the nuget package is what you enter to make a package listed as v9 n our then that can be used to discover / list the packages - (as you would have a list of v9 nuget pakcage names) - they would be associated with the member, and you wouldn't have to worry about tags etc ? |
Beta Was this translation helpful? Give feedback.
-
No sure how searchable / useful it might be - but the nuspec has space for 'packageTypes' that can be custom. this would for example, give space for nuget packages to be defined as e.g
but its a bit niche - would have to be communicated quite well (you could always fall back to assuming the version isn't there its compatible but it gives space for people to define the version their package works with). |
Beta Was this translation helpful? Give feedback.
-
Interesting challenge / thought this morning. What should packages like Vendr do that are multi targeting? For v8 we currently build a zip package that can be installed via the Umbraco back office. I could probably continue to do this for our v2 update for anyone running v8 / .NET Framework, but as we are multi-targeted, the zip file won't work for v9 / .NET Core. |
Beta Was this translation helpful? Give feedback.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
-
I'll close this one as resolved and note that this has led to the creation of: https://marketplace.umbraco.com/ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
With Umbraco v9 moving to NuGet packages we would love to make it a bit easier for package developers to manage package metadata on Our Umbraco and make sure their packages get listed on Our Umbraco.
Why have Our Umbraco package listings
The NuGet package format is quite restrictive and doesn't allow for adding much information. On Our Umbraco we have plenty of fields to help site builders decide whether they want to use the package. We also have a way to list who collaborated on the package and we have a compatibility reporter. The package developer gets to write rich-text release notes, they can add documentation files and screenshots and they can choose to make a package-specific forum. All features not available on NuGet.org.
How to list your v9+ package on Our Umbraco
First of all, since last week, the way to mark a package as compatible with v9+ of Umbraco is now available on Our Umbraco as a checkbox on the package:
It requires you to enter a NuGet URL as well if you enable that checkbox. Once that is done, your package will be listed in the v9 backoffice and once selected, the NuGet install instructions will be listed.
Note: if a package happens to be compatible with v9 and v8, then that will still work as well. If there's files uploaded to the package that are marked for v8, the package still shows up in the packages section in v8 backoffices.
Automatic import of NuGet packages into Our
We've had a few ideas around this and we'd like to get some feedback on how this could be done.
Currently we think the following could be very nice:
Finding Umbraco v9+ packages on NuGet and version compatibility
The way we find packages would be to look for tags added in the NuGet metadata. Currently we have a proof of concept where we look for all packages tagged with
umbraco
,package
andplugin
.This currently results in a small list:
Clearly, there is some packages in there that we don't want to list for v9 as they are marked for v7! 🙈
We have thought about going down the dependency chains to see if there's a dependency on any of the UmbracoCms v9 packages, but that would excluded some packages that are purely going in
App_Plugins
(the packages that don't contain any dlls).Adding a version tag to the package also seems a little restrictive, what if you don't have any updates, v10 comes out and your package still works perfectly. You would be forced to upload a new version just so you can add a v10 tag.
👉 We'd love to get some thoughts on tags that would be helpful!
Importing to Our Umbraco and claiming ownership
Once we've solved the challenge above we can start creating packages automatically in Our! But of course we don't really know who the owner of the package is.
The thought here is that if we know the member id then we can easily import any new package and attach it to the member who created it. They can then go in immediately and fill in the details, add a more extensive description, add a few screenshots, etc.
A few ideas we've had there was to look for an additional tag on the package that would include your Our Umbraco member Id, so for example
our1234
. We could also look for it in the package description, maybe something like{our:1234}
or something. This all feels a bit hacky though, but might be the best we can do with the limited option we have in the NuGet package format.👉 We'd love to get some thoughts on how we can make claiming packages easy and reliable (and secure)!
Conclusion
In conclusion, the feedback we're most looking for is:
Of course we would love to hear any other thoughts and ideas as well! 👍
Beta Was this translation helpful? Give feedback.
All reactions