Here is the screenshot from Vertice (Adrian): http://skitch.com/vertice/dpdw8/create-site-t, so you can get a picture on how it can work after introducing the change in UI. And below is an IRC (#aegir on freenode) chat transcript.
And some related issues:
http://drupal.org/node/500342
http://drupal.org/node/610040
[13:28] Vertice: i had a fun night last night
[13:28] Vertice: omega8cc: dunno if you saw this :
[13:28] Vertice: http://is.gd/dxB3V
[13:30] omega8cc: Vertice: wooooow, you did it already?
[13:30] Vertice: yup
[13:30] Vertice: it's in head
[13:31] omega8cc: so, when I will choosed "default" it shows also openatrium or not? should be omitted then, probably
[13:31] omega8cc: I mean atriumb6 platform
[13:31] Vertice: the default profile is on the open atrium platform
[13:31] Vertice: but when you select open atrium
[13:31] Vertice: it will only show the atrium platforms
[13:32] Vertice: considering making the list of profiles configurable
[13:32] Vertice: per client even maybe
[13:32] omega8cc: Vertice: so when I will choosed "default" install profile it should show me only those platforms without any non-default profiles?
[13:33] Vertice: it will only show you platforms with the default profile
[13:33] Vertice: which, because of how drush make works. is all of them
[13:33] Vertice: except openpublish
[13:33] Vertice: since their tarballs dont have the default profile
[13:33] omega8cc: but ever platform has default, also open atrium
[13:33] Vertice: yup
[13:33] Vertice: and that's fine. in my mind
[13:34] Vertice: it's waaaaaay more admin to try and do it the other way around
[13:34] Vertice: because you need to rememeber that drupal 7 has both standard and minimal profiles
[13:34] Vertice: and no default
[13:35] omega8cc: so it will be kinda confusing, I think, since it reverse existing logic platform -> profile in the form, so I would make all platforms with non-default install profiles hidden when I will choose default profile
[13:35] omega8cc: yeah, d7 has it
[13:35] omega8cc: hmm
[13:35] Vertice: i'm not going to do that
[13:35] Vertice: the non default profile thing
[13:36] Vertice: it shows you where you can install 'default' sites
[13:36] Vertice: which is 100% true
[13:36] omega8cc: but default profile is *useless" on any d6 non-default platform
[13:36] Vertice: no it isnt
[13:36] Vertice: it's exactly the same as on any d6 platform
[13:36] Vertice: you can have open publish, innovation news AND open atrium
[13:36] Vertice: on the same platform
[13:37] Vertice: and really, if you want to create a default site. you dont want it to go hiding things from you
[13:37] Vertice: but in the same way, this order is less of a problem than
[13:37] Vertice: *select random platform*
[13:38] Vertice: *change from default to your selected one, for every platform*
[13:38] omega8cc: Vertice: from my experience it *is* confusing for every new user, people often try to install open atrium without choosing openatrium profile and are confused why they got vanilla drupal site, really
[13:38] Vertice: that's the thing
[13:38] Vertice: now when they try to install open atrium site
[13:38] Vertice: they select it first
[13:39] Vertice: instead of having to select open atrium, and then open atrium again
[13:39] Vertice: and really. you are welcome to hack core and remove the default profiles
[13:41] Vertice: but feel free to open a feature request about it so it can be debated
[13:41] Vertice: but i suggest you check out the new form first
[13:41] omega8cc: Vertice: while I understand the benefits, I'm not sure it is a good idea to reverse that "choose chain", since install profles are harder to identify, and it still requires clicking & guessing - "hey, what is it that standard?" etc etc
[13:41] Vertice: yeah. i want to annotate them too
[13:41] Vertice: but it's a pain in the ass with d6
[13:42] Vertice: since you can't parse the profile to get the labels
[13:42] Vertice: and the difference is. open atrium's profile will only be labeled openatrium
[13:42] Vertice: not whatever the profile is called
[13:42] omega8cc: Vertice: I would just hide default profile for every platform having any non-default profile.
[13:43] Vertice: i'm still against that
[13:43] Vertice: try out the new form
[13:43] omega8cc: Vertice: you can't stop people to create "standard" and "minimal" install profiles for their custom platforms and it introduces chaos
[13:44] Vertice: yeah. and you also cant stop them from modifying the default profile
[13:44] skwashd: Vertice: but that's hacking core so shouldn't be supported
[13:45] omega8cc: Vertice: that is another story, but it is a bad practice in developing custom platforms, it should always use it's own install profile
[13:45] Vertice: http://drupal.org/node/500342
[13:46] omega8cc: Vertice: I'm not convinced about that change
[13:46] Vertice: then create an issue for it so it can be discussed
[13:47] Vertice: it's now a lot more difficult to accidentally create a default site
[13:47] Vertice: and you should really try it out
[13:48] Vertice: the main difference is that the profile selection no longer resets every time you change platform.
[13:48] Vertice: and in my mind, what people are more concerned with when creating a new site, is what type of site they want to create
[13:48] Vertice: not where it will be hosted
[13:49] Vertice: so the profile should inform and limit their options for platforms
[13:49] Vertice: not the other way around
[13:50] Vertice: but we should discuss this on the issue queue
[13:51] Vertice: and it's one commit, so it can be reverted if it's decided to be necessary
[13:51] omega8cc: Vertice: I will open an issue about it, it will benefit from discussion, I believe as it is too important UIX change to just introduce it. We are using platforms names everywhere, in welcome e-mail, in the offer, in FTP access etc etc, so it is against all those things users are used to.
[13:51] Vertice: yeah. but platform names are freeform
[13:54] omega8cc: Vertice: yes, and thanks God they are, while install profiles are hardcoded by platform creator, so how should I create symlinks in FTP for easy access to platforms? I can't use profile names there so it adds confusion instead of limiting it, from the UIX point of view.
[13:55] Vertice: the profile names arent hidden
[13:55] Vertice: and the platform names either
[13:56] Vertice: also
[13:56] Vertice: i am unlikely to make a blanket 'hide default profile if other profile is found' functionality
[13:57] Vertice: at the very least, it will need to be a site wide configuration option
[13:57] omega8cc: Vertice: yes, but when you will have a few different platforms and every platforms will have "standard" and "minimal" install profile, they are confusing so I still have to use platforms names in ftp etc and never install profiles
[13:57] Vertice: or possibly even a per platform setting
[13:58] Vertice: you shouldnt let them do that
[13:58] Vertice: drupal 7 will fuck them
[13:58] Vertice: hard
[13:58] Vertice: drupal has a single, poorly enforced namespace
[13:58] Vertice: and drupal 7 stole the standard and minimal namespaces
[13:58] Vertice: you cant even have modules called that anymore
[13:58] Vertice: without fucking yourself
[13:59] omega8cc: Vertice: maybe you are right, I'm not sure about hiding defaults, it would simplify the UIX bit it is not that critical as reversing the current options choose logic to "choose your install profile first"
[13:59] Vertice: you mean choose your platform first
[13:59] Vertice: ?
[14:00] omega8cc: no, it is with your change I have to choose install profile first, right?
[14:00] Vertice: yes
[14:00] Vertice: and it only shows you platforms with that profile
[14:01] Vertice: so instead of selecting a platform, and it defaults to the 'default' profile
[14:01] Vertice: and then you have to change it to 'open atrium' , or whatever
[14:01] Vertice: you just select open atrium once
[14:01] omega8cc: Vertice: so have to click all profiles to make sure you have the platform you see in your welcome e-mail and in your ftp account
[14:02] omega8cc: it adds confusion, imo
[14:02] Vertice: or you could just look at the platform listing
[14:02] Vertice: you know, the big block on your rightr
[14:03] omega8cc: yeah, but we are hiding that block for simplified UI, but is our problem then
[14:03] Vertice: we should bring this up to a wider discussion.
[14:04] omega8cc: users are used to think about platforms they have, not about install profiles, lets see how it is for ubercart
[14:04] Vertice: i dont think the create site form is where you should be checking that info
[14:04] omega8cc: it has stupid name uberdrupal
[14:04] Vertice: yeah. see this issue
[14:04] Vertice: http://drupal.org/node/500342
[14:04] Vertice: i want to make the text better
[14:04] Vertice: for the profile names
[14:04] Vertice: ie: default should be 'Drupal'
[14:05] Vertice: standard should be 'Drupal 7 - standard'
[14:05] Vertice: or whatever
[14:05] Vertice: open atrium should be 'Open atrium'
[14:05] omega8cc: I would never get an idea it is a cart for drupal, it is silly as hell
[14:05] Vertice: yeah. but you would still need to select it
[14:05] Vertice: if it was the other way around
[14:05] Vertice: and there's no gaurantee that the platform is named something ubercart related
[14:06] Vertice: the platforms could be called 'dev1, live2, staging3
[14:06] Vertice: or 'my test platform'
[14:06] omega8cc: but If I have Ubercart platform in the form visible without clicking, I don't need to guess anything
[14:06] Vertice: aaaand a platform could have more than one profile
[14:07] omega8cc: Yes, they have
[14:08] Vertice: create an issue and we'll post it on groups and twitter for more discussion
[14:08] omega8cc: but since platforms names are freeform, we can follow good practice (our own) and keep the names easy to identify
[14:08] omega8cc: OK
[14:08] Vertice: once again : http://drupal.org/node/500342
[14:08] Vertice: the profile names should be what you'd see on the drupal install.php wizard
[14:08] Vertice: ie: the pretty end user name
[14:09] Vertice: we just have some problem extracting that for d6 install profiles
[14:10] Vertice: use this image in it :
[14:10] Vertice: http://is.gd/dxB3V
[14:11] omega8cc: hmm.. I don't consider this as a problem when frontend keeps displaying machine name of profile, but OK, let's start an issue about it to discuss it further and find enough pros and cons
Comments
Comment #1
adrian commentedtl;dr : We recently changed it so that choosing the install profile filters the list of available platforms to choose. So you select to install an open atrium site, and then you choose which version of open atrium. Versus choosing which drupal platform (ie: version) to install a site on, and then having to select the installation profile.
From my side :
There are fewer options on screen at any one time, and there are fewer opportunities to fill in the form incorrectly. A common issue was that you would select an open atrium based platform, but then forget to change the profile from default to open atrium. I also believe that the install profile selection is THE MOST IMPORTANT FIELD ON THE SITE CREATION FORM. It has the most widely different results for the final site, and the platform selection is therefor less important to the end user.
Comment #2
adrian commentedoh. and here's a screenshot explaining how it works now.
http://skitch.com/vertice/dpdw8/create-site-t
Comment #3
eaton commentedI see your reasoning, and think it's an interesting step. The only downside that I can see is that it obscures one of the important ideas in Aegir: that you are creating platforms (which have profiles), and managing sites that are associated with those platforms. It might just be a training issue: I like the way it streamlines the creation process, but it also makes the Site-To-Platform connection more opaque.
I'm torn.
Comment #4
adrian commented@eaton you still select a platform. it's still an important part of the form.
we already have this logic in migrate too. You can only migrate a site to platforms that have the install profile you have selected. The migrate platform selection is thus filtered in exactly the same way.
Comment #5
adrian commentedOh. and i guess i didn't explain that well.
you still select the platform. when i meant 'which version of open atrium', i meant that if you have platforms for beta6 and beta7, when you select 'open atrium' as your install profile, you will only be able to choose between those 2 platforms.
you could just as well have had many open atrium beta7 platforms, that are published on various different servers. (ie: atrium-dev, atrium-stagin and atrium-live)
Comment #6
Anonymous (not verified) commentedI really don't like this one, I can understand some of the reasoning behind this. But when you build your server cluster with different Platforms and stages, I divide them based on Platforms.
Were currently in the works of moving our whole Drupal development to Features and using Capistrano to push changes between Development - Staging - Production environments easily. Maybe one day well migrate to Aegir but until it has a solid Features integration it's a no go at the moment. I understand the whole concept of using Install profiles as the base when creating new sites but for me, I have different Platforms that I use as a base and then start modifying them based on the requirements the current site has.
Platforms only act as a base for me, and if you ask me, selecting default and having the option of installing it to OpenAtrium seems kinda silly even if possible.
On a more personal note, I absolutely love Aegir and use it on my private virtual machine but for the company I work for, the projects wouldn't be getting that much use of Aegir.
Comment #7
eaton commentedRight! I spotted that distinction, and I do think it's interesting - it treats profiles as the primary "What you want to choose" criteria when making a new site. I think for a lot of people, that will work well. For me, it feels a little awkward. I have several platforms that are basically just stock copies of Drupal with piles of profiles to do some basic initial setup stuff. My use case is probably less common, though.
I think the big implication of this is that it starts treating platforms as a tool for building up a pool of install profiles. The more I talk about it, the more I think it makes sense -- but it is a conceptual shift for people who understand Aegir via their interaction with the UI rather than looking at its architecture.
Comment #8
adrian commentedIf you only have one install profile (ie: default). it will use that and not give you an option to select them. so you can still just select your platform if that suits you. The default profile is also 'default' for now (which should read "Drupal", w.r.t. to the hook_profile_details()).
I have some code at the moment I am working on, to remove platforms from the 'default' profile compatible list, when they have another profile on them. IE: if you select the 'default' profile, it won't show you open atrium compatible platforms.
on the other hand, i can also see the use for not filtering those platforms, so i will make it a configuration option.
Comment #9
adrinux commentedRight now I don't have any custom install profiles, the only time I see an install profile (core 'default' excepted) is when playing with open atrium or whatever.
And this change makes perfect sense to me.
Comment #10
hadsie commentedIt seems like there's three issues at play here:
1. This change (i.e. select profile then platform versus platform then profile)
2. #500342: Aegir ignores the 'name' of install profiles in frontend
3. Core profiles (default / standard / minimal) being included on all platforms.
I think in an average aegir setup you might have an install profile included on many platforms. However, a platform would generally be dedicated to a single install profile (with the exception of default / standard / minimal being on that platform by default). I think it would be rare to want to have several install profiles on a single platform.
I think this change makes sense. Select the install profile first, then select a platform to run the install on.
2 and 3 are separate but related usability issues. 2 is already being dealt with and it sounds like from #8 that Adrian is also working on code to address 3.
So yeah, I'm in favour of this change.
Comment #11
Anonymous (not verified) commentedRegarding #10
If we get core profiles excluded from certain platforms like, Open Atrium, Managing News, Open Publish, etc. I'm in favor of this, I also think this should be forwarded to people who create these 'Drupal Packages' and make them remove the core profiles. All and all I don't mind the change, it's just a bit mind bogling at first to try and grasp the change when you've made your mind to work in Platforms first and Profiles second.
Comment #12
adrian commentedHere's a screenshot with the latest fixes :
http://skitch.com/vertice/dpg3w/create-site-t
Comment #13
adrian commentedthe filtering of the platforms for non core platforms is based on a variable_get. Personally I feel it should be off by default, because it's pretty useful for the use cases like forgenator and eaton.
It's basically hiding perfectly valid options.
Comment #14
Anonymous (not verified) commentedJust my +1, I liked this as soon as i read the commit message. I think it plays nicely into a turnkey and usability case: especially since distributions and profiles are gaining ground.
You want to create 'an open atrium' site - not 'a site running openatrium profile on platform drupal-6.17-build3-live'. I think the form is a bold representation of that paradigm
Maybe some getting used to for existing users but I think it makes sense, and changes nothing in terms of creating platforms or builds, just in site creation
Comment #15
mikeprinsloo commentedThis change makes perfect sense to me. I often have a number of non-technical people that have to create sites via aegir. It often happens that these users forget to select the custom profile, and then forge ahead on the default installation until they run into something, the custom profile should have taken care of. The result is often that of wasting hours of work. Selecting which kind of site (profile) you would like to create and then the version of the platform should improve the user experience. Combine this new functionality with the lock mechanism to filter out old platforms, and permissions to filter platforms the user should not see, and non-technical personnel will find site creation an easier task. At the same time advanced users can still have access to development platforms.
Comment #16
Anonymous (not verified) commentedI totally love this now after working it inside my head. And having the option to show the Core profiles or not is all a bonus that helps the admin of Aegir to make it function as he/she want's in that specific case.
Big plus for support!
Comment #17
adrian commentedMarking as wontfix then.
even omega8cc came over to my side in the end.