Contact module roadmap: 80% usecase of webforms in core

Created on 8 October 2015, over 8 years ago
Updated 13 June 2024, 15 days ago

Background

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.

High-level goal

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.

  1. The proposal: phase 1

    1. #1856562: Convert "Subject" and "Message" into Message base fields β†’
    2. #2289063: Change contact message entity to behave more like a normal entity β†’
    3. #2285083: Rename contact category to contact form β†’
  2. The proposal: phase 2

    Bring in features from contact_storage and finalise those missed in D8.0.

    1. #306662: Add redirect option to site-wide contact forms β†’
    2. ✨ Add option to store messages from contact forms Closed: outdated
    3. #2750617: Add views integration and listing page for contact module Message entity. β†’
    4. #2750621: Add bulk delete action plugin for contact module Message entity β†’
    5. #2750629: Add view builder for contact module's Message entity β†’
    6. #2750627: Add Edit and Delete forms for contact module Message entity β†’
    7. #2750633: Add view builder for contact module's ContactForm entity β†’
    8. #2689265: Allow changing the 'Send message' contact form string and optionally hiding the preview button β†’
    9. #2750649: Add option to disable form submissions for contact forms β†’
  3. The proposal: phase 3

    Future features

    1. Support for file-fields attached to emails - requires formatter for file-field.
    2. Ability to edit format of messages bodies including tokens
    3. #2325801: Abstract contact module mail delivery out of form into a service β†’
    4. #2325805: Make email sending optional on a per-contact form basis β†’
    5. Path integration to allow simple alias management of contact categories
    6. #2325799: Add per contact-form permissions for contact module. β†’
    7. 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.
    8. Ability to set submission limits
    9. Per form access controls
    10. Ability to configure mail recipients based on form values
    11. Change default value of 'send me a copy' field.
  4. The team

    @larowlan
    @andypost
    @jibran
    @naveenvalecha
    ... more to come

    The process

    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
  • UX/design
  • Reviewers
  • 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).

Cheers

🌱 Plan
Status

Closed: won't fix

Component

Proposed Plan

Created by

πŸ‡¦πŸ‡ΊAustralia larowlan πŸ‡¦πŸ‡ΊπŸ.au GMT+10

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

  • Needs issue summary update

    Issue summaries save everyone time if they are kept up-to-date. See Update issue summary task instructions.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.69.0 2024