There are multiple issues sitting in the queue right now trying to outline and address the problems with the site form and platform access controls mechanisms.
This issue aims to regroup all those issues together to get an overview of the situation and try to document the best approach to fix them in the future.
#952700: Site form, duplication, and platform access control (saga continues)
#894046: language dialog should be a drop-down, not radios
#955854: Site form can be very slow with huge number of platforms and packages
#725952: implement node-level access permissions for platforms
#937490: Fix Platform access control to deal with profile > platform paradigm
Original implementation:
Comments
Comment #1
anarcat CreditAttribution: anarcat commentedAnother issue: #491960: Allow 'platforms' and 'profiles' to be restricted to clients, #899764: Taxonomy or role-based platform access control for site creation
Other closed issues: #897982: Limit choice of install profiles to those on available platforms, #883412: Default platform logic was deprecated and needed to be removed.
Comment #2
anarcat CreditAttribution: anarcat commentedlet's keep focused on the site form. for the platform access control, see:
* #899764: Taxonomy or role-based platform access control for site creation
* #1345118: platform access control should be an autocomplete form
* #1345120: platform access control settings should allow full access to the platform
... for the access control stuff.
Comment #3
chertzogI posted a patch in #2061509: List of platforms is no longer updated to match install profile clicked at node/add/site comment 2 that ajaxifies the profile/platform selections.
We should be able to leverage the same technique for the language selector. Using the referenced patch with something like this:
These changes would (as far as i can tell), remove the need for the
$form['#pre_render'][] = '_hosting_site_form_pre_render';
call at the beginning of hosting_site_form(), the entire "_hosting_site_form_pre_render" function, and the entire hosting_site.form.js file.The above code also address the issue #894046: language dialog should be a drop-down, not radios, by changing the radios to a select.
Comment #4
anarcat CreditAttribution: anarcat commentedwhoa, that looks very promising! can you throw a patch into #894046: language dialog should be a drop-down, not radios?
Comment #5
helmo CreditAttribution: helmo commentedComment #8
helmo CreditAttribution: helmo commentedAnything left? now that #894046: language dialog should be a drop-down, not radios is in.
Comment #9
ergonlogicThe site form is still a mess of custom code to do the AJAX rebuilding of the platform list based on the profile, etc. Unless I'm mistaken, much of that dates back to Drupal 5. We should consider ditching our custom code in favour of the standard AJAX form methods provided by D7.
Also, a couple of the issues listed in the summary remain open.
Comment #14
realityloopI really think when adding a site that we should be displaying the platform select before the profiles list, it's somewhat confusing at the moment when you are shown a really long list of platforms some with profiles that are under multiple platforms with different core versions..
Comment #15
helmo CreditAttribution: helmo commentedCould we, with proper use of the field API, make it so that one could change the ordering on admin/structure/types/manage/site/fields?
Comment #16
realityloopAfter building a few platforms and sites the past few days I think one of the main issues currently is that the list of profiles does not get updated when you select a platform that only applies to a subset of them.
I don't think the field order matters that much is both groups update when you click on the other groups radio buttons.