Re: [Architecture] Connector:Basecamp

2014-06-17 Thread Rasika Hettige
Hi,

Thanks Malaka. By considering all the suggestions, please find the final
methods list: 

*Projects* 
*listProjects* - retrieve all projects 
*getProject* -retrieve a project 
*createProject* -   create a project 

*People* 
*listPeople* - returns all people on the account 

*Access*
*grantAccess* - grant access to the project for the existing ids of people
already on the account or new people via email_addresses. 

*Topics* 
*listTopics* - retrieves topics for this project. Returns 50 topics per page 

*Messages* 
*createMessage* - creates a new message from the parameters passed 
*getMessage* -retrieve a messages 

*Comments* 
*createComment* - create a new comment from the parameters passed 

*Todo Lists *
*listTodoLists* - retrieves todo lists that are
active/completed/project-specific/all projects depending on the endpoint 
*listTodoListsAssignedTodos* - return all the todolists with todos assigned
to the specified person. 

*Todos* 
*getTodo* - return the specified todo 
*createTodo* - add a new todo to the specified todolist from the parameters
passed 

*Attachments* 
*createAttachment* - POST /attachments.json uploads a file. The request body
should be the binary data of the attachment. Make sure to set the
Content-Type and Content-Length headers. Once the upload is successful,
you'll get a 200 OK response, and we'll give you a token back that you'll
need to save locally to attach the file. 
*listAttachments* -shows attachments for this project/(* depending
on end point) with file metadata, urls, and associated attachables (Uploads,
Messages, or Comments) with a 200 OK response 

*Uploads* 
*createUploads* -create a new entry in the "Files" section on the given
project, with the given attachment token. Attaching files requires both the
token and the name of the attachment 
*getUpload* - show the content, comments, and attachments for this upload 

*Calendar Events:* 
*listCalendarEvents* - return upcoming/past calendar events for the
project/calendar depending on the endpoint 
*getCalendarEvent* - return the specified calendar event 
*createCalendarEvent* - create a new calendar event for a project 

*Events* 
*listGlobalEvents* -retrieves all global events, 50 events per page 

*Stars* 
*starProject* - stars the project. 
*listStars* lists stars on active projects. 

Thanks & Regards
Rasika



--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98296.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-17 Thread Malaka Silva
Hi Rasika,

Please find my comments.



On Tue, Jun 17, 2014 at 6:06 AM, Rasika Hettige  wrote:

> Hi Malaka,
>
> There should be a small amendment to some methods of "Messages", "Comments"
> and "People" categories with relevance to your suggestions.
>
> listMessage - This should be replaced by "*getMessage*" as there is no
> endpoint to retrieve all messages. Alternatively all messages can be
> retrieved by "listTopics" method.[1]

 Include ListTopics and getMessage

>
> getComment - There is no such method to retrieve a single comment. Instead
> "listTopics" method will contain all comments. Hence we should remove this
> method.[2]
>
No need since getMessage has the comments for the message

>
> createPerson - This method has a dependency on the "Access API" category
> which you have not selected [3]. In this case, we have to implement
> "*grantAccess*" method which will allow to to send an invitation to a new
> email address. [4]

Ok Have grantAccess. This will do the job of creating person

>
> [1]
>
> https://github.com/basecamp/bcx-api/blob/master/sections/messages.md#get-messages
> [2]
>
> https://github.com/basecamp/bcx-api/blob/master/sections/comments.md#get-comments
> [3]
>
> https://github.com/basecamp/bcx-api/blob/master/sections/people.md#create-person
> [4]
>
> https://github.com/basecamp/bcx-api/blob/master/sections/accesses.md#grant-access
>
> Please share your thoughts on this.
>
> Thanks & Regards
> Rasika
>
>
>
> --
> View this message in context:
> http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98271.html
> Sent from the WSO2 Architecture mailing list archive at Nabble.com.
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>



-- 

Best Regards,

Malaka Silva
Senior Tech Lead
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
Blog : http://mrmalakasilva.blogspot.com/

WSO2, Inc.
lean . enterprise . middleware
http://www.wso2.com/
http://www.wso2.com/about/team/malaka-silva/


Save a tree -Conserve nature & Save the world for your future. Print this
email only if it is absolutely necessary.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-17 Thread Rasika Hettige
Hi Malaka,

There should be a small amendment to some methods of "Messages", "Comments"
and "People" categories with relevance to your suggestions.  

listMessage - This should be replaced by "*getMessage*" as there is no
endpoint to retrieve all messages. Alternatively all messages can be
retrieved by "listTopics" method.[1]

getComment - There is no such method to retrieve a single comment. Instead
"listTopics" method will contain all comments. Hence we should remove this
method.[2]

createPerson - This method has a dependency on the "Access API" category
which you have not selected [3]. In this case, we have to implement
"*grantAccess*" method which will allow to to send an invitation to a new
email address. [4]

[1]
https://github.com/basecamp/bcx-api/blob/master/sections/messages.md#get-messages
[2]
https://github.com/basecamp/bcx-api/blob/master/sections/comments.md#get-comments
[3]
https://github.com/basecamp/bcx-api/blob/master/sections/people.md#create-person
[4]
https://github.com/basecamp/bcx-api/blob/master/sections/accesses.md#grant-access

Please share your thoughts on this.

Thanks & Regards
Rasika



--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98271.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-13 Thread Rasika Hettige
Hi Malaka,

Ok, will go with what you have suggested. So the final method list will be
as follows:

Methods Selected: 

*Projects *
*listProjects* - retrieve all projects 
*getProject * -retrieve a project 
*createProject* -   create a project 

People 
*listPeople* - returns all people on the account 
*createPerson* - create a person

Topics 
*listTopics* - retrieves topics for this project. Returns 50 topics per page 

Messages 
*createMessage* - creates a new message from the parameters passed 
*listMessage*-list all the messages

Comments 
*createComment* - create a new comment from the parameters passed 
*getComment* - get a comment 

Todo Lists 
*listTodoLists* - retrieves todo lists that are
active/completed/project-specific/all projects depending on the endpoint 
*listTodoListsAssignedTodos* - return all the todolists with todos assigned
to the specified person. 

Todos 
*getTodo* - return the specified todo 
*createTodo* - add a new todo to the specified todolist from the parameters
passed 

Attachments 
*createAttachment* - POST /attachments.json uploads a file. The request body
should be the binary data of the attachment. Make sure to set the
Content-Type and Content-Length headers. Once the upload is successful,
you'll get a 200 OK response, and we'll give you a token back that you'll
need to save locally to attach the file. 
*listAttachments*-shows attachments for this project/(* depending on end
point) with file metadata, urls, and associated attachables (Uploads,
Messages, or Comments) with a 200 OK response 

Uploads 
*createUploads* -create a new entry in the "Files" section on the given
project, with the given attachment token. Attaching files requires both the
token and the name of the attachment 
*createUpload* - show the content, comments, and attachments for this upload 

Calendar Events: 
*listCalendarEvents* - return upcoming/past calendar events for the
project/calendar depending on the endpoint 
*getCalendarEvent *- return the specified calendar event 
*createCalendarEvent* - create a new calendar event for a project 

Events
*listGlobalEvents *-retrieves all global events, 50 events per page

Stars
*starProject *- stars the project.
*listStars  *lists stars on active projects.

Thanks & Regards 
Rasika 




--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98166.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-13 Thread Malaka Silva
Hi Rasika,

Please find my comments

Best Regards,
Malaka


On Fri, Jun 13, 2014 at 1:29 AM, Rasika Hettige  wrote:

> Hi Shevan/Malaka,
>
> Please find the our suggestions below:
>
> It is better to have following 2 methods:
> createTodolist - This is required to create a todo list which is a
> pre-requisite for todos.- More like a admin task to me. Not required
> starProject - Staring a project is important if we retrieve to get all the
> stars. -  Ok Please Add this
>
> And it better to remove following method:
> getProjetEvents - This is not a mandatory method since getGlobalEvents
> contains the result-set of the getProjectEvents. -  Ok This can be removed
>
> Just give us your thoughts on this?
>
> Thanks & Regards
> Rasika
>
>
>
>
>
> --
> View this message in context:
> http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98140.html
> Sent from the WSO2 Architecture mailing list archive at Nabble.com.
> ___
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>



-- 

Best Regards,

Malaka Silva
Senior Tech Lead
M: +94 777 219 791
Tel : 94 11 214 5345
Fax :94 11 2145300
Skype : malaka.sampath.silva
LinkedIn : http://www.linkedin.com/pub/malaka-silva/6/33/77
Blog : http://mrmalakasilva.blogspot.com/

WSO2, Inc.
lean . enterprise . middleware
http://www.wso2.com/
http://www.wso2.com/about/team/malaka-silva/


Save a tree -Conserve nature & Save the world for your future. Print this
email only if it is absolutely necessary.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-12 Thread Rasika Hettige
Hi Shevan/Malaka,

Please find the our suggestions below:

It is better to have following 2 methods:
createTodolist - This is required to create a todo list which is a
pre-requisite for todos.
starProject - Staring a project is important if we retrieve to get all the
stars.

And it better to remove following method:
getProjetEvents - This is not a mandatory method since getGlobalEvents
contains the result-set of the getProjectEvents. 

Just give us your thoughts on this?

Thanks & Regards
Rasika





--
View this message in context: 
http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-Basecamp-tp98063p98140.html
Sent from the WSO2 Architecture mailing list archive at Nabble.com.
___
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture


Re: [Architecture] Connector:Basecamp

2014-06-12 Thread Shevan Goonetilleke
+1 for the methods that Malaka has added. @Rasika - are there any methods
we have left out?

Thanks
Shevan


On Thu, Jun 12, 2014 at 6:33 PM, Malaka Silva  wrote:

> Hi,
>
> I think following selection is ok for the initial version.
>
> Any thoughts from others?
>
>
> Methods Selected:
>
> Projects
> listProjects - retrieve all projects
> getProject   -retrieve a project
> createProject - create a project
>
> Stars
> List all stars
>
> People
> createPerson
>
> listPeople - returns all people on the account.
>
> Events
> getGlobalEvents
> getProjetEvents
>
>
> Topics
> listTopics - retrieves topics for this project. Returns 50 topics per page
>
> Messages
> listMessages
>
> createMessage - creates a new message from the parameters passed
>
> Comments
> getComment
>
> createComment - create a new comment from the parameters passed
>
> Todo Lists
> listTodoLists - retrieves todo lists that are
> active/completed/project-specific/all projects depending on the endpoint
> listTodoListsAssignedTodos - return all the todolists with todos assigned
> to
> the specified person.
>
> Todos
> getTodo - return the specified todo
> createTodo - add a new todo to the specified todolist from the parameters
> passed
>
> Attachments
> createAttachment - POST /attachments.json uploads a file. The request body
> should be the binary data of the attachment. Make sure to set the
> Content-Type and Content-Length headers. Once the upload is successful,
> you'll get a 200 OK response, and we'll give you a token back that you'll
> need to save locally to attach the file.
> listAttachments  -shows attachments for this project/(* depending on end
> point) with file metadata, urls, and associated attachables (Uploads,
> Messages, or Comments) with a 200 OK response
>
> Uploads
> createUploads -create a new entry in the "Files" section on the given
> project, with the given attachment token. Attaching files requires both the
> token and the name of the attachment
> createUpload - show the content, comments, and attachments for this upload
>
> Calendar Events:
> listCalendarEvents - return upcoming/past calendar events for the
> project/calendar depending on the endpoint
> getCalendarEvent - return the specified calendar event
> createCalendarEvent - create a new calendar event for a project
>
>
>
> On Wed, Jun 11, 2014 at 10:50 AM, Rasika Hettige 
> wrote:
>
>> Introduction
>> Basecamp is a web-based project-management tool developed
>>
>> API :https://github.com/Basecamp/bcx-api
>>
>>
>> Basecamp Connector Summary
>> • Connector Name:  basecamp-connector-1.0.0
>> • Version: 1.0.0
>> • Technology: REST
>>
>> Authentication
>> Authentication is based Auth2.
>>
>> Methods Selected:
>>
>> Projects
>> listProjects - retrieve all projects
>> getProject   -retrieve a project
>> createProject - create a project
>> archiveProject -"archived": true JSON payload will archive a
>> project (pass
>> false to activate it again)
>>
>> People
>> listPeople - returns all people on the account.
>>
>> Accesses
>> listAccesses - return all the people with access to the project or
>> calendar
>> depending on the endpoint
>> grantAccess - grant access to the project for the existing ids of people
>> already on the account or new people via email_addresses. (Same goes for
>> calendars with /calendars/ instead)
>> revokeAccess - revoke the access of the person who's id is mentioned in
>> the
>> URL. (Same goes for calendars with /calendars/ instead)
>>
>> Topics
>> listTopics - retrieves topics for this project. Returns 50 topics per page
>>
>> Messages
>> createMessage - creates a new message from the parameters passed
>> deleteMessage-delete the message specified and return 204 No Content
>> if
>> that was successful
>>
>> Comments
>> createComment - create a new comment from the parameters passed
>> deleteComment - delete the comment specified and return 204 No Content if
>> that was successful
>>
>> Todo Lists
>> listTodoLists - retrieves todo lists that are
>> active/completed/project-specific/all projects depending on the endpoint
>> listTodoListsAssignedTodos - return all the todolists with todos assigned
>> to
>> the specified person.
>> createTodolist - create a new todolist from the parameters passed.
>> updateTodolist - update the todolist from the parameters passed
>> deleteTodolist - delete the todolist specified and return 204 No Content
>> if
>> that was successful
>>
>> Todos
>> getTodo - return the specified todo
>> createTodo - add a new todo to the specified todolist from the parameters
>> passed
>> updateTodo - update the todo from the parameters passed
>> deleteTodo - delete the todo specified and return 204 No Content if that
>> was
>> successful
>>
>> Attachments
>> createAttachment - POST /attachments.json uploads a file. The request body
>> should be the binary data of the attachment. Make sure to set the
>> Content-Type and Content-Length headers. Once the upload is successful,
>> you'll get a 200 OK response, and

Re: [Architecture] Connector:Basecamp

2014-06-12 Thread Malaka Silva
Hi,

I think following selection is ok for the initial version.

Any thoughts from others?


Methods Selected:

Projects
listProjects - retrieve all projects
getProject   -retrieve a project
createProject - create a project

Stars
List all stars

People
createPerson
listPeople - returns all people on the account.

Events
getGlobalEvents
getProjetEvents

Topics
listTopics - retrieves topics for this project. Returns 50 topics per page

Messages
listMessages
createMessage - creates a new message from the parameters passed

Comments
getComment
createComment - create a new comment from the parameters passed

Todo Lists
listTodoLists - retrieves todo lists that are
active/completed/project-specific/all projects depending on the endpoint
listTodoListsAssignedTodos - return all the todolists with todos assigned to
the specified person.

Todos
getTodo - return the specified todo
createTodo - add a new todo to the specified todolist from the parameters
passed

Attachments
createAttachment - POST /attachments.json uploads a file. The request body
should be the binary data of the attachment. Make sure to set the
Content-Type and Content-Length headers. Once the upload is successful,
you'll get a 200 OK response, and we'll give you a token back that you'll
need to save locally to attach the file.
listAttachments  -shows attachments for this project/(* depending on end
point) with file metadata, urls, and associated attachables (Uploads,
Messages, or Comments) with a 200 OK response

Uploads
createUploads -create a new entry in the "Files" section on the given
project, with the given attachment token. Attaching files requires both the
token and the name of the attachment
createUpload - show the content, comments, and attachments for this upload

Calendar Events:
listCalendarEvents - return upcoming/past calendar events for the
project/calendar depending on the endpoint
getCalendarEvent - return the specified calendar event
createCalendarEvent - create a new calendar event for a project



On Wed, Jun 11, 2014 at 10:50 AM, Rasika Hettige  wrote:

> Introduction
> Basecamp is a web-based project-management tool developed
>
> API :https://github.com/Basecamp/bcx-api
>
>
> Basecamp Connector Summary
> • Connector Name:  basecamp-connector-1.0.0
> • Version: 1.0.0
> • Technology: REST
>
> Authentication
> Authentication is based Auth2.
>
> Methods Selected:
>
> Projects
> listProjects - retrieve all projects
> getProject   -retrieve a project
> createProject - create a project
> archiveProject -"archived": true JSON payload will archive a
> project (pass
> false to activate it again)
>
> People
> listPeople - returns all people on the account.
>
> Accesses
> listAccesses - return all the people with access to the project or calendar
> depending on the endpoint
> grantAccess - grant access to the project for the existing ids of people
> already on the account or new people via email_addresses. (Same goes for
> calendars with /calendars/ instead)
> revokeAccess - revoke the access of the person who's id is mentioned in the
> URL. (Same goes for calendars with /calendars/ instead)
>
> Topics
> listTopics - retrieves topics for this project. Returns 50 topics per page
>
> Messages
> createMessage - creates a new message from the parameters passed
> deleteMessage-delete the message specified and return 204 No Content if
> that was successful
>
> Comments
> createComment - create a new comment from the parameters passed
> deleteComment - delete the comment specified and return 204 No Content if
> that was successful
>
> Todo Lists
> listTodoLists - retrieves todo lists that are
> active/completed/project-specific/all projects depending on the endpoint
> listTodoListsAssignedTodos - return all the todolists with todos assigned
> to
> the specified person.
> createTodolist - create a new todolist from the parameters passed.
> updateTodolist - update the todolist from the parameters passed
> deleteTodolist - delete the todolist specified and return 204 No Content if
> that was successful
>
> Todos
> getTodo - return the specified todo
> createTodo - add a new todo to the specified todolist from the parameters
> passed
> updateTodo - update the todo from the parameters passed
> deleteTodo - delete the todo specified and return 204 No Content if that
> was
> successful
>
> Attachments
> createAttachment - POST /attachments.json uploads a file. The request body
> should be the binary data of the attachment. Make sure to set the
> Content-Type and Content-Length headers. Once the upload is successful,
> you'll get a 200 OK response, and we'll give you a token back that you'll
> need to save locally to attach the file.
> listAttachments  -shows attachments for this project/(* depending on end
> point) with file metadata, urls, and associated attachables (Uploads,
> Messages, or Comments) with a 200 OK response
>
> Uploads
> createUploads -create a new entry in the "Files" section on the given
> project, with the given