User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:diff_emails_requirements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mantisbt:diff_emails_requirements [2007/10/28 20:12] – created giallumantisbt:diff_emails_requirements [2008/10/29 04:25] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Template for Requirements ======+====== Diff email Requirements ======
  
    * **Author**: Gianluca Sforna (giallu)    * **Author**: Gianluca Sforna (giallu)
Line 6: Line 6:
  
 ===== Introduction ===== ===== Introduction =====
-A different email style for notifications was requested more than once (with smaller variants).+A different email style for notifications was requested more than once (with smaller variants) from ages. 
 Basically, what we want to obtain is a more compact (and readable) email to be sent to users,  Basically, what we want to obtain is a more compact (and readable) email to be sent to users, 
 so that only the relevant modifications that triggered the notifications will be shown. so that only the relevant modifications that triggered the notifications will be shown.
Line 95: Line 96:
 ===== Implementation Notes ===== ===== Implementation Notes =====
  
-  * Some notes+The main problem with this implementation is that a single mail could include multiple operations, performed as a single update. 
 + 
 +Since the changes are performed in different part of the code, the best approach looks like exploiting the existing history table, and compose the mail starting from that informations. 
 + 
 +A new database field in mantis_bug_table will store the timestamp to start composing the diff from
  
 ==== Database Changes ==== ==== Database Changes ====
  
-  * Required database changes to ''mantis_XXX_table''+  * Required database changes to ''mantis_bug_table'' 
 +    * add a "lastdiffed" field (timestamp) with the time at which information about this bug changing was last emailed
  
 ==== Configuration ==== ==== Configuration ====
    
-  * ''$g_var'' indicates something+Administrator configuration options: 
 +  * ''$g_default_email_style'' - CLASSIC or DIFF 
 + 
 +User configuration options: 
 +  * ''Email style'' - CLASSIC or DIFF from the preferences panel
  
  
 ==== Implementation Log ==== ==== Implementation Log ====
 +  * Nothing yet
  
- 
-===== Other Changes ===== 
  
  
 ===== Feedback ===== ===== Feedback =====
   * Please provide feedback   * Please provide feedback
 +
 +  * (jreese) This shouldn't need a special entry in the database.  Can we not just assume that an email being sent will only need the changes being made at this specific point?  Why do we need to keep more information in the database that (IMO) is redundant.  We should be able to generate a diff the same way we generate history entries.
 +  * (jreese) Is there a simple way to abstract this system in a manner which will allow 'pluggable' or 'themeable' formats to be used in place of the existing two?  Alternatively, is this something that could benefit from usage of templates of some sort?  I ask because I'm sure the moment we implement diff style emails, we will get twice as many requests for new and different email styles, and it would be nice to abstract this into an easy system to create new styles.
 +  * (jreese) Thought experiment: Rather than simply modifying the existing system, perhaps we could adapt the event-based system that I created for plugins to also do work for the core API's.  Then the bug create / update pages could bundle a set of changes and send it to an event, and both the email and history systems could hook into this for gathering information about what's changed, and then the email system could decide from there how to deal with it based on user's preferences. </idea>
 +  * (vboctor) As jreese said, this feature should take into consideration that we will need to support html emails and template based emails in the future.
 +  * (vboctor) Currently if a user does multiple changes right each other, this will result into multiple emails.  In the case where email queuing is enabled, it would be nice if we can consolidate these changes (if possible without adding too much complexity).
 +  * (vboctor) phpBB sends emails that notifies that a thread is modified, but doesn't provide further details.  This simplifies the design but is not as useful as the current ones sent by Mantis or the proposal diff email.
 +  * (vboctor) Related features that are not really part of this feature:
 +    * (vboctor) "Why are you receiving this email?" seems to be a nice feature to add.
 +    * (vboctor) Would be nice to support a way where a user can disable future notifications relating a specific issue, even if the user is the reporter, developer, or an issue note author.
 +    * (vboctor) If two users are updating an issue in parallel, then the first one that submits the changes wins and the second will get an error since the last_update time stamp will be different than the one retrieved when the data was retrieved from the database.
mantisbt/diff_emails_requirements.1193616722.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

Driven by DokuWiki