Summary: Bugs in MetadataEdit extension
           Product: MediaWiki extensions
           Version: any
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: need-review, patch
          Severity: normal
          Priority: Normal
         Component: [other]
        Depends on: 8790

+++ This bug was initially created as a clone of Bug #8790 +++

I have discovered a number of bugs in the $wgUseMetadataEdit code:

- "show changes" on the edit page does not include the metadata

- metadata edits can be lost or misordered during section edits
  - the current code will simply stuff the new/edited metadata into 
    the end of the section being edited, while leaving any existing
    metadata at the end of the article.

- the parser that extracts metadata appears to have a condition that
  can cause the loss of content from previous revisions.
  - i did not actually experience this bug, but in trying to understand 
    how the parser works, i discovered that it sometimes fails to 
    un-explode the content, which could in theory replace text with "Array"
    in the articles.  Look for the "$y = implode("]]", $y)" on line 70 of
    my patch.

- metadata ordering can change between normal edits, which makes
  history diffs messy.
  1. edit the page.  add a new whitelist metadata field to the 
     normal textbox.  save the page.  Note in the source of the new
     revision that your metadata is still in the middle of the article
  2. edit the page again.  add some new content in the normal textbox.
     save the page.  Note that the source of the new revision now has
     the metadata from step 1 located at the end of the text, rather
     than in the middle of it.

I believe that I have fixed these bugs, and I will attach the patch in
a moment.  The patch also includes two new hooks, which allow
an extension to replace both the metadata parser and the metadata 
textbox on the EditPage.  I believe that this patch will have zero 
impact on any installations that are not using $wgUseMetaDataEdit.

Configure bugmail:
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.

Wikibugs-l mailing list

Reply via email to