Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Guidance on packaging apps that have both a .zip/exe and an install option AKA Starting to move towards virtual packages
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  2 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Rob Reynolds  
View profile  
 More options Feb 25 2012, 12:52 pm
From: Rob Reynolds <ferventco...@gmail.com>
Date: Sat, 25 Feb 2012 11:52:51 -0600
Local: Sat, Feb 25 2012 12:52 pm
Subject: Guidance on packaging apps that have both a .zip/exe and an install option AKA Starting to move towards virtual packages

TLDR;

One of the thoughts I've been considering recently with chocolatey is
consistency with packages and naming conventions as chocolatey continues to
grow. It's fine to name packages by the app/tool name, that's both
intuitive and expected. What I am more interested in is when an application
has multiple installation options (ie. an MSI and a ZIP). It can become
confusing for people to install these when they don't know what they are
getting if they call a package that has both. If you start with one that
has a .zip and later they release an MSI (nodejs anyone?), what do you call
the package that installs the MSI? Do you keep around the executable? Do
you rename the original package in response to the other option? Is there a
third option?

*One Option*

If there is only one option available, you are fine to make the package
name the same as the application/tool. This makes it intuitive and reduces
confusion.

*Multiple Options*

To start putting together guidance on this and alleviate confusion, I see
that we would move forward in these cases with three packages. One with no
suffix, one with ".install" suffix, and one with ".commandline" suffix.

If you would take a quick look at 7zip (
http://chocolatey.org/packages?q=7zip), you will notice there are three
packages here.

   - 7zip is what will ultimately be a virtual package
   - 7zip.install is the package name for a package that uses a native
   installer (i.e. MSI, exe)
   - 7zip.commandline is the package name for a package that has an
   executable / downloads & unpacks an archive / etc

7Zip right now is taking a dependency on 7zip.install (which makes it a
meta package). When virtual packages (see Virtual Packages below) are
ready, that dependency will be removed and the chocolateyinstall.ps1 file
will look something like the following (this is not definitive of what it
will look like though):

Install-VirtualPackage '7zip.commandline' '7zip.install'

You will notice I put the ".commandline" ahead of ".install". In the end, I
think the behavior of a virtual package should default to a command line
version. Why? There are folks that do not have administrative access to
their machines. Chocolatey is really nice for them because they can install
and use chocolatey without ever needing to assert administrative
privileges. Marcel Hoyer (https://twitter.com/pixelplastic) first proposed
the idea of being able to use chocolatey without administrative privileges.
Him and I took pains to make chocolatey work for these scenarios. This did
complicate chocolatey a little bit for the package maker, but in the end I
think it is a really good thing. As a person inspecting a package to decide
whether to install or not, they can see every point that the package maker
mentioned they needed administrative privileges.

That said, the default will be the one on the leftmost side. You are
beholden to the community in justifying why you didn't put the command line
version first if you decide not to in the virtual package. But chocolatey
won't constrain you on that because you may have a really good reason.

*App Now has Multiple Options*

When an application/tool moves to where it has multiple options, like an
installer it didn't use to have, that's when it is time to break the
package out to a virtual (meta for now until virtual is available) and
create the other two packages with the correct suffixes as outlined in the
guidance above.

*Virtual Packages*

For those confused about the idea of a virtual package, it allows folks to
say I need to take a dependency on a PDFReader. PDFReader becomes a virtual
package that does nothing other than point to all of the different pdf
readers available. When someone installs the package that has a dependency
on PDFReader, chocolatey looks at the virtual options and sees you have
adobereader installed (one of the options in the list). So it moves on
because you have met the virtual package requirements. If you have
foxitreader installed, it moves on. Otherwise it picks the first item in
the virtual tree and installs it as the default. More information?
https://github.com/chocolatey/chocolatey/issues/7

*Virtual Packages vs Meta Packages*

A meta package is one that points to other packages. If you think of a
package that does nothing more than take on dependencies to other packages,
that is a meta package. A virtual package is like a meta package, except it
has the concept of optional dependencies.

*Ending Thoughts*

This seems to be on the surface the best way to provide an intuitive user
experience. There may be some things we learn along the way and adjust this
as we go. If you are a package owner and you have packages that have both
options, you may want to start getting them into this format. I myself have
some work to do in this aspect.

Thoughts?

____
Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rob Reynolds  
View profile  
 More options Jul 27 2012, 1:40 pm
From: Rob Reynolds <ferventco...@gmail.com>
Date: Fri, 27 Jul 2012 12:40:41 -0500
Local: Fri, Jul 27 2012 1:40 pm
Subject: Re: Guidance on packaging apps that have both a .zip/exe and an install option AKA Starting to move towards virtual packages

After a lot of thought, I'm thinking we embrace chocolatey's concept of
tools versus applications.
http://chocolatey.org/packages?q=instanteyedropper

Three packages, *.app, *.tool and the default.
____
Rob
"Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds
http://ferventcoder.com
http://twitter.com/ferventcoder

On Sat, Feb 25, 2012 at 11:52 AM, Rob Reynolds <ferventco...@gmail.com>wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »