GNOME Bugzilla – Bug 201186
ability to add custom headers in composer
Last modified: 2011-02-24 12:13:27 UTC
You should be able to add customer headers in the composer. This can be sort of power-userish and hard to do.
I don't think we should worry about this for 1.0, it'd take a rewrite of the GUI and adding more functionality.
Please worry about it immediately after 1.0, then. I thought I had "switched" to Evolution, but today I had to go back to mutt because I can't add headers to, for example, control mailing list software. It's not something you need every day, but when you find out you can't do it, you start to feel like you're trapped in a Microsoft product.
Setting additional headers shouldn't be too difficult though. Having this functionality would also be good for setting X-Message, X-URL and X-image-url headers. This type of thing is already in Mozilla mail, I believe, but not Evo. http://bugzilla.mozilla.org/show_bug.cgi?id=16925 http://bugzilla.mozilla.org/show_bug.cgi?id=56273
I didn't see this feature in Mozilla Mail either... maybe I missed it though?
*** bug 219403 has been marked as a duplicate of this bug. ***
*** bug 221940 has been marked as a duplicate of this bug. ***
*** bug 222382 has been marked as a duplicate of this bug. ***
*** bug 226453 has been marked as a duplicate of this bug. ***
This was a bounty and now it's fixed in HEAD (see http://bugzilla.gnome.org/show_bug.cgi?id=127523)
The bounty is about displaying incoming custom email headers. This bug however requests the ability to add custom headers to outgoing email.
*** bug 252544 has been marked as a duplicate of this bug. ***
*** Bug 304460 has been marked as a duplicate of this bug. ***
I am taking it up. Related to http://bugzilla.gnome.org/show_bug.cgi?id=347471
*** Bug 347471 has been marked as a duplicate of this bug. ***
Inheriting Priority High from duplicate bug 347471. Setting proper Target. Please see bug 347471 for the reason this now becomes rather important to be implemented ASAP. Bug 347471 comment 5 provides some implementation details.
Inheriting the Cc'd addresses manually... *sigh*
*** Bug 491665 has been marked as a duplicate of this bug. ***
Created attachment 98359 [details] [review] Patch file contains a partial fix. This fix is provided as part of plugin. The plugin that embedding a Custom Headers for security classification and category to the outgoing messages. This is just a first phase fix for that bug. In next phase of fix, the input dialog options box for custom header will be created based on reading the contents from an xml file.
Ashish, unified diff first (diff -u). Ashish, no point attaching a partial fix. Complete and put the patch here.
ashish: well, of course some kind of "draft patch" can be attached here, but please set the initial status to "needs-work" then.
Created attachment 99837 [details] [review] Patch file contains a fix for custom header. In this fix, the input dialog options box for custom header will be created based on reading the contents from an xml file. User can add different custom header dynamically, through an XML file. For adding custom header option values, user will have to add section for custom header value in XML file. XML's file section contains custom header value in terms of custom header name as major tag of XML file and its value as minor tag of XML file.
Created attachment 99838 [details] Find a sample xml file for custom header. It should be available in /home/user/.evolution/ directory.
please fix the various mistakes in user-visible strings (punctuation vs no punctuation, missing whitespaces and redundant whitespaces, and grammar) before committing.
Sankar, this need to be reviewed/reworked before 2.21.4. Can you take it with Ashish?
Created attachment 100370 [details] Patch Review Comments the comments were so lengthy that I did not want to make a loooong comment.
Please be informed that this plugin is more aligned with http://bugzilla.gnome.org/show_bug.cgi?id=347471 's requirements. Any features like: Always add these X headers to all outgoing messages is not supported in this yet.
Created attachment 101117 [details] [review] Updated patch after review comments. Major changes are: 1) Patch file contains the support of Gconf for configuraion. For adding custom header option values, user will have to add string in gconf configuraion file through gconf-editor. 2) To removed xml file configuration for dynamically addition of custom headers optrions. Same configuration will provided through gconf.
ashish, _name="Custom Header" can we make this "Custom Header lines"? otherwise i expect wrong translations. in general, you always talk about the "header" in all user-visible strings. to me, the header is the ENTIRE non-body. so a "custom header" to me is a bit misleading. aren't you talking about "custom header lines" instead?! [Security=Personal;Unclassified;Protected;InConfidence;Secret;Topsecret] ...i again expect that these values cannot be translated, like for the attachment-reminder plugin? <short>List of subtype</short> can we please use proper english language? <_description>A plugin to help you attach Custom Headers to the outgoing messages. You can configure the custom header through the Custom Header dialog box.</_description> can we remove the "A plugin to help you" blah and use proper spelling, please? like: <_description>Adds custom header lines to outgoing messages.</_description>
Created attachment 102386 [details] Review comments
Created attachment 103883 [details] [review] Patch after review comments.
This need to be reviewed. But then, this shouldn't be a target for 2.21.x anymore.
if you insist on using "custom header" instead of "custom header lines", then i expect translator comments for this.
It still needs some work. I have give Ashish in person. Please rework and attach.
Created attachment 104340 [details] [review] Added translator comments and update for other review comments also.
ashish, did you try the translator comments by creating a pot file and checking?
+ <default>[Security=Personal;Unclassified;Protected;InConfidence;Secret;Topsecret]</default> + <locale name="C"> + <short>Default list of headers for email custom header plugin</short> + <long>Default list of headers for email custom header plugin</long> and you may want to use <long> to actually describe the format of the key. if it's empty no-one would know how to add something here. please enclose literal values in "".
Created attachment 104541 [details] [review] Update patch with translator comments and new string. Translator comments are tested by creating a pot file. Add new description for describing the format of gconf key.
> Translator comments are tested by creating a pot file. aha. i'd love to see that pot file, including your /* Translators: The following strings are used while adding a new message header to outgoing message, to specify what value for the message header would be added. */ line.
Created attachment 104692 [details] [review] Translator comment line are added to po files.
Ashish, Didnt I tell you not to do window management. Why do you manage the composer windows in a global list. How do you handle if the dialog is closed. Have the dialog part of composer' g_object_set_data and go ahead. I hate see the review comments not being taken in to account.
ashish, this still does not answer if + /* Translators: The following strings are used while adding a new message header to outgoing message, to specify what value for the message header would be added. */ + epech_load_from_gconf (client, "/apps/evolution/eplugin/email_custom_header/customHeader", mch); will be displayed anywhere. i assume it's completely useless there.
Created attachment 105067 [details] [review] Removed Translator comment from one place and also removed global list.
+ <!-- Translators: The following strings are used while adding a new message header to outgoing message, to specify what value for the message header would be added --> + <_description>Adds custom header to outgoing messages.</_description> what's that? i'm quite pissed by writing for a *third* time that this is a completely useless comment, man. please read http://live.gnome.org/TranslationProject/DevGuidelines/Use_comments again. and then again.
Hi Andre, As per your old comments, > aha. i'd love to see that pot file, including your >/* Translators: The following strings are used while adding a new message >header to outgoing message, to specify what value for the message header would >be added. */ >line. I have added this line in pot file, which come from source files after compilation. Please find the same in one of the pot file. ******************************************************************************** #. Translators: The following strings are used while adding a new message header to outgoing message to specify what value for the message header would be added #: ../plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml.h:2 msgid "Adds custom header to outgoing messages." msgstr "" #: ../plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml.h:3 msgid "Custom Header" msgstr "Custom Header" #: ../plugins/email-custom-header/org-gnome-email-custom-header-menu.xml.h:1 #, fuzzy msgid "Custom Header" msgstr "Custom Header" #: ../plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in.h:1 #, fuzzy msgid "List of Custom Header" msgstr "Custom Headers" #: ../plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in.h:2 msgid "" "The key specifies the list of custom headers that you can add to an outgoing " "message. The format for specifying a Header and Header value is: Name of the " "custom header followed by \"=\" and the values separated by \";\"" msgstr "" ******************************************************************************** then you told me, remove this line from one place, I removed this lines where its look useless. I have read “Translator Comments” guideline from mentioned url and I've also looked existing evo source code. I followed the same guideline. I got confused, what you want exactly. Please explain me more. Please let me know, if I missed something. Thanks Ashish
#. Translators: The following strings are used while adding a new message header to outgoing message to specify what value for the message header would be added #: ../plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml.h:2 msgid "Adds custom header to outgoing messages." that does not work. perhaps you had luck when creating the pot file that the order of the strings worked well for you. but this is not guaranteed at all. so "the following strings have bla" will not work. sorry, should have made this clearer before.
Thanks to explained me more. > order of the strings worked well for you. but this is not guaranteed at all.so "the following strings have bla" will not work. I didn't get what does mean of "order of the string". Do u want to any changes in string "Adds custom header to outgoing messages.", or something else?
with "order of the string*S*" i mean that writing "The following strings" is crazy if there is only ONE following string and the rest of the strings might be somewhere TOTALLY else in the po file. it is not guaranteed that the other custom header strings are somewhere near that one string with the translator comment
+ static gint ivariable=0; ... ... + if(ivariable != 0) + new_email_custom_header_window = g_object_get_data ((GObject *) t->target.widget, "compowindow"); + + if(NULL == epech_check_existing_composer_window(new_email_custom_header_window,t->target.widget->window)) { + dialog = new_email_custom_header_window->epech_dialog; + } else { + dialog = epech_dialog_new (); + if(NULL != dialog) { ... ... + ivariable++; + g_object_set_data ((GObject *) t->target.widget, "compowindow", new_email_custom_header_window); + } + } Any reason you use the ivariable? I dont see why you need it. Except for the first instance, for the rest it is going to be non zero. Why can't you just get it directly from the object? Also you need to destroy the data on composer destry. so use g_object_set_data_full.
Created attachment 105972 [details] [review] Update Translator Comment and added function for free data on composer destroy.
Bumping version to a stable release.
with the new composer this is not working. Also, there were some comments on coding style issues that I have conveyed offline.
Committed in svn trunk http://svn.gnome.org/viewvc/evolution?view=revision&revision=35510
Reopening. This thing is unusable in 2.23 and belongs in the experimental plugin group until someone finishes it. Expecting users to modify GConf keys in order to utilize a feature is unacceptable. We can't ship this in a stable release. The plugin advertises the ability to add custom headers to outgoing messages. Could we maybe have an Add button then for adding such headers? Maybe a Delete button to round it out? And just for kicks, maybe even display a list of the headers that have been added? I won't even go into why I think this should not have been a plugin to begin with...
*** Bug 539026 has been marked as a duplicate of this bug. ***
Matt, you are right. It lacks a plugin configuration dialog, where users add a list of header/values. It would be there in time. Ashish, who was doing this, is sick and undergoing an medical surgery and would be back next week or so.
Created attachment 113321 [details] [review] Patch for to provide support for configuring custom header. Added Support for configuring gconf values. User can Add/Edit/Remove custom header through Plugin configuration tab.
two issues: + <!-- For Translators: 'Custom Header key value' string is used while adding a new message header to configuration, to specifying the format of the key values --> + <property name="label" translatable="yes">The format for specifying a Custom Header key value is: +Name of the Custom Header key values separated by ";".</property> this is wrong for glade files. please read http://live.gnome.org/TranslationProject/DevGuidelines/Use comments + <property name="label" translatable="yes">window1 no, please use translatable="no"
Bah, crappy Firefox 3. should have been http://live.gnome.org/TranslationProject/DevGuidelines/Use%20comments
Created attachment 113382 [details] [review] Update for translation strings.
So memleaks now, all those g_strcontact give newly allocated. When you recursively append, free those already done. Akhil will test the patch, independently
I tested the patch and configuration UI worked properly for me.
Created attachment 113895 [details] [review] Updated patch for solving memory leaks issue.
marking patch as 'accepted' on behalf of srag (had discussion on irc)
Committed to Trunk as r35774 http://svn.gnome.org/viewvc/evolution?view=revision&revision=35774
Missed the glade file since patch was named memory-leak-fixes. It also added a new glade file. Added the glade file in this commit to Trunk. http://svn.gnome.org/viewvc/evolution?view=revision&revision=35798
Closing since we have a plugin for this now.
(In reply to comment #66) > Closing since we have a plugin for this now. HMmh, though, “custom headers” have fixed, pre-defined values, while “custom” are likely to mean “editable at message creation time”. That, would be nice.
Can you provide a UI mockup that's not on steroids? :)
Hmmh, in the “edit message” window, one could have a [+] button under subject, which would open a line, where the user would be able to type free text?
...and how many users will be totally confused by this?
The [+] button could be added only if selected in the menu, like the CC/BCC/Reply-to ones?
Any news on this?
No interest. Bug lacks use cases other than "other mailers can do it".
The Mail-Followup-To header comes to mind. Another are pseudo-headers for example for the Debian BTS (or the emacs one, for that matters).