From Wikimedia Commons, the free media repository
(Redirected from Commons:VFC)
Jump to navigation Jump to search
Current version:

What is VFC?[edit]

“Perform batch task” link in the toolbox

VisualFileChange (a.k.a. AjaxMassDelete), adds a “Perform batch task” link to your toolbox on wiki pages. Clicking this link allows you to apply actions to some or all of one user's uploads, files in a category, or files displayed in a gallery. Actions include the creation of mass-deletion requests, the insertion of tags or free text, and customized text substitutions (regular expressions are supported).


See also Help:AjaxQuickDelete for the basics of the automatic deletion requests or “tag file & notify uploader”.

Step 0: How to Install[edit]

VisualFileChange is a JavaScript tool. You do not have JavaScript enabled.

To install it:

You should now see a Perform batch task link in your toolbox. Clicking it will launch VisualFileChange.

To change the Perform batch task text, add window.vFC_PortletText = '<your new portlet text>'; to your common.js or <skin>.js

The start-dialog prompts for the target

Step 1: Insert contributor[edit]

Script prompts for the contributor, a page name, a category, or a search query. Make sure you spell it correctly.

Step 2: Select action, insert reason, replace and pattern, tags or free text[edit]

OTRS-Members: first fill in the ID or URL and then switch to OTRS- remove tags. With OTRS- add you can add any template to the permission section without removing speedy-deletion- and related-tags.

Check Clean permission-section? to remove other stuff from the permission section, if it exists.

Step 3: Load as many files as you want to change[edit]

Only files that are selected and in the dialog will be changed. To get more files, scroll down or click on "more". However, do not crash your browser loading too many files. Instead, you can continue where you stopped using the "more options" in the start dialog or the automatically created profile.

Step 4: Select items to perform the action on[edit]

There are only items listed, originally uploaded by the specified user. If there are deleted images, the numbers are discontinuous. Script will detect a lot of problem- and OTRS-tags and common license-types and show them under each thumbnail. Example

Just want to pick some files with or without a category? Want to select files uploaded between xx and yy because you got OTRS permission for these files? No problem, click on the select link

Cute select – Filter loaded files[edit]

If you do not specify anything, everything will match and all checkboxes in the thumbnail-dialog will get the state of the one in this dialog. This allows you both, selecting and deselecting.

VisualFileChange supports multiple RegEx-replace and offers methods to preserve certain areas. In addition, you can preview the changes before they are made.
RegExpr /R/

A RegExpr also known as regular expression or regex is a pattern used to match more than one "string" (e.g. the image text or a title). They can be really helpful anywhere, so, if you are unexperienced don't be lazy and learn them; the earlier, the better.

In the cute selection dialog, insert the RegExpr without flags (they are currently not supported) (Test.*); however when performing a custom replace, insert the RegExpr with flags (/\{\{FlickrView.*\|\d{4}\}\}/ig). Don't forget to escape "special characters".

Please test your RegExpr before using and use the opportunity to examine the changes the current set of replacement rules would cause to avoid undesired replacements. You can use (or similar tools) to test your RegExpr.

When using regular expressions, VFC follows the same convention as Perl, PHP, and others that in the replacement string, $0 matches the whole matched string, /[|]\s*[Ss]ource\s*=\s*([^|}]*) on MyCoolWebsite/ matches the first parenthesized expression, | Source = {{MyCoolWebsite|$1}} the second parenthesized expression, etc. So, for example, the regular expression /[|]\s*[Ss]ource\s*=\s*([^|}]*) on MyCoolWebsite/ with a replacement string | Source = {{MyCoolWebsite|$1}} would turn |source=FOO.BAR on MyCoolWebsite</nowiki> into | Source = {{MyCoolWebsite|FOO.BAR}}.

Reference/ Examples: de, en, en

Range selection – Multiple files between two files[edit]

Select file A, hold down  Shift while selecting file B. All files between the two files now get the state of file B.

Custom replace: Flags[edit]

  • If /R/ is set, the pattern is treated as a regular expression. If the background behind the button is red, it is very likely that you forgot to tick this button. If the background behind the pattern field is red, you ticked this button but the pattern is not a valid regular expression.
  • If %V% is set, VisualFileChange looks for variables (e.g. File metadata like %GPSLatitude% or the file name %PAGENAME%) in "Text to insert instead". This option is on-by-default. Examples.

Step 5: Execute[edit]

Script will show you what it is currently doing. Finally it prompts you where to go. Before executing, the script saves your input into an auto-profile. This allows you to continue at the last loaded files. If you re-launch VisualFileChange and insert the same target, a big yellow box will appear. Just click the link for convenient continuing.

The advanced configuration. Here you can play around with the defaults. Do not forget to permanently save them.

Custom settings[edit]

VisualFileChange allows you to customize lots of features. It is not recommended to drastically increase the numbers of files to be loaded when scrolling down but it can be helpful in some cases.

If you send too many simultaneous requests to the API, errors may rise. Users who are not logged in should only send one request at one time. In case of errors, set "ask for confirmation after ... edits" to less than 8 and wait a while when the dialog prompts you whether to continue. We regret this limitation but cannot change it because it is on the server side. There are also much more edit restrictions for users who are not logged in.

Further information[edit]

Developing and finding and fixing Bugs[edit]