Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Side by side comparison of two revisions in an XML or JSON resource #84

Open
JohannesLichtenberger opened this issue Sep 26, 2019 · 8 comments

Comments

@JohannesLichtenberger
Copy link
Member

@JohannesLichtenberger JohannesLichtenberger commented Sep 26, 2019

Showing the diffs for instance...

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Sep 28, 2019

@parul-sinha

This comment has been minimized.

Copy link

@parul-sinha parul-sinha commented Oct 17, 2019

Hi, I am interested in working on this issue. Can you please elaborate on the problem statement. What exactly do you expect. Do you want a front-end visualization of differences between 2 consecutive revisions of XML/JSON file or you want a backend functionality for the same.

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Oct 17, 2019

Frontend visualization. That said we should decide on a JSON format to describe the differences, which are going to be computed by SirixDB:

sirixdb/sirix-web-frontend#12

Let's probably discuss the matter in the other issue?

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Oct 17, 2019

@parul-sinha are you interested in the front-end or backend stuff regarding this issue? As mentioned I think in the backend mainly a format which describes the changes is missing.

@parul-sinha

This comment has been minimized.

Copy link

@parul-sinha parul-sinha commented Oct 17, 2019

I am interested in backend development. From what I understand, we need to create a data-structure to store this data.

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Oct 17, 2019

Hm, yes, basically a JSON format probably. Or something like delta XML. For XML resources a diffing function can be used which creates an XQuery Update Script:

https://github.com/sirixdb/sirix/blob/master/bundles/sirix-xquery/src/main/java/org/sirix/xquery/function/sdb/diff/Diff.java

I've documented the diffing API a little bit here: https://www.baeldung.com/sirix (Section 8)

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Oct 17, 2019

The JSON format, which describes the diff between any two revisions (not necessarily consecutive) then might for instance be used by our upcoming web frontend fod the side by side comparison...

@JohannesLichtenberger

This comment has been minimized.

Copy link
Member Author

@JohannesLichtenberger JohannesLichtenberger commented Oct 17, 2019

Another thing would be that we could store the inserted, updated and deleted nodes (only the node keys ordered numerically and based on a delta encoding and the type of operation (insert/update/delete)) in an index-structure, such that comparing consecutive revisions is super cheap.

But I think a serialization format now would be more important in the first place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.