jiuntian / IssueTrackerAssignment

0 stars 0 forks source link

Undo/Redo #10

Open ezratanenzhong opened 3 years ago

ezratanenzhong commented 3 years ago

For the undo/redo function, can we implement using Swing's UndoManager or must we implement ourselves using stacks?

jiuntian commented 3 years ago

Stack.

On Wed, May 19, 2021, 9:42 PM etez999 @.***> wrote:

For the undo/redo function, can we implement using Swing's UndoManager or must we implement ourselves using stacks?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jiuntian/IssueTrackerAssignment/issues/10, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJ2E76R3JI4MELLPN4SM4DTOO54BANCNFSM45EWSNBA .

TayQiXiang commented 3 years ago

Hi, can give detailed example on the undo/redo function? Like we can revert to previous changes?

jiuntian commented 3 years ago

yes. Let say in your change log (edit history) have the following 12/05 : This is a text. 14/05: This is longer text. 18/05: This is very long text with 7 words.

When you first time click revert, you will be pop the top element (18/05) from the stack and your new top element will be the one at 14/05.

Do note that you might need to amend the json document in order to support this.

chimtingshing commented 3 years ago

yes. Let say in your change log (edit history) have the following 12/05 : This is a text. 14/05: This is longer text. 18/05: This is very long text with 7 words.

When you first time click revert, you will be pop the top element (18/05) from the stack and your new top element will be the one at 14/05.

Do note that you might need to amend the json document in order to support this.

I thought the undo/redo is like microsoft word's or notepad's undo/redo function? Like when you type u can undo/redo the text

jiuntian commented 3 years ago

Yes, you can do that, I didn't specifically mention in the question, so you can do either, or even both.

OoiJSen commented 3 years ago

Good day demo, I would like to ask if it is possible that we do not use stack in implementing the undo/redo function Since a database is being used, I am thinking to implement the feature using another database Or maybe demo can enlighten me on the stack implementation revolving multiple users accessing at the same time

jiuntian commented 3 years ago

You can try other kind of data structure other than stack, as long as it is doable and efficient. Stack is just a suggestion.

OoiJSen commented 3 years ago

Good day demo, I would like to ask if it is ok for me to implement the undo/redo function in a way that it applies at a comment level For example: For issue 1, User A - Comment 1 User A - Comment 2 User A - Comment 3 If User A undoes, then Comment 3 is popped. This only works while the process of creating comments happens when the User A is logged in at that moment. If User A logs out and logs back in again, and he uses undo, nothing will happen. Both stacks are empty. This is to ensure the user knows what he or she is undoing or redoing and not persisting the states forever Also, I am not implementing it in the change log for edit history It this acceptable?

jiuntian commented 3 years ago

Maybe you can explain more on your comment level undo, I have few questions for you.

  1. What are the comment 1,2,3 mean for? Is that mean for three different comment, or they are same comment but different version?

2a. If it is mean by different comment, what is the meaning of use undo instead of just delete?

2b. If it is mean by different version, yes it make sense to do like this.

  1. As far as I know, changelog is part of basic requirements, is there any strong reason so that you want to skip it?

Sorry for late reply as I have busy with my fyp.

OoiJSen commented 3 years ago

My initial attempt was the one you said in 2a Cause originally i thought it as recalling messages in WhatsApp or WeChat But now i understand it better Then actually i have another question Can i implement the undo/redo function per login basis That means if the user logs out then all the stacks are cleared Then if he logs in another time the stack will start being pushed with the new edits, cleared again if he logs out and the process continues like this My justification for doing it this way is to ensure the users are well aware of what they want to undo or redo at that moment as a convenient function Cause they can just edit the comment if they want to change it P.S. Sorry for any inconveniences or disturbance caused to your free time

jiuntian commented 3 years ago

Yes, undo can be session based.

On Tue, Jun 1, 2021, 1:45 AM OoiJSen @.***> wrote:

My initial attempt was the one you said in 2a Cause originally i thought it as recalling messages in WhatsApp or WeChat But now i understand it better Then actually i have another question Can i implement the undo/redo function per login basis That means if the user logs out then all the stacks are cleared Then if he logs in another time the stack will start being pushed with the new edits, cleared again if he logs out and the process continues like this My justification for doing it this way is to ensure the users are well aware of what they want to undo or redo at that moment as a convenient function Cause they can just edit the comment if they want to change it P.S. Sorry for any inconveniences or disturbance caused to your free time

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jiuntian/IssueTrackerAssignment/issues/10#issuecomment-851614517, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJ2E74BBRZND3EFRWHHU5TTQPDNDANCNFSM45EWSNBA .

TayQiXiang commented 3 years ago

Do we need to implement a delete comment feature? Or undo/redo is enough(maximum can only revert to first version, unable to remove)

TayQiXiang commented 3 years ago

Do we need to implement a delete comment feature? Or undo/redo is enough(maximum can only revert to first version, unable to remove)

jiuntian commented 3 years ago

If the question didn't state this, then you are free to do either. Correct me if I'm wrong, I think question didn't state to have delete feature.

On Wed, Jun 2, 2021, 5:01 PM Tay Qi Xiang @.***> wrote:

Do we need to implement a delete comment feature? Or undo/redo is enough(maximum can only revert to first version, unable to remove)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jiuntian/IssueTrackerAssignment/issues/10#issuecomment-852849492, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJ2E77667TWE7ZJYAUG6YTTQXXP5ANCNFSM45EWSNBA .