XWiki Platform
  1. XWiki Platform
  2. XWIKI-14048

XWiki#CopyDocument() may wrongly create a revision and overwrite modification date when used with filesystem attachments

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 8.4.4, 9.1
    • Fix Version/s: 9.10-rc-1
    • Component/s: Old Core
    • Labels:
      None
    • Difficulty:
      Unknown
    • Documentation:
      N/A
    • Documentation in Release Notes:
      N/A
    • Similar issues:

      Description

      The issue only happen when using the Filesystem attachement versioning and the XWiki#CopyDocument() is used with resetCreationData set to false.
      With this argument, the copied document is supposed to be identical to the original document without any trace of the copy action, exact same dates and history.
      In the process of the FilesystemAttachmentVersioningStore, the XWikiAttachment#setDoc() method is called (see https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-store/xwiki-platform-store-filesystem-oldcore/src/main/java/org/xwiki/store/legacy/doc/internal/ListAttachmentArchive.java#L331) causing the XWikiDocument#setMetadataDirty(true) to called on the copied document (see https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/doc/XWikiAttachment.java#L453).

      Since the metadata dirty get set, the save of the copy cause the modification date to be changed and a new revision to be created.

      $xcontext.getXWiki().copyDocument($sourceRef, $targetRef, $NULL, false, true, false, $xcontext.context)
      

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              Thomas Mortagne
              Reporter:
              Denis Gervalle
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: