On Mon, Oct 29, 2018 at 11:06 AM Malintha Amarasinghe <[email protected]>
wrote:

> Hi,
>
> 1. Have we included pagination support? I think this is necessary as there
> can be discussions with many comments.
>
+1, I will look into this.


> 2. Do we expand the replies section always? Otherwise, we can provide an
> *expand* true/false parameter to include the replies only if it is
> necessary.
>
+1, Yes, we are maintaing it using the state. (showReply: true/false)

3. Do we plan to add comment search capability?
>
Initially we have decided not to provide this functionality.


> Thanks
>
> On Mon, Oct 29, 2018 at 8:36 AM Wasura Wattearachchi <[email protected]>
> wrote:
>
>> Hi all,
>>
>> Will move the logic to the backend as Bhathiya has suggested, and will
>> get the response similar to the dummy comments json in the UI.
>>
>> Thanks,
>> Wasura
>>
>> On Mon, Oct 29, 2018 at 6:29 AM Chanaka Jayasena <[email protected]>
>> wrote:
>>
>>> The dummy comments json in the UI is matching to what Bhathiya has
>>> suggested. It allows to load the comment react component recessively.
>>>
>>> thanks,
>>> Chanaka
>>>
>>> On Sun, Oct 28, 2018 at 10:11 PM Bhathiya Jayasekara <[email protected]>
>>> wrote:
>>>
>>>> Hi Wasura,
>>>>
>>>> IMO, the response for the GET should be intuitive.
>>>>
>>>> For example:
>>>>
>>>> [
>>>>    {
>>>>       "id":"12434",
>>>>       "comment":"this is a parenth comment",
>>>>       "timestamp":"xxxxx01",
>>>>       "replies":[
>>>>          {
>>>>             "id":"12435",
>>>>             "comment":"this is a reply",
>>>>             "timestamp":"xxxxx02"
>>>>          },
>>>>          {
>>>>             "id":"12436",
>>>>             "comment":"this is another reply",
>>>>             "timestamp":"xxxxx03"
>>>>          }
>>>>       ]
>>>>    },
>>>>    {
>>>>       "id":"12438",
>>>>       "comment":"this is another parent comment",
>>>>       "timestamp":"xxxxx02"
>>>>    }
>>>> ]
>>>>
>>>> So you will have to write the logic to compose this response at the
>>>> backend.
>>>>
>>>> On Sat, Oct 27, 2018 at 12:05 PM Wasura Wattearachchi <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Sorry for the inconvenience. The methods that I have already
>>>>> implemented are not visible in the above mail. Check below for the 
>>>>> methods.
>>>>>
>>>>>
>>>>> Thanks!
>>>>>
>>>>> On Sat, Oct 27, 2018 at 12:00 PM Wasura Wattearachchi <[email protected]>
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> If I use above GET method, I will get an array of comments as the
>>>>>> response and each array element will consist a comment (or a reply) with
>>>>>> the fields (column names as attributes) from the database table.
>>>>>> So, to list down the comments I used a loop and to list down the
>>>>>> replies by checking whether what are the comments which have the
>>>>>> parentCommentId of the parent comment.
>>>>>>
>>>>>> *Pseudocode*
>>>>>>
>>>>>>> commentList = call GET /apis/{apiId}/comments
>>>>>>> For each comment in commentList{
>>>>>>> Display comment;
>>>>>>> If (comment[parentCommentId] != null){
>>>>>>>           For each commentReply in commentList{
>>>>>>>               If (comment[parentCommentId] ==
>>>>>>> commentReply[parentCommentId]){
>>>>>>>                    Display commentReply;
>>>>>>>                       }
>>>>>>>                   }
>>>>>>>         }
>>>>>>> }
>>>>>>
>>>>>>
>>>>>> IMHO, I think above approach of using 2 nested loops is not
>>>>>> efficient. So, how about we use another GET method to get the comments
>>>>>> which have a particular parentCommentId and use it instead of the second
>>>>>> loop? (check the method in red colour)
>>>>>>
>>>>>> *Pseudocode*
>>>>>>
>>>>>>> commentList = call GET /apis/{apiId}/comments
>>>>>>> For each comment in commentList{
>>>>>>> Display comment;
>>>>>>> If (comment[parentCommentId] != null){
>>>>>>> replyList = call GET /apis/{apiId}/comments/{parentCommentId}
>>>>>>>         For each commentReply in replyList{
>>>>>>>        Display commentReply;
>>>>>>>                 }
>>>>>>>         }
>>>>>>> }
>>>>>>
>>>>>>
>>>>>> But the drawback in here is that there will be two database calls
>>>>>> when listing a single comment with replies.
>>>>>>
>>>>>
>>>> This also has 2 network calls which is costlier than the 1st case.
>>>>
>>>> Anyway, this will be easiler when you move the logic to the backend as
>>>> I suggested above.
>>>>
>>>> Thanks,
>>>> Bhathiya
>>>>
>>>>
>>>>> What do you think about this?
>>>>>>
>>>>>> Thank you!
>>>>>>
>>>>>> --
>>>>>> Wasura Wattearachchi | Software Engineer Intern | WSO2 Inc.
>>>>>> (m) +94775396038 | (e) [email protected]
>>>>>> <http://wso2.com/signature>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Wasura Wattearachchi | Software Engineer Intern | WSO2 Inc.
>>>>> (m) +94775396038 | (e) [email protected]
>>>>> <http://wso2.com/signature>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Bhathiya Jayasekara*
>>>> *Technical Lead,*
>>>> *WSO2 inc., http://wso2.com <http://wso2.com>*
>>>>
>>>> *Phone: +94715478185*
>>>> *LinkedIn: http://www.linkedin.com/in/bhathiyaj
>>>> <http://www.linkedin.com/in/bhathiyaj>*
>>>> *Twitter: https://twitter.com/bhathiyax <https://twitter.com/bhathiyax>*
>>>> *Blog: http://movingaheadblog.blogspot.com
>>>> <http://movingaheadblog.blogspot.com/>*
>>>>
>>>
>>>
>>> --
>>> Chanaka Jayasena
>>> Associate Tech Lead,
>>> email: [email protected]; cell: +94 77 4464006
>>> blog: http://chanaka3d.blogspot.com
>>>
>>
>>
>> --
>> Wasura Wattearachchi | Software Engineer Intern | WSO2 Inc.
>> (m) +94775396038 | (e) [email protected]
>> <http://wso2.com/signature>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>
>
> --
> Malintha Amarasinghe
> *WSO2, Inc. - lean | enterprise | middleware*
> http://wso2.com/
>
> Mobile : +94 712383306
>


-- 
Wasura Wattearachchi | Software Engineer Intern | WSO2 Inc.
(m) +94775396038 | (e) [email protected]
<http://wso2.com/signature>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to