In Octopus, a single release can be comprised of many packages. For example, release 1.3 of your pizza ordering website might contain the following packages:
- PizzaShop.OnlineOrdering, version 1.4.1
- PizzaShop.CMS, version 1.3.2
- PizzaShop.DB, version 1.1.71
For many customers, a release contains a single package. For others, a release contains 20+ packages.
One of the pages in Octopus that we have problems with in Octopus is the release creation screen, which is where the package versions for a release are selected. Currently, it looks like this:
Over time we've improved the UX on this page so that, for most people, they just scroll down and click "create" - we choose the latest version of each package, and we name the release number after the highest package version. Most people never change anything on this page.
The page has some problems though:
- If the NuGet feed is slow or has too many packages, it can take a long time to populate the drop downs with all the package versions (bug report)
- If you already know the version number to choose, you have to scroll through a long list for each package
To try and fix these problems, while keeping the virtues of the current design, this is the approach we're considering:
Instead of loading all versions of each package, we'll just fetch the latest version asynchronously, which should hopefully mean a much faster NuGet query. We'll also allow a version number to be typed in instead of having to select it from a drop down. If you are not sure what to type, clicking the search button will make another query to fetch the package versions for you to select (we might even try to include release notes in this display).
As with the current design, we'll use the latest version for everything by default, so that you don't have to click anything in most cases. In the cases where you do need to select specific versions, hopefully this approach will make it easier, by allowing you to just type/paste the number in if you know it, or search for it if you don't.