12.07.2015 Aufrufe

Dernière édition Attention: Le pdf pèse environ 17 - BFH-TI - Berner ...

Dernière édition Attention: Le pdf pèse environ 17 - BFH-TI - Berner ...

Dernière édition Attention: Le pdf pèse environ 17 - BFH-TI - Berner ...

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

BIBEBUVABSc in Computer ScienceDelta.js – A Diff and Patch Engine for DOM TreesWeb and Business Applications / Thesis Advisor: Prof. Dr. Olivier BibersteinExpert: Peter MattiDelta.js is a JavaScript framework capable of detecting changes between two versions of a structureddocument. Furthermore it provides methods to apply those changes back to the original document or aslightly modified version thereof. Our implementation runs in any modern web browser as well as on Java-Script based server software like node.js and on the command line. HTML and any XML based documentformats are supported, including SVG.Lorenz SchoriApplication IndependentVersion ControlWhen different authors are workingon the same document, theability to track and manage changesis essential. Existing solutionsoften are tied to the editor application,i.e. the word processor orspreadsheet software. As a consequencethe involved editors areforced to use the same applications.This approach works fine forsmall teams collaborating in amanaged office <strong>environ</strong>ment. Butsuch a restriction might result inmajor problems when a workflowrequires integration of third partysystems.In the software industry, distributedteams rely heavily on genericversion control systems, which arecapable of tracking and mergingchanges to source code. Thosesystems work independently ofthe tools and editors used by theprogrammers, as long as thesource code is kept in plain textfiles.Realtime preview when applying a setof changes to an SVG image.Because more and more vendorsare adopting XML as the basis oftheir own file formats, a more genericapproach to change managementof structured documentsindependent of the editor applicationbecomes realistic. The algorithmsimplemented in Delta.jsmay form the basis for a changemanagement system for structureddocuments.Diff and Patch for StructuredDocumentsA number of algorithms suitablefor detecting changes in structureddocuments have been studiedfor this thesis. Based on ourresearch, we›ve chosen XCC (XMLChange Control) recently releasedby Sebastian Rönnau and Uwe M.Berghoff as the starting point forour own implementation. The mainassumptions of the chosen approachare:– Document order is important.– Interesting content is containedwithin leaf-nodes.While we maintained the basicconcepts of the XCC-diff algorithm,our version departs significantlyfrom the original implementationin some parts. As a resultthe runtime of our implementationis easier to predict in some cases.XCC also proposes a file formatsuitable for storing a set of changesinto a file, commonly referred toas a patch. Along with the changedcontent, a context fingerprint representingthe neighborhood ofwhere the change took place inthe original document is recordedin the patch. When a patch ismerged back into the original documentor a modified version thereof,the patching algorithm is capableof verifying and adjusting thelocation of a change by comparingnearby content with the contextfingerprint.In order to demonstrate the capabilitiesof the Delta.js frameworkwe provide a set of browser basedJavaScript applications. Whensupplied with two versions of anXML file, our application computesthe changes between them. Thenthe original source code is displayedand changed parts arehighlighted. For certain file formatslike HTML and SVG a life previewis available where the impact ofindividual changes can be monitoredin realtime.Delta.js is publicly available fromhttp://github.com/znerol/nodedelta180 ti.bfh.ch

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!