As someone who has benefited in numerous ways for over 15 years from the generosity of this community, and as a former Plone GSoC participant, I am willing to mentor this year.
Here are some topic ideas:
- JavaScript: form widgets and pattern improvements, in particular:
-
Data grid field replacement using patternslib, and possibly quite a bit of JavaScript to support doing a grid nicely without ugly cloning of first row (e.g. do the form rendering of the row in JS, support JS-digested supermodel XML for schema).
-
Taxonomy picker, tree based widget and ability to support some feature subset mimicking Products.ATVocabularyManager.
-
New harmonized date and date time widget, possibly using patternslib pattern as base instead of PickADate (via mockup); support keyboard navigability, and better cross-browser styling.
-
TTW configuration tool for TinyMCE settings that would save multiple configurations for different named editing contexts.
-
Generalized 2FA for Plone/PAS; take something like collective.googleauthenticator as an example, and try to write something pluggable that can support SMS verification code, Google Authenticator, Duo (at least as OTP, possibly supporting push).
-
Improved navigation:
-
Global navigation configuration on context, allow for static global (top) navigation configured by content admins, not themers. E.g. suppose I am the content admin for a big site with a diverse user base; my site wants to limit the top navigation to the 3 most important of 12 folders in the navroot, while still showing all 12 in the left navigation. Moreover, I want 2 external links that open in new tab/window. One of my links needs an icon, so I need to be able to add this without asking a programmer or designer to edit the theme.
-
Portlet for most frequently visited items, using local storage to avoid unneeded storage in read transactions.
- Edit/add forms: save form POST content locally before submit, allow retry of failed save (edit: or even multiple offline saves when lack of successful connection is not a failure condition).
Sean