[ https://issues.apache.org/jira/browse/OPENMEETINGS-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13728772#comment-13728772 ]
Andun Sameera Liyanagunawardana commented on OPENMEETINGS-733: -------------------------------------------------------------- I am putting debug log form the whiteboard. Why I am putting this is I am in a confusing situation while implementing the Undo. To explain the situation tkae this example, {"id":0,"type":"PointFree","y":20,"x":-455} Above JSON object represent a point drawn on the whiteboard. {"id":1,"type":"PointFree","y":53,"x":-345} {"id":2,"type":"PointFree","y":0,"x":-254} {"id":3,"p2":2,"p1":1,"type":"PencilRect"} Above JSON object set represent a rectangle drawn on the whiteboard. {"id":3,"p2":2,"color":"#0000ff","p1":1,"type":"PencilRect"} Above JSON object represent a color change of the rectangle on the whiteboard. Likewise for a when curved line is drawn it gives a long sequence of JSON objects which represent the line. Thus Undo should happen regarding what happens on the whiteboard. My problem is how to identify what happen on the white board, when a sequence of JSON object are coming from the whiteboard. How can we identify steps to Undo? Whiteboard debug log - {"id":0,"type":"PointFree","y":20,"x":-455} {"id":1,"type":"PointFree","y":53,"x":-345} {"id":2,"type":"PointFree","y":0,"x":-254} {"id":3,"p2":2,"p1":1,"type":"PencilRect"} {"id":4,"type":"PointFree","y":55,"x":-119} {"id":5,"type":"PointFree","y":32,"x":-101} {"id":6,"p2":5,"p1":4,"type":"PencilCircle"} {"id":3,"p2":2,"color":"#0000ff","p1":1,"type":"PencilRect"} {"id":7,"type":"PointFree","y":-25,"x":-46} {"id":8,"p0":7,"type":"PencilCurve"} {"id":8,"y0":-2,"p0":7,"type":"PencilCurve","x0":1} {"id":8,"y0":-2,"p0":7,"y1":0,"type":"PencilCurve","x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"x2":7,"type":"PencilCurve","x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"y3":11,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"x4":19,"y3":11,"y4":20,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4} {"p0":7,"y0":-2,"y1":0,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":22,"y1":0,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"id":8,"x8":25} {"id":8,"y0":-2,"p0":7,"y1":27,"type":"PencilCurve","x0":1,"x1":26} {"id":8,"y0":-2,"p0":7,"y1":27,"y2":28,"x2":27,"type":"PencilCurve","x0":1,"x1":26} {"id":8,"y0":-2,"p0":7,"y1":27,"y2":28,"y3":30,"x2":27,"type":"PencilCurve","x3":29,"x0":1,"x1":26} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":30,"x2":31,"type":"PencilCurve","x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":30,"y3":32,"x2":31,"type":"PencilCurve","x3":34,"x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":30,"x4":35,"y3":32,"y4":32,"x2":31,"type":"PencilCurve","x3":34,"x0":1,"x1":4} {"p0":7,"y0":-2,"y1":0,"y2":30,"y3":32,"x4":35,"x5":36,"y4":32,"y5":33,"type":"PencilCurve","x2":31,"x3":34,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":37,"y1":0,"y2":30,"y3":32,"x4":35,"x5":36,"y4":32,"y5":33,"type":"PencilCurve","x2":31,"y6":35,"x3":34,"x0":1,"x1":4,"id":8} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"y3":37,"x2":7,"type":"PencilCurve","x3":40,"x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"x4":42,"y3":37,"y4":40,"x2":7,"type":"PencilCurve","x3":40,"x0":1,"x1":4} {"id":8,"y0":-2,"p0":7,"y1":0,"y2":6,"x4":45,"y3":11,"y4":41,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4} {"p0":7,"y0":-2,"y1":0,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":47,"y1":0,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"id":8,"x8":50} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"y9":43} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":54,"y9":43,"y10":43} {"p0":7,"y0":-2,"y1":0,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":57,"y1":0,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":59,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":43,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":59,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":43,"x0":1,"y8":43,"x1":4,"id":8,"x8":61} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":59,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":43,"x0":1,"y8":43,"x1":4,"x9":65,"id":8,"x8":61,"y9":43} {"p0":7,"y0":-2,"x6":66,"y1":0,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":66,"y1":0,"x7":69,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":43,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":70,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":43,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":43,"x1":4,"id":8,"x8":72} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":43,"x1":4,"x9":74,"id":8,"x8":72,"y9":43} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"y9":45} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47,"y11":47,"x11":80} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47,"y11":47,"y12":47,"x12":81,"x11":80} {"id":8,"y0":-2,"p0":7,"y1":27,"y2":48,"x2":82,"type":"PencilCurve","x0":1,"x1":26} {"id":8,"y0":-2,"p0":7,"y1":27,"y2":48,"y3":48,"x2":82,"type":"PencilCurve","x3":84,"x0":1,"x1":26} {"p0":7,"y0":-2,"y1":0,"y2":30,"y3":32,"x4":35,"x5":85,"y4":32,"y5":48,"type":"PencilCurve","x2":31,"x3":34,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":87,"y1":0,"y2":30,"y3":32,"x4":35,"x5":36,"y4":32,"y5":33,"type":"PencilCurve","x2":31,"y6":48,"x3":34,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":89,"id":8,"x8":50,"y9":47} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":91,"y9":43,"y10":46} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":91,"y9":43,"y10":46,"y11":45,"x11":92} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":91,"y9":43,"y10":46,"y11":45,"y12":43,"x12":94,"x11":92} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":91,"y9":43,"y10":46,"y11":45,"y12":43,"y13":42,"x12":94,"x11":92,"x13":95} {"p0":7,"y0":-2,"x6":47,"y1":0,"x7":49,"y2":6,"y3":11,"x4":45,"x5":46,"y4":41,"y5":41,"type":"PencilCurve","x2":7,"y6":41,"x3":12,"y7":42,"x0":1,"y8":43,"x1":4,"x9":51,"id":8,"x8":50,"x10":54,"y9":43,"y10":43,"y11":40,"x11":97} {"p0":7,"y0":-2,"x6":100,"y1":0,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":37,"x3":12,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":100,"y1":0,"x7":100,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":37,"x3":12,"y7":36,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":100,"y1":0,"x7":100,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":37,"x3":12,"y7":36,"x0":1,"y8":32,"x1":4,"id":8,"x8":101} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":102,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":31,"x0":1,"x1":4,"id":8} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":102,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":31,"x0":1,"y8":28,"x1":4,"id":8,"x8":104} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":102,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":31,"x0":1,"y8":28,"x1":4,"x9":105,"id":8,"x8":104,"y9":27} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":102,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":31,"x0":1,"y8":28,"x1":4,"x9":105,"id":8,"x8":104,"x10":105,"y9":27,"y10":26} {"p0":7,"y0":-2,"x6":57,"y1":0,"x7":59,"y2":6,"y3":11,"x4":19,"x5":55,"y4":20,"y5":43,"type":"PencilCurve","x2":7,"y6":43,"x3":12,"y7":43,"x0":1,"y8":25,"x1":4,"id":8,"x8":106} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":107,"y9":45,"y10":23} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47,"y11":47,"y12":22,"x12":109,"x11":80} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47,"y11":47,"y12":22,"y13":20,"x12":109,"x11":80,"x13":111} {"p0":7,"x6":22,"x7":24,"x4":19,"x5":21,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4,"id":8,"x10":79,"y9":45,"y10":47,"y11":47,"y12":22,"y13":20,"y14":18,"x12":109,"x11":80,"x14":111,"x13":111,"y0":-2,"y1":0,"y2":6,"y3":11,"y4":20,"y5":22,"y6":23,"y7":25,"y8":26,"x9":76,"x8":25} {"p0":7,"x6":22,"x7":24,"x4":19,"x5":21,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4,"id":8,"x10":79,"y9":45,"y10":47,"x15":111,"y11":47,"y12":22,"y13":20,"y14":18,"x12":109,"y15":17,"x11":80,"x14":111,"x13":111,"y0":-2,"y1":0,"y2":6,"y3":11,"y4":20,"y5":22,"y6":23,"y7":25,"y8":26,"x9":76,"x8":25} {"p0":7,"x6":22,"x7":24,"x4":19,"x5":21,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4,"id":8,"x10":79,"y9":45,"x16":112,"y10":47,"x15":111,"y11":47,"y12":22,"y13":20,"y14":18,"x12":109,"y15":17,"x11":80,"y16":13,"x14":111,"x13":111,"y0":-2,"y1":0,"y2":6,"y3":11,"y4":20,"y5":22,"y6":23,"y7":25,"y8":26,"x9":76,"x8":25} {"p0":7,"y0":-2,"x6":22,"y1":0,"x7":24,"y2":6,"y3":11,"x4":19,"x5":21,"y4":20,"y5":22,"type":"PencilCurve","x2":7,"y6":23,"x3":12,"y7":25,"x0":1,"y8":26,"x1":4,"x9":76,"id":8,"x8":25,"x10":79,"y9":45,"y10":47,"y11":47,"y12":47,"y13":11,"x12":81,"x11":80,"x13":112} {"p0":7,"x6":22,"x7":24,"x4":19,"x5":21,"x2":7,"type":"PencilCurve","x3":12,"x0":1,"x1":4,"id":8,"x10":79,"y9":45,"y10":47,"y11":47,"y12":47,"y13":11,"y14":10,"x12":81,"x11":80,"x14":114,"x13":112,"y0":-2,"y1":0,"y2":6,"y3":11,"y4":20,"y5":22,"y6":23,"y7":25,"y8":26,"x9":76,"x8":25} {"id":9,"type":"PointFree","y":35,"x":156} {"id":10,"type":"PointFree","y":-19,"x":251} {"id":11,"p2":10,"p1":9,"type":"PencilRect"} {"id":12,"type":"PointFree","y":-43,"x":408} {"id":13,"type":"PointFree","y":13,"x":519} {"id":14,"p2":13,"p1":12,"type":"PencilFreeLine"} > Wicket based Whiteboard should provide Undo feature > --------------------------------------------------- > > Key: OPENMEETINGS-733 > URL: https://issues.apache.org/jira/browse/OPENMEETINGS-733 > Project: Openmeetings > Issue Type: Sub-task > Components: HTML5, UI > Affects Versions: 3.0.0 Apache Release > Reporter: Andun Sameera Liyanagunawardana > Assignee: SebastianWagner > Fix For: 3.0.0 Apache Release > > > Wicket based Whiteboard should provide Undo feature -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira