How to change the author and date of a new comment before posting it? I am copying the content from my old non-CMS (Weebly) website to my new Drupal website by manually filling in node forms and comment forms. I would like to recreate all the original authors and posting times on the new website. As a first step, I have created a user account for all the people who contributed to the old website.

Adding nodes works perfectly: as an administrator, I can post new nodes as another user and change the posting time before publishing.



Now, I would also like to add new comments, and change the author and date before posting. I know that one can administrate a comment after posting it, as shown in the screenshot below.



However, it is vital that the desired changes are made before posting comments, since publishing triggers multiple Rules, related to User Points, Flags etc. Otherwise, the wrong users are rewarded User Points, for example.

How can I do that?
Author
For changing the author (not the date), you might be able to use the Masquerade module for this. Some details from its project page:

The Masquerade module allows site administrators (or anyone with enough permissions) to switch users and surf the site as that user (no password required). That person can switch back to their own user account at any time.
This is helpful for site developers when trying to determine what a client, logged in as themselves, might see when logged into the site.
The masquerade module is designed as a tool for site designers and site administrators. While masquerading, a field is set on the $user object, and a menu item appears allowing the user to switch back. Database log (watchdog) entries are made any time a user masquerades or stops masquerading as another user.

So just switch to the appropriate user before filling in your forms, that should do what you're trying to achieve.
PS: works for any currently supported release of Drupal.
Date
Not sure (yet) about how to do this, but I'd try to use the Rules module for this. Here is a prototype of a rule that you may want to look at and experiment with:
{ &quot;rules_update_comment_post_date&quot; : {
    &quot;LABEL&quot; : &quot;Update comment post date&quot;,
    &quot;PLUGIN&quot; : &quot;reaction rule&quot;,
    &quot;ACTIVE&quot; : false,
    &quot;OWNER&quot; : &quot;rules&quot;,
    &quot;REQUIRES&quot; : [ &quot;rules&quot;, &quot;comment&quot; ],
    &quot;ON&quot; : { &quot;comment_presave&quot; : [] },
    &quot;DO&quot; : [
      { &quot;data_set&quot; : { &quot;data&quot; : [ &quot;comment:created&quot; ], &quot;value&quot; : &quot;-1 day&quot; } }
    ]
  }
}

This rule should set the actual comment date to &quot;current date - 1 day&quot;. Just as a sample. Adapt the value to fit your needs (before posting each comment, sorry ...), or try to think of an enhanced version of it to somehow retrieve the comment date as part of this rule.