•  
     
    story #6301 reply to a follow-up comment by email
Summary
user
reply to a follow-up comment by email
I do not spent time to open the browser to add my comments.

(MoSCoW method)

MUST

  • basic happy path:
    1. Someone modify an artifact, I receive a notification.
    2. In my MUA I reply to the email by writing a comment.
    3. The email is sent and after delivery a new changeset is created with the comment I just entered, as if I were using the web ui.
  • the emitter is identified via a token as the "Form" header can be forged
  • it ignores the update of the artifact if the token validation is failing
  • This feature is enable/disable at site level

SHOULD

  • It should treat the message as text/plain or html according to sent mail
  • It strips the quoted content (most users won't remove the tuleap notification message)

COULD

This is not part of estimation

  • the emitter can revoke its token
  • send a bounce to the emitter if the update fails (expired token)
  • be packaged (rpm + deb)

WONT

  • create new artifacts
  • update the fields
Empty
Empty
Status
Empty
Done
Development
  • [x] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [x] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [x] Is it exploratory?

What headers have to be sent

Emails sent from Tuleap contains those headers:

    MessageID: userid-artifactid-hash-randomid@tuleap.tld
    Reply-to: artifacts@tuleap.tld

When user reply to the message, the reply contains a reference to the MessageID (tested with mutt, to be tested with outlook, thunderbird and gmail).

   References: <userid-artifactid-hash-randomid@tuleap.tld> <…> <…>

Then just add an entry in aliases to be able to parse the incoming email.

    forge__XXXX: "| /path/to/script/… "

How to generate the hash

The hashish email is given by the class Tracker_Artifact_MailGatewayRecipientFactory.

Change on trackers

Mail generation in trackers must be done user by user instead of "group of user"

Details
#6301
Nicolas Terray (nterray)
2014-06-10 09:25
2014-02-25 14:40
3180

References
Referencing story #6301

Git commit

tuleap/tuleap/dev

tasks #7014: user cannot update a comment by email if no perms 3fb3ca3235
Add possibility to remove blockquotes in html answer 26b598d62e
tasks 7009: add some documentation 633ae01422
Refactoring: Proper namespace. 9de246b427
Refactoring: Enforce Single Responsibility Principle cf9f421eac
tasks #6990 Handle citations in the answer a02db6e31c
Handle mail reception (tasks #6950 + tasks #6951) 20fb4b4d68
tasks #6973: Allow outsiders to include entries in aliases file 2098aa8305

tuleap/tuleap/stable

tasks #6973: Allow outsiders to include entries in aliases file 2098aa8305
Handle mail reception (tasks #6950 + tasks #6951) 20fb4b4d68
tasks #6990 Handle citations in the answer a02db6e31c
Refactoring: Proper namespace. 9de246b427
Refactoring: Enforce Single Responsibility Principle cf9f421eac
tasks 7009: add some documentation 633ae01422
Add possibility to remove blockquotes in html answer 26b598d62e
tasks #7014: user cannot update a comment by email if no perms 3fb3ca3235

tuleap/u/vaceletm/tuleap/dev

tasks #7014: user cannot update a comment by email if no perms 3fb3ca3235
Add possibility to remove blockquotes in html answer 26b598d62e
tasks 7009: add some documentation 633ae01422
Refactoring: Proper namespace. 9de246b427
Refactoring: Enforce Single Responsibility Principle cf9f421eac
tasks #6990 Handle citations in the answer a02db6e31c
Handle mail reception (tasks #6950 + tasks #6951) 20fb4b4d68
tasks #6973: Allow outsiders to include entries in aliases file 2098aa8305

Follow-ups

User avatar
As discussed with the product owner, html comments will come later if it is asked by users.

  • Permissions set to
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Status changed from On going to Ready (stalled)
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Technical informations
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes