Fandom

Wikia Developers Wiki

FileUsageAuto-update

847pages on
this wiki
Add New Page
Talk97 Share

FileUsageAuto-update helps to mitigate the time consumption of File namespace maintenance by updating file links automatically. This script adds buttons to Special:MovePage and adds a "Queue" option to the Edit drop-down on any File namespace page. You can rename and update files individually, or rename files in batches and update all of the file links at the same time (to group edits to the same pages together) using the queue. Additionally you can add broken file links to the queue to be updated. This script works best when used as a Gadget, but can be used in personal or wiki-wide Wikia.js regardless.

Installation

See also: Help:Including additional CSS and JS, Help:Advanced CSS and JS
dev:FileUsageAuto-update/code.js
  • For personal use, add the code snippet below to your global.js page (for use on all wikis) or your common.js page on your wiki (for use on a single wiki). Note that personal JS must be enabled for your account.
importArticles({
    type: 'script',
    articles: [
        'u:dev:FileUsageAuto-update/code.js',
    ]
});
importArticles — Best Practices for installing JavaScript on Fandom
The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.
If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.
Multiple imports — messy and slow One import — clean and efficient
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
    type: 'script',
    articles: [
        'u:dev:AjaxRC/code.js',
        'MediaWiki:localScript.js',
        'u:dev:FloatingToc/code.js',
        'u:wikiname:page1.js',
        'u:wikiname:page2.js'
    ]
});
Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.
But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.

Requirements

This is a maintenance script that involves renaming images. By default, only administrators can rename images on a wiki. If you don't know if you're able to rename images, you should be able to see "Rename" in the Edit drop-down menu on any File page to confirm.

Additionally, this script is considered semi-automated editing. Do not use this script without first reviewing your wiki's policies regarding automated editing and obtaining necessary approvals and/or user rights.

Customization

At the moment you are able to change the button text, add a message to appear on the file rename page, change the edit summary for pages that the links are updated on, and change the API request delay. All of these parameters are optional, but if specified must come before your importArticles function. Take note that some values specified must be enclosed inside of the quotation marks. Below are the default values and an example of how to use them. For API request delay, the lower the value the higher chance there is of getting random API errors when using this script.

LIRoptions = {
    bottomMessage: '',
    editSummary: 'Updating file links (automatic)',
    singleButtonText: 'Rename and update',
    queueButtonText: 'Add to queue',
    delay: 1000
}

Other features

This script is able to add buttons in place of placeholders to add things to the queue en masse using things like DPL.

Format:

<div class="fuau" data-fuau-from="Current file name.png" data-fuau-to="New file name.png">If you are seeing this, please install [[w:c:dev:FileUsageAuto-update|FileUsageAuto-update]].</div>

By filling in the current file name and new file name with DPL, you can make a list of file replacements and can also add them to the queue from the same page without navigating to Special:MovePage. Note that you should review the queue before executing it to be sure that there are no mistakes. You can also omit or leave the data-fuau-to attribute blank to manually input the name that you want an image moved to upon clicking the button.

Example

<dpl>
namespace = File
ignorecase = false
titleregexp = ^Pinkie
nottitleregexp = Pinkie_Pie
replaceintitle = /Pinkie/,Pinkie Pie
format = ,#<div class="fuau" data-fuau-from="{{PAGENAMEE:%PAGE%}}" data-fuau-to="{{PAGENAMEE:%TITLE%}}">If you are seeing this, please install [[w:c:dev:FileUsageAuto-update|FileUsageAuto-update]].</div> [[%PAGE%]] → [[:File:%TITLE%]]\n,
count = 100
</dpl>

Compatibility

Works in all major browsers that support Storage.

Gallery

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.