In XWiki, everything is historized and saved under Version Control.

History View

You can see the version of a document by looking at "History" tab the bottom of the document. For example, on the following document the version is 3.1 and has last been modified by "Administrator". You can also see who last modified the document and the time the change was performed at the top of the page:

versioncontrol1.png

versioncontrol2.png
"History" as it appears using the Flamingo Skin

As the image shows, the document version consists of two numbers, separated by a dot: <Major>.<Minor>. The XWiki versioning system allows the distinction between major and minor edits. When editing a page, the user has the option to decide whether his edit brings major or minor changes to the document. Saving a major version will increase the first component and reset the second to "1", while a minor version will just increase the second component.

Clicking on the "History" button when viewing a page displays all the versions that were previously saved:

Besides listing the document versions, the history page can be used to perform other actions as well:

  • view a previous version of the document
  • compare any two versions
  • set an older version as the current version (rollback); available only if the user has edit rights on the document
  • delete a version completely from the history (useful for removing spam, for example); available only if the user has administration rights
  • delete an entire version range from the history; also available only if the user has administration rights

By default, minor edits do not appear in the document history. The option "Show minor edits" will list all the versions, including minor ones.

Since 9.4, the history also displays the standard version of the document, as defined by the installed extension (if the document come from an extension):
extensionhistory-list.png

Comparing Versions

The comparison between two document versions highlights the differences between document properties (title, content, parent, syntax, etc.), attachments, objects and class properties.

In order to compare 2 versions you need to select one of the radio buttons corresponding to the version from which you want to start the comparison. These are the buttons located in the "From" column. You will then need to select the button corresponding to the version you want to compare the previously selected version against. These buttons are located in the "To" column. You may choose to include minor edits in the comparison. After selecting the 2 versions you wish to compare you will need to click on "Compare selected versions". Depending on the changes you have made you will get a result similar to this: 

versioncontrol3.png
"Changes for document" as they appear using the Flamingo Skin 

Note that the comparison starts with a Summary (7.0RC1+) that groups the changes in 4 categories: Page Properties, Attachments, Objects and Class Properties. A category is displayed only if there are related changes. Except for 'Page properties', the rest of the categories can be expanded to see which items have been added, deleted or modified. Each item provides a link to the details that are listed below the Summary.

The comparison details lists all the items (page properties, attachments, objects, class properties) that have been added, deleted or modified. For each item you can see what properties have been modified and the exact modifications. For text attachments you can even see the changes made to the attachment content between two versions of the attachment (7.0RC1+). The changes made to the object properties of type Password and Email are obfuscated for privacy reasons.

Clicking on either one of the 2 compared version numbers will display that version of the document.

Viewing Previous Versions

By clicking on a version from the Version column of a document's History tab you will be able to view that document's content, as it was in the selected version:

view-version.png

In this view, most actions on the page will actually affect the latest version of the page. However, the following actions (under the "More Actions" menu) will target the current version of the document you are viewing:

  • Export
  • Print Preview
  • View Source

Blame View

Since 9.7RC1, when viewing the source of a document (by going to More Actions > View Source on a document), you can enable the blame view by clicking on Show last authors button. In this mode, each line of the document's content is annotated with the last author that modified it and the revision in which this modification was introduced. The blame view also works when viewing the source of a document revision (other than the latest one) so it can be accessed at any point in the history of a document.

codeViewer-blameView.png

Hovering the avatar and the revision number will display the author's name and the date and time when the line was changed. Multiple lines can be grouped to express the fact that they were all modified within the same revision (by the same author and at the same time).

codeViewer-blameView-author.png
codeViewer-blameView-versionAndDate.png

Clicking on the revision number will display the changes view, with all the modifications performed in that particular change by its author.

codeViewer-clickingTheVersion.png

At this point, if you still have not found the change you were looking for related to a particular line of content, you could continue the search by clicking on the parent (left) version, opening the blame view for it and repeating the cycle. This way you can drill down the history and focus on the content and find out, for example, when exactly was a line added, in which context and by whom.

Tags:
Created by Vincent Massol on 2017/09/06
   

Get Connected