Wiki source code of History

Last modified by Vincent Massol on 2025/07/11

Hide last authors
Vincent Massol 30.2 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
Vincent Massol 30.4 5 In XWiki, everything is historized and saved under Version Control.
6
Vincent Massol 30.3 7 = History View =
8
Vincent Massol 90.1 9 When looking at a page History, you can see all the changes made across time, who last modified it and the date and time the changes were performed:
Vincent Massol 5.3 10
Silvia Macovei 12.4 11 {{image reference="versioncontrol1.png"/}}
Vincent Massol 1.1 12
Vincent Massol 62.1 13 You can see the versions of a page by looking at the "History" tab at the bottom. For example, on the following screenshot the last version is 8.1 and has been modified by "Administrator".
14
15 {{image reference="extensionhistory-list.png"/}}
Silvia Macovei 16.1 16 //"History" as it appears using the Flamingo Skin//
Silvia Macovei 11.6 17
Vincent Massol 90.1 18 The history displays, on the first line, the standard version of the Page, as contained by the installed Extension (if the Page comes from an extension), in that installed version. This can be different from the first version of the Page (v1.1) since the Page could have had edits before an extension was installed that modified the Page or if the extension has been upgraded.
Sergiu Dumitriu 6.1 19
Vincent Massol 90.1 20 The "Summary" displays the description added when editing, describing the changes made to the Page in each version. This improves the clarity of the Page’s evolution.
21
22 When viewing a previous version of the page, the content of that previous version is rendered in a special "restricted" mode that prevents the execution of script macros and other dangerous macros to avoid that old code that might have contained problems is executed even though it has been fixed in the current version of the page. This may lead to errors being displayed and other differences in behavior to the current version.
23
24 == Major and Minor Versions ==
25
26 The Page version consists of two numbers, separated by a dot: ##<Major>.<Minor>##. The XWiki versioning system allows the distinction between major and minor edits. Saving a major version will increase the first number and reset the second to "1", while a minor version will just increase the second number.
27
Eleni Cojocariu 89.1 28 Minor edits indicate that superficial changes were made to the Page. Such changes may include, but are not restricted to: spelling error corrections, text rearrangements, formatting. It is the responsibility of whoever saves the Page (wether a user manually, by selecting the "Minor edit" option when [[editing a Page>>XS.Extensions.XWikiStandardFlavor.User.EditPage.WebHome]], or programmatically via an API) to distinguish between major and minor changes.
Vincent Massol 1.1 29
Eleni Cojocariu 89.1 30 The consequences of choosing "Minor edit":
Vincent Massol 1.1 31
Eleni Cojocariu 89.1 32 * The changes won't trigger a notification in the [[Notifications Application>>Documentation.UserGuide.Features.Notifications#HNotificationsApplication]] that tracks Page updates.
33 * The changes will be excluded from the [[RSS feeds>>Documentation.UserGuide.Features.Notifications#HRSSFeeds]].
34 * Readers reviewing the Page history will be able to filter out the small fixes.
35
36 Marking a change as minor helps avoid unnecessary notifications and keeps the Page history clearer, as by default, minor changes do not appear in the Page history. The option "Show minor edits" will list all the versions, including those marked as minor.
37
Vincent Massol 90.1 38 == Actions ==
Eleni Cojocariu 89.1 39
40 Besides listing the Page versions, the history Page can be used to perform other actions as well:
41
42 * View a previous version of the Page
Vincent Massol 62.1 43 * Compare any two versions
Eleni Cojocariu 89.1 44 * Set an older version as the current version (rollback); available only if the user has edit rights on the Page
Vincent Massol 62.1 45 * Delete a version completely from the history (useful for removing spam, for example); available only if the user has administration rights
46 * Delete an entire version range from the history; also available only if the user has administration rights
Silvia Macovei 10.1 47
Vincent Massol 30.3 48 = Comparing Versions =
Eduard Moraru 26.1 49
Marius Dumitru Florea 72.1 50 The comparison between two page versions can be done either on the **raw** content or (since XWiki 11.6RC1) on the **rendered** content.
Vincent Massol 1.1 51
Marius Dumitru Florea 72.1 52 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".
Silvia Macovei 11.6 53
Marius Dumitru Florea 73.1 54 Clicking on either one of the 2 compared version numbers (shown on the header) will display that version of the page.
Marius Dumitru Florea 72.1 55
Jean-Sébastien Dennebouy 76.1 56 == Raw Changes ==
Marius Dumitru Florea 72.1 57
58 The raw changes between two page versions highlights the differences between page properties (title, content, parent, syntax, etc.), attachments, objects and class properties. Depending on the changes you have made you will get a result similar to this:
59
Silvia Macovei 12.4 60 {{image reference="versioncontrol3.png"/}}
Vincent Massol 62.1 61 //"Changes for page" as they appear using the Flamingo Skin //
Marius Dumitru Florea 20.1 62
Vincent Massol 80.3 63 Note that the comparison starts with a Summary 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.
Marius Dumitru Florea 20.1 64
Vincent Massol 80.3 65 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. The changes made to the object properties of type Password and Email are obfuscated for privacy reasons.
Thomas Mortagne 23.1 66
Marius Dumitru Florea 72.1 67 == Rendered Changes ==
Eduard Moraru 30.1 68
Vincent Massol 80.2 69 You can view how the page has changed visually from one version to another. The changes are computed on the rendered page content. The parts of the content that have not been modified are hidden by default but you can click on each ellipsis to view more context or you can use the "Show context" button to view the entire page content.
Marius Dumitru Florea 72.1 70
Michael Hamann 80.1 71 Similar to the behavior when viewing a previous version of a page, the content of previous versions is executed in a "restricted" mode that might lead to errors and other differences.
72
Marius Dumitru Florea 72.1 73 {{image reference="renderedChanges.png"/}}
74
Adel Atallah 70.1 75 == Show next/previous changes ==
76
Vincent Massol 80.2 77 You can change the versions directly while comparing two page versions, using the arrows depicted in the image below.
Adel Atallah 70.1 78
Adel Atallah 71.1 79 By clicking on the leftmost arrow, you will see the previous change made before the "From" version. For example, if the current comparison is between revision 4.1 and 6.1, clicking the left arrow would compare revisions 3.1 and 4.1 (assuming there are no minor versions). Similarly, the next change will be displayed by clicking the rightmost arrow (e.g. clicking the right arrow while comparing revision 3.1 and 5.1 will lead to 5.1 and 6.1 comparison). You can also use the arrows around a version to increase or decrease the associated version number.
Adel Atallah 70.1 80
Vincent Massol 90.1 81 {{image reference="change-versions.png"/}}
Adel Atallah 70.1 82
Vincent Massol 30.3 83 = Viewing Previous Versions =
Eduard Moraru 26.1 84
Vincent Massol 62.1 85 By clicking on a version from the ##Version## column of a page's ##History## tab you will be able to view that page's content, as it was in the selected version:
Eduard Moraru 26.1 86
Eduard Moraru 28.1 87 {{image reference="view-version.png"/}}
88
Vincent Massol 62.1 89 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 page you are viewing:
Eduard Moraru 28.1 90
91 * Export
92 * Print Preview
93 * View Source
Eduard Moraru 35.2 94
95 = Blame View =
96
Vincent Massol 80.3 97 When viewing the source of a page (by going to ##More Actions > View Source## on a page), you can enable the blame view by clicking on ##Show last authors## button. In this mode, each line of the page'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 page revision (other than the latest one) so it can be accessed at any point in the history of a page.
Eduard Moraru 35.2 98
Vincent Massol 36.1 99 {{image reference="codeViewer-blameView.png"/}}
Eduard Moraru 35.2 100
101 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).
102
Vincent Massol 36.1 103 {{image reference="codeViewer-blameView-author.png"/}}
104 {{image reference="codeViewer-blameView-versionAndDate.png"/}}
Eduard Moraru 35.2 105
106 Clicking on the revision number will display the changes view, with all the modifications performed in that particular change by its author.
107
Vincent Massol 36.1 108 {{image reference="codeViewer-clickingTheVersion.png"/}}
Eduard Moraru 35.2 109
110 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.

Get Connected