ESB Connector for Gmail

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

ESB Connector for Gmail

Sewwandi Perera
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Samisa Abeysinghe-4
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.



_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Samisa Abeysinghe-4

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.




_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Sewwandi Perera
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.


Regards,
Sewwandi


On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Samisa Abeysinghe-4



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

indika prasad
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture



_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Sewwandi Perera
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Samisa Abeysinghe-4
Any updates on the progress? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Mar 25, 2014 at 9:38 AM, Sewwandi Perera <[hidden email]> wrote:
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Sewwandi Perera
Hi Samisa,

Here is the current progress on the ESB connector implementation for Gmail.

Done

Below listed operations are fully implemented

1. "init": authenticates users via the XOAuth2 SASL mechanism.  "google-mail-oauth2-tools" library given in [1] was used for the implementation.

2. "password login" - This operation authenticates users via SASL. IMAP libraries are used for the implementation


Above 1 and 2 operations are implemented to use with both IMAP and SMTP.


3. "list all unread emails under label" 

4. "list all unread mails" 

5. "list all mails"

6. "search mails"


In above 3,4,5 and 6 methods, user can specify the maximum number of mail messages that he wants to list down. By default, 25 latest mails will be listed.


7. "delete mail thread"

8. "read mail thread"

Last Friday, 28th March, I had a code review session with Dushan as well.



To Do 

1. Implementation of  "send mail" operation is in progress.
I implemented a POC for this operation. But I am experiencing occasional failures when sending mails "with attachments" through ESB.

2. As discussed with Dushan during the code review, next I'll finish the integration testing for the above completed operations.

3. After that, I'll get few more operations to implement - to match with the time frame

4. Documentation



-- 
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com



On Thu, Apr 3, 2014 at 1:59 PM, Samisa Abeysinghe <[hidden email]> wrote:
Any updates on the progress? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Mar 25, 2014 at 9:38 AM, Sewwandi Perera <[hidden email]> wrote:
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware




--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Sewwandi Perera
Hi,

I added below additional operations also to the Gmail connector.

- "send mail message"
- "delete mail message"
- "read mail message"
- "set labels to a mail thread"

So now, altogether 12 operations are implemented including two authentication operations.


Below given the way how I handled attachments in sending and reading Gmail messages.

Reading e-mail messages
The attachments found in each message are added to the operation context where, the content ID is created by concatenating both "e-mail message ID" and "attached file name".

Then, the comma separated content IDs of the attachments are returned to the user in the response as given below;

<ns:attachemnts>1464782427362087215gmail-connector-1.0.0.zip,1464782427362087215mail.odt</ns:attachemnts>


Sending e-mail messages
User can add files to the operation context where each file's content ID should be equal to its file name. Then, he can specify again the file names which, should be attached to the e-mail message, using the parameter named "attachmentIDs".

Then, the connector will read the attachments from the operation context using the content IDs(file names) specified by the user and attach them to the mail body with the same file names. 

Please let me know if you have any concerns regarding this implementation.

Thanks,
Sewwandi


On Thu, Apr 3, 2014 at 3:30 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

Here is the current progress on the ESB connector implementation for Gmail.

Done

Below listed operations are fully implemented

1. "init": authenticates users via the XOAuth2 SASL mechanism.  "google-mail-oauth2-tools" library given in [1] was used for the implementation.

2. "password login" - This operation authenticates users via SASL. IMAP libraries are used for the implementation


Above 1 and 2 operations are implemented to use with both IMAP and SMTP.


3. "list all unread emails under label" 

4. "list all unread mails" 

5. "list all mails"

6. "search mails"


In above 3,4,5 and 6 methods, user can specify the maximum number of mail messages that he wants to list down. By default, 25 latest mails will be listed.


7. "delete mail thread"

8. "read mail thread"

Last Friday, 28th March, I had a code review session with Dushan as well.



To Do 

1. Implementation of  "send mail" operation is in progress.
I implemented a POC for this operation. But I am experiencing occasional failures when sending mails "with attachments" through ESB.

2. As discussed with Dushan during the code review, next I'll finish the integration testing for the above completed operations.

3. After that, I'll get few more operations to implement - to match with the time frame

4. Documentation



-- 
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com



On Thu, Apr 3, 2014 at 1:59 PM, Samisa Abeysinghe <[hidden email]> wrote:
Any updates on the progress? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Mar 25, 2014 at 9:38 AM, Sewwandi Perera <[hidden email]> wrote:
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware




--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware



--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Samisa Abeysinghe-4
What is the final delivery date for all artefacts of the connector? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Apr 8, 2014 at 12:22 PM, Sewwandi Perera <[hidden email]> wrote:
Hi,

I added below additional operations also to the Gmail connector.

- "send mail message"
- "delete mail message"
- "read mail message"
- "set labels to a mail thread"

So now, altogether 12 operations are implemented including two authentication operations.


Below given the way how I handled attachments in sending and reading Gmail messages.

Reading e-mail messages
The attachments found in each message are added to the operation context where, the content ID is created by concatenating both "e-mail message ID" and "attached file name".

Then, the comma separated content IDs of the attachments are returned to the user in the response as given below;

<ns:attachemnts>1464782427362087215gmail-connector-1.0.0.zip,1464782427362087215mail.odt</ns:attachemnts>


Sending e-mail messages
User can add files to the operation context where each file's content ID should be equal to its file name. Then, he can specify again the file names which, should be attached to the e-mail message, using the parameter named "attachmentIDs".

Then, the connector will read the attachments from the operation context using the content IDs(file names) specified by the user and attach them to the mail body with the same file names. 

Please let me know if you have any concerns regarding this implementation.

Thanks,
Sewwandi


On Thu, Apr 3, 2014 at 3:30 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

Here is the current progress on the ESB connector implementation for Gmail.

Done

Below listed operations are fully implemented

1. "init": authenticates users via the XOAuth2 SASL mechanism.  "google-mail-oauth2-tools" library given in [1] was used for the implementation.

2. "password login" - This operation authenticates users via SASL. IMAP libraries are used for the implementation


Above 1 and 2 operations are implemented to use with both IMAP and SMTP.


3. "list all unread emails under label" 

4. "list all unread mails" 

5. "list all mails"

6. "search mails"


In above 3,4,5 and 6 methods, user can specify the maximum number of mail messages that he wants to list down. By default, 25 latest mails will be listed.


7. "delete mail thread"

8. "read mail thread"

Last Friday, 28th March, I had a code review session with Dushan as well.



To Do 

1. Implementation of  "send mail" operation is in progress.
I implemented a POC for this operation. But I am experiencing occasional failures when sending mails "with attachments" through ESB.

2. As discussed with Dushan during the code review, next I'll finish the integration testing for the above completed operations.

3. After that, I'll get few more operations to implement - to match with the time frame

4. Documentation



-- 
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com



On Thu, Apr 3, 2014 at 1:59 PM, Samisa Abeysinghe <[hidden email]> wrote:
Any updates on the progress? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Mar 25, 2014 at 9:38 AM, Sewwandi Perera <[hidden email]> wrote:
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware




--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware



--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: ESB Connector for Gmail

Sewwandi Perera
Hi Samisa,

I have completed the development of previously mentioned 12 operations and up to now I have finished integration testing of 4 of them.
It seems, I might need about two more additional days than the previous plan to complete the project with both integration testing and  documentation.  
So I am expecting to finish the project by next Friday, 18th April.

Thanks,
Sewwandi


On Tue, Apr 8, 2014 at 5:34 PM, Samisa Abeysinghe <[hidden email]> wrote:
What is the final delivery date for all artefacts of the connector? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Apr 8, 2014 at 12:22 PM, Sewwandi Perera <[hidden email]> wrote:
Hi,

I added below additional operations also to the Gmail connector.

- "send mail message"
- "delete mail message"
- "read mail message"
- "set labels to a mail thread"

So now, altogether 12 operations are implemented including two authentication operations.


Below given the way how I handled attachments in sending and reading Gmail messages.

Reading e-mail messages
The attachments found in each message are added to the operation context where, the content ID is created by concatenating both "e-mail message ID" and "attached file name".

Then, the comma separated content IDs of the attachments are returned to the user in the response as given below;

<ns:attachemnts>1464782427362087215gmail-connector-1.0.0.zip,1464782427362087215mail.odt</ns:attachemnts>


Sending e-mail messages
User can add files to the operation context where each file's content ID should be equal to its file name. Then, he can specify again the file names which, should be attached to the e-mail message, using the parameter named "attachmentIDs".

Then, the connector will read the attachments from the operation context using the content IDs(file names) specified by the user and attach them to the mail body with the same file names. 

Please let me know if you have any concerns regarding this implementation.

Thanks,
Sewwandi


On Thu, Apr 3, 2014 at 3:30 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

Here is the current progress on the ESB connector implementation for Gmail.

Done

Below listed operations are fully implemented

1. "init": authenticates users via the XOAuth2 SASL mechanism.  "google-mail-oauth2-tools" library given in [1] was used for the implementation.

2. "password login" - This operation authenticates users via SASL. IMAP libraries are used for the implementation


Above 1 and 2 operations are implemented to use with both IMAP and SMTP.


3. "list all unread emails under label" 

4. "list all unread mails" 

5. "list all mails"

6. "search mails"


In above 3,4,5 and 6 methods, user can specify the maximum number of mail messages that he wants to list down. By default, 25 latest mails will be listed.


7. "delete mail thread"

8. "read mail thread"

Last Friday, 28th March, I had a code review session with Dushan as well.



To Do 

1. Implementation of  "send mail" operation is in progress.
I implemented a POC for this operation. But I am experiencing occasional failures when sending mails "with attachments" through ESB.

2. As discussed with Dushan during the code review, next I'll finish the integration testing for the above completed operations.

3. After that, I'll get few more operations to implement - to match with the time frame

4. Documentation



-- 
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com



On Thu, Apr 3, 2014 at 1:59 PM, Samisa Abeysinghe <[hidden email]> wrote:
Any updates on the progress? 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Tue, Mar 25, 2014 at 9:38 AM, Sewwandi Perera <[hidden email]> wrote:
Yes Indika. But in the initial discussions, we thought of mainly focusing on the e-mail transactions than Gmail settings.

As suggested by Samisa, I'll first implement one operation and see whether I can take some more operations to implement.

Thanks,
Sewwandi


On Mon, Mar 24, 2014 at 10:30 PM, Indika Kularathne <[hidden email]> wrote:
There are more operations [0] that you can see in gmail rest api.


Thanks
BR
Indika Kularathne



On Mon, Mar 24, 2014 at 5:08 PM, Samisa Abeysinghe <[hidden email]> wrote:



On Mon, Mar 24, 2014 at 4:54 PM, Sewwandi Perera <[hidden email]> wrote:
Hi Samisa,

As I mentioned above, there is no specific API for Gmail. Therefore, I am going to use the "java-gmail-imap" library given in [1]. 
The Operations which I have listed out in the above mail can be implemented using the "java-gmail-imap" library.

I planned only for 7 operations to fit into the given time frame.

That is too low. We can do more in  three weeks 



On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:

On Mon, Mar 24, 2014 at 3:29 PM, Samisa Abeysinghe <[hidden email]> wrote:
So you are going to support only 7 operations? Is that all we have in this original Gmail PI? 

Menat to say API 

Thanks,
Samisa...


Samisa Abeysinghe

Vice President Developer Evangelism

WSO2 Inc. 
http://wso2.com



On Mon, Mar 24, 2014 at 2:58 PM, Sewwandi Perera <[hidden email]> wrote:
Introduction
For the V1.0 of the connector, I mainly focus on implementing the basic e-mail operations like accessing and sending e-mail messages.

API
Since there is no data API for Gmail [1], I'll be using IMAP, SMTP extensions provided by Google [2] for implementation.

Authentication
OAuth 2.0 protocol will be used with the SASL XOAUTH2 mechanism supported by Gmail [3].

Operations
Since the bellow listed operations are not API based, we can have any customized operations with the support of IMAP and SMTP libraries. 
So, please let me know if you have any concerns on the below listed operations. 

 1. Sending an e-mail
Support attachments

 2. Listing all unread e-mail messages under a label: 
All unread e-mail messages under the specified label will be listed with their "thread ID"s.

3. Listing all unread e-mails
All unread e-mail messages in the mail box will be listed with their "thread ID"s

 4. Listing all mails under a label
All e-mail messages under the specified label will be listed with their "thread ID"

 5. Searching mails under a label
Search the e-mail messages under the specified label according to the search term given by the user and list the resulted e-mails with their "thread ID"s

 6. Reading a mail thread
Read the mail thread which belongs to the "Thread ID" given by the user.

 7. Deleting a mail thread
Delete the mail thread which belongs to the "Thread ID" given by the user.






--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture





--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware




--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware



--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware




--
Sewwandi Perera
Software Engineer

WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture