james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edgar Asatryan (JIRA)" <server-...@james.apache.org>
Subject [jira] [Comment Edited] (JAMES-2321) WebAdmin should allow to see more details about Mails
Date Thu, 07 Jun 2018 07:34:00 GMT

    [ https://issues.apache.org/jira/browse/JAMES-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16504345#comment-16504345
] 

Edgar Asatryan edited comment on JAMES-2321 at 6/7/18 7:33 AM:
---------------------------------------------------------------

[~BTellier], please don't worry about disagreement.

I'm planned to work on weekend so I think both tasks will be implemented and will open the
PR as soon as they finished. By the way, how the community denote the ongoing PR's? The
common practices tells me that I should open PR with following naming convention:
{code:java}
[WIP] JAMES-N {TASK}.
{code}
 

Is that correct ?


was (Author: ed_asatryan):
[~BTellier], please don't worry about disagreement.

I'm planned to work on weekend so I think both tasks will be implemented and will open the
PR as soon as then finished. By the way, how the community denote the ongoing PR's? The
common practices tells me that I should open PR with following naming convention:
{code:java}
[WIP] JAMES-N {TASK}.
{code}
 

Is that correct ?

> WebAdmin should allow  to see more details about Mails
> ------------------------------------------------------
>
>                 Key: JAMES-2321
>                 URL: https://issues.apache.org/jira/browse/JAMES-2321
>             Project: James Server
>          Issue Type: Improvement
>          Components: MailStore &amp; MailRepository, webadmin
>    Affects Versions: master
>            Reporter: Tellier Benoit
>            Priority: Major
>              Labels: feature, newbie
>
> The WebAdmin REST API allows to see mails in a mailQueue and in a mail repository. However,
as of today, the amount of information that can be seen is limited, and has the following
properties:
>  - The `name` that identifies the mail
>  - The envelope information (sender + recipients)
>  - And basic processing information (state and possible error).
> Today:
> {code:java}
> curl -XGET http://ip:port/mailRepositories/file%3A%2F%2Fvar%2Fmail%2Ferror%2F/mails/mail-key-1
> {code}
> Will return:
> {code:java}
> {
>     "name": "mail-key-1",
>     "sender": "sender@domain.com",
>     "recipients": ["recipient1@domain.com", "recipient2@domain.com"],
>     "state": "address-error",
>     "error": "A small message explaining what happened to that mail..."
> }
> {code}
> We also should add the following properties in the view by default: `lastUpdated`, `remoteHost`,
`remoteAddr`.
> The basic answers becomes then:
> {code:java}
> {
>     "name": "mail-key-1",
>     "sender": "sender@domain.com",
>     "recipients": ["recipient1@domain.com", "recipient2@domain.com"],
>     "state": "address-error",
>     "error": "A small message explaining what happened to that mail...",
>     "remoteHost": "smtp.apache.org",
>     "remoteAddr":"175.26.53.48",
>     "lastUpdated": "2018-01-28T14:31:00.000+0000"
> }
> {code}
> We need to be able to get more details about the mail object.
> We should be able to pass an `additionalFields`.
> Supported additional fields would be:
>  - `attributes`
>  - `perRecipientsHeaders`
>  - `headers`
>  - `body`
>  - `messageSize`
> An example:
> {code:java}
> curl -XGET http://ip:port/mailRepositories/file%3A%2F%2Fvar%2Fmail%2Ferror%2F/mails/mail-key-1?additionalFields=attributes,headers,body,messageSize,perRecipientsHeaders
> {code}
> Will return:
> {code:java}
> {
>     "name": "mail-key-1",
>     "sender": "sender@domain.com",
>     "recipients": ["recipient1@domain.com", "recipient2@domain.com"],
>     "state": "address-error",
>     "error": "A small message explaining what happened to that mail...",
>     "remoteHost": "smtp.apache.org",
>     "remoteAddr":"175.26.53.48",
>     "lastUpdated": "2018-01-28T14:31:00.000+0000",
>     "messageSize": 452369,
>     "attributes" : {"name1":"value1", "name2":"value2"},
>     "body": "My awesome body!!!",
>     "perRecipientsHeaders": {
>         "benwa@apache.org": {
>              "headerName1":["value1", "value2"],
>              "headerName2":["value3","value4"]
>         }
>     },
>     "headers" : {
>          "headerName3":["value5", "value8"],
>          "headerName4":["value6","value7"]
>     }
> }
> {code}
> You will need to:
>  - in */server/protocols/webadmin/webadmin-mailrepository* project:
>  - Modify MailDTO to add new mandatory fields. 
>  - *MailRepositoriesRoutesTest* :: *retrievingAMailShouldDisplayItsInformation* to take
into account these new mandatory fields.
> Then:
>  - *MailDTO* Should contain an enum called *AdditionalFields*
>  - *MailDTO::fromMail* should take a List<AdditionalFields> as argument
>  - Modify *MailRepositoriesRoutes* in order to take into account this URL parameter.
> Please note that:
>  - Unknown *additionalParameter* values should be rejected
>  - empty additionalParameters should be filtered out and ignored
>  - This parameter can be ommited.
>  - Please add tests demonstrating the following behaviours in *MailRepositoriesRoutesTest*
> Of course, as always, we are willing to provide help for these issues. Please don't hesitate
to reach us on https://gitter.im/apache/james-project .



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message