Now that we have a new release cycle, we have the possibility of new features in minor releases, i.e. although we are in RC1 for 8.0, that doesn't mean we can't add new features until 9.0. Provided they are backwards-compatible, we can add new features in 8.1 and 8.2.
After recently taking over maintainer-ship of the core contact module @andypost and I, in consultation with@berdir have formulated a draft roadmap for the features we'd like to see in contact module in the future.
Why not make this the guinea pig for how these initiatives and features might work in future versions of D8.
To provide the 80% use-case of webform. i.e. allowing creation and submission of feedback forms from site-users; and providing editing, listing and administration of submitted form values.
Webform contains lots of features, we're only after expanding contact module slightly to add storage and administration and in the process meet the basic use-case of webform in core.
Note that some of these items have been developed in contrib as the contact storage module. They can continue to mature there during 8.0 with the view to include in point releases eg 8.1, 8.2.
The proposal: phase 1
The proposal: phase 2
Bring in features from contact_storage and finalise those missed in D8.0.
The proposal: phase 3
- Support for file-fields attached to emails - requires formatter for file-field.
- Ability to edit format of messages bodies including tokens
- Path integration to allow simple alias management of contact categories
- Provide a menu-link per category in a custom menu - auto builds menu of contact category links leveraging the menu link API to solve the category selector regression.
- Ability to set submission limits
- Per form access controls
- Ability to configure mail recipients based on form values
- Change default value of 'send me a copy' field.
... more to come
The plan is to get this issue to RTBC to get product-owner/manager approval of the plan. Then to start work.
It is still early days for 8.0, there are still some major bugs open in contact. Tending to those is obviously the priority. But getting sign-off/buy-in on the future features and building a cross-functional team in preparation can all happen in parallel to fixing bugs so that when feature development recommences, we're ready to go.
If you're interested in getting involved, please let me know. We're looking to build a multi-disciplinary team as follows:
- Backend developers
- Frontend developers
- Project management
- Manual testers
The other 20%
So if we're aiming for the 80% use-case of webform, what's the other 20%. Webform does these exceptionally well:
- Lots of discrete webforms (100,000s in case of webform.com)
- Lots of fields on a form (100+)
- Multi-page forms (although fieldgroup might enable this for Field API and therefore contact messages.
- Faster loading (although a custom storage handler might enable this for contact messages too).