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
