Core contact module roadmap

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
larowlan's picture

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 feature freeze 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, @tim-e and I, in consultation with @andypost and @berdir have formulated a draft roadmap for the features we'd like to see in contact module in the future.
We're publishing it here for wider community-input.

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 are features and can be developed in contrib during 8.0 if required with the view to include in point releases eg 8.1, 8.2.

  1. Open issues

    1. Move subject/message fields to use widgets https://www.drupal.org/node/1856562
    2. Make contact message behave like normal entity https://www.drupal.org/node/2289063
    3. Rename contact category to form https://www.drupal.org/node/2285083
    4. Provide redirect option https://www.drupal.org/node/306662
  2. Key features/issues on roadmap

    1. Add (pluggable) storage of messages https://www.drupal.org/node/1856560 - we already have a test implementation of this (in a test module) in core, so it is already technically possible.
    2. Add views integration https://www.drupal.org/node/1856560
    3. Add admin listing of submissions w/ bulk actions to delete https://www.drupal.org/node/1856560
    4. Add ability to edit submissions
    5. Support for file-fields attached to emails - requires formatter for file-field.
    6. Ability to edit format of messages bodies including tokens
    7. Move email logic out of form submit handler to allow submission of messages via REST api that also send email https://www.drupal.org/node/2325801
    8. Move email logic into own service and add events for other modules to interact https://www.drupal.org/node/2325801
      1. Make email sending optional at category (form) level https://www.drupal.org/node/2325805A
    9. Path integration to allow simple alias management of contact categories
    10. Per contact-category permissions to allow granular access - https://www.drupal.org/node/2325799
    11. 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.
    12. Provide a configurable and themable block of selected contact forms. Probably needs views to query contact categories. https://www.drupal.org/node/1997692 and https://www.drupal.org/node/599770

Approach

Comments

Thanks

Ryan Weal's picture

This plan is somewhat ambitious but I am glad the contact module is finally getting the attention it deserves. It has been neglected for too long.

Entity Forms

tsvenson's picture

I haven't had time to try out https://www.drupal.org/project/entityform myself yet, but from what I have read about it, and that it compares itself to Webform, I can't help but think it might contain an interesting foundation to some of the roadmap-goals.

Since it also integrates with the same field API as for content, I guess a lot of duplicated features, again compared to Webform, can be avoided?

Anyways, thought it was worth mention this interesting module in this context.

--
/thomas
T: @tsvenson | S: tsvenson.com

Just throwing this out there.

NikLP's picture

Just throwing this out there. Adds a few configs, altho not much in the way of fields. Happy to do some extra work tho, if someone wants to advise.

https://www.drupal.org/project/ContactPlus (dev is more feature rich, altho I haven't documented that yet)

Contact++

andypost's picture

@NikLP great module and as I get it right form the most of features there's issues in core's contact module

Core

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week