#11017: Tags MultiSelectionWidget w/scrollbar & checkboxes -------------------------------------------+-------------------------------- Reporter: rmattb | Owner: RMattB Type: PLIP | Status: new Priority: minor | Milestone: 4.1 Component: User Experience and Interface | Resolution: Keywords: | -------------------------------------------+-------------------------------- Description changed by rmattb:
Old description: > '''Proposer:''' Matt Barkau (RMattB)[[BR]] > '''Seconder:''' David Glick[[BR]] > [[BR]] > == Motivation == > Plone currently utilizes the MultiSelectionWidget listbox for selecting > tags (aka categories, keywords, DC subject) to apply to a content item. > However, when users add more tags to an existing item, they often > inadvertently remove existing tags, due to not knowing or forgetting to > use the control/command key. If a site contains more than 14 tags, users > may not even see that other tags are already selected in the list below > the box. Further discussion of this usability issue is in the > [http://plone.uservoice.com/forums/20503-plone-improvement- > ideas/suggestions/227659-easier-keyword-tagging Plone improvement ideas > forum] (currently ranked fifth). > > Since tag lists tend to be long, using MultiSelectionWidget checkboxes > (instead of listbox) for this purpose would render pages rather long > since there is no scrollbar, impacting usability. HTML 4 offers no > widget which combines the best of both approaches: a scrollbar and > checkboxes. > > == Assumptions == > Future versions of Plone do not already improve this widget. > Plone will continue to include jQuery. > > == Proposal & Implementation == > Since Plone includes jQuery, this PLIP proposes to improve the tags > MultiSelectionWidget by adapting and maintaining a proven, GPL- > compatible, accessible, and jQuery-based widget, which includes both a > scrollbar and checkboxes. This approach strives to be the least-invasive > change that will make the user experience intuitive. > > Further suggestions are welcome, but based on a brief survey, > [http://labs.abeautifulsite.net/projects/js/jquery/multiSelect/demo/ one > project] appears to be a good starting point, with some refactoring for > speed from [http://www.erichynds.com/jquery/jquery-multiselect-plugin- > with-themeroller-support/ a derivative project]. Guidance from the > community on implementation is much appreciated. > > This PLIP focuses on the implementation of the MultiSelectionWidget for > ''tags'', but this is also be useful for any other areas in Plone also > currently using the MultiSelectionWidget listbox. For flexibility, this > new widget could be registered in Plone as a new third variety of > MultiSelectionWidget. > > == Deliverables == > What code and documentation needs to be produced? > * A registerable javascript > * A page template for the new MultiSelectionWidget variety > * An update to the edit view’s Categorization fieldset template to use > this new widget variety > Standard items: > * Unit tests & test buildout.cfg > * Localization: No text changes to UI should be required. > * Documentation: Existing UI has no on-page documentation (although > maybe it should have). Oddly, the Plone > [http://plone.org/documentation/manual/plone-3-user-manual/adding-content > /setting-basic-properties 3] and > [http://plone.org/documentation/manual/plone-4-user-manual/adding-content > /setting-basic-properties 4] end-user documentation on this doesn’t > mention use of the control/command key for multiselection, but the > screenshot would change. > > == Risks == > What are the risks of implementing this proposal? If jQuery Tools later > provides a similar widget, this work will not have been needed, although > I’m not sure of the likelihood of this due to jQuery Tools’ intentional > minimalism. > > What incompatibilities can it cause? Non-JavaScript failover would be to > existing widget. Please advise of any other areas to consider. > > == Participants == > Who is signed up to do the work? > Matt Barkau, RMattB (collaboration welcomed) > > == Progress == > Is any of the work done already? Not specifically implemented in Plone, > but two variations on the functionality exist, linked above. > > Should there be a proof of concept? A proof of concept will be the first > step after discussion of this PLIP has reached consensus. New description: '''Proposer:''' Matt Barkau (RMattB)[[BR]] '''Seconder:''' David Glick[[BR]] [[BR]] == Motivation == Plone currently utilizes the MultiSelectionWidget listbox for selecting tags (aka categories, keywords, DC subject) to apply to a content item. However, when users add more tags to an existing item, they often inadvertently remove existing tags, due to not knowing or forgetting to use the control/command key. If a site contains more than 14 tags, users may not even see that other tags are already selected in the list below the box. Further discussion of this usability issue is in the [http://plone.uservoice.com/forums/20503-plone-improvement- ideas/suggestions/227659-easier-keyword-tagging Plone improvement ideas forum] (currently ranked fifth). Since tag lists tend to be long, using MultiSelectionWidget checkboxes (instead of listbox) for this purpose would render pages rather long since there is no scrollbar, impacting usability. HTML 4 offers no intuitive widget which combines the best of both approaches: a scrollbar and checkboxes. == Assumptions == Future versions of Plone do not already improve this widget. Plone will continue to include jQuery. == Proposal & Implementation == Since Plone includes jQuery, this PLIP proposes to improve the tags MultiSelectionWidget by adapting and maintaining a proven, GPL-compatible, accessible, and jQuery-based widget, which includes both a scrollbar and checkboxes. This approach strives to be the least-invasive change that will make the user experience intuitive. Further suggestions are welcome, but based on a brief survey, [http://labs.abeautifulsite.net/projects/js/jquery/multiSelect/demo/ one project] appears to be a good starting point, with some refactoring for speed from [http://www.erichynds.com/jquery/jquery-multiselect-plugin- with-themeroller-support/ a derivative project]. Guidance from the community on implementation is much appreciated. This PLIP focuses on the implementation of the MultiSelectionWidget for ''tags'', but this is also be useful for any other areas in Plone also currently using the MultiSelectionWidget listbox. For flexibility, this new widget could be registered in Plone as a new third variety of MultiSelectionWidget. == Deliverables == What code and documentation needs to be produced? * A registerable javascript * A page template for the new MultiSelectionWidget variety * An update to the edit view’s Categorization fieldset template to use this new widget variety Standard items: * Unit tests & test buildout.cfg * Localization: No text changes to UI should be required. * Documentation: Existing UI has no on-page documentation (although maybe it should have). Oddly, the Plone [http://plone.org/documentation/manual/plone-3-user-manual/adding-content /setting-basic-properties 3] and [http://plone.org/documentation/manual/plone-4-user-manual/adding-content /setting-basic-properties 4] end-user documentation on this doesn’t mention use of the control/command key for multiselection, but the screenshot would change. == Risks == What are the risks of implementing this proposal? If jQuery Tools later provides a similar widget, this work will not have been needed, although I’m not sure of the likelihood of this due to jQuery Tools’ intentional minimalism. What incompatibilities can it cause? Non-JavaScript failover would be to existing widget. Please advise of any other areas to consider. == Participants == Who is signed up to do the work? Matt Barkau, RMattB (collaboration welcomed) == Progress == Is any of the work done already? Not specifically implemented in Plone, but two variations on the functionality exist, linked above. Should there be a proof of concept? A proof of concept will be the first step after discussion of this PLIP has reached consensus. -- -- Ticket URL: <http://dev.plone.org/plone/ticket/11017#comment:17> Plone <http://plone.org> Plone Content Management System _______________________________________________ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories