Top Banner
DITA branch and merge: A dream or a nightmare? Tristan Mitchell DeltaXML Jean-François Ameye IXIASOFT
18

DITA branch and merge: a dream or a nightmare?

Jan 26, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DITA branch and merge: a dream or a nightmare?

DITA branch and merge:A dream or a nightmare?

Tristan MitchellDeltaXML

Jean-François AmeyeIXIASOFT

Page 2: DITA branch and merge: a dream or a nightmare?

Unrealistic dreams

The Perfect Document

Correct first time and never needs changing

Page 3: DITA branch and merge: a dream or a nightmare?

Reality kicks in

Simple updates

v1 v1.1 v1.3v1.2

Change tracking and version diffing suffice

Page 4: DITA branch and merge: a dream or a nightmare?

The nightmare begins

v1 v1.1 v1.2

v2 v2.1

v3

Managing multiple branches

Page 5: DITA branch and merge: a dream or a nightmare?

The nightmare begins

Original image: http://nvie.com/posts/a-successful-git-branching-model/

Page 6: DITA branch and merge: a dream or a nightmare?

Dreaming the dream

Page 7: DITA branch and merge: a dream or a nightmare?

Shared nightmares

Page 8: DITA branch and merge: a dream or a nightmare?

Banishing the nightmare

Well-formed Valid Fewer conflicts

Cherry pick Auto-resolve GranularityIcons made by Freepik from www.flaticon.com are licensed under CC BY 3.0

Page 9: DITA branch and merge: a dream or a nightmare?

The dream becomes reality

Overview of branch merging in IXIASOFT DITACMS

Page 10: DITA branch and merge: a dream or a nightmare?

Implementing DeltaXML Merge

inIXIASOFT DITA

CMSCMS/DITA North America 2015

Page 11: DITA branch and merge: a dream or a nightmare?

Four steps process

1. Find files that have changed between versions2. Run DeltaXML Merge on changed files3. Transform resulting merge document to let the

user select the changes to apply4. Save merged file in the CMS

Page 12: DITA branch and merge: a dream or a nightmare?

Run DeltaXML Merge

• The DITA CMS provides three files to DeltaXML: the common ancestor, the source and the target

• For now, we’ve only implemented the merge feature for two versions only

Page 13: DITA branch and merge: a dream or a nightmare?

Run DeltaXML Merge

• DeltaXML returns a “merged file”, which contains additional XML markup to indicate the changes The merged file contains non-DITA markup that indicate

the changes as well as their source

Page 14: DITA branch and merge: a dream or a nightmare?

DeltaXML merged file

Page 15: DITA branch and merge: a dream or a nightmare?

Transform merged file

• The merged file can be transformed back into standard DITA by using XSLT Whether to “accept” the changes automatically, or how to

present them to the user, is up to the application• In the DITA CMS, we decided to transform the

changes into track changes information for the XML editor, and let the user accept them In this demo, we have transformed the changes into

oXygen track changes processing-instructions.

Page 16: DITA branch and merge: a dream or a nightmare?

Merged file presented to the user

Page 17: DITA branch and merge: a dream or a nightmare?

Dreaming new dreams

What other possibilities could merge provide?

TranslationConcurrent edit

Travelling draftRecombine variants

Page 18: DITA branch and merge: a dream or a nightmare?

Summary

Simple workflowsUse change tracking and diffing to manage change

Complex branchingUse an XML specific merge tool to move changes between branches

Merge tool requirementsWell-formed resultsValid resultsMinimize conflictsCherry-pick changesAuto-resolve conflictsConfigurable granularity

Questions?