MassEdit est un automatiseur de tâches et outil d'édition de masse écrit en JavaScript (compatible avec l'ES5). Son développement a été fait dans l'intention de rendre accessibles à tous les contributeurs les capacités d'édition de masse de logiciels ou robots spécifiques comme AutoWikiBrowser et Pywikibot ainsi que l'outil trouver-et-remplacer (find-and-replace en anglais) de l'éditeur.
Exécuté en tant qu'application intégrée au navigateur, MassEdit offre aux utilisateurs la possibilité d'automatiser des tâches d'édition et de maintenance autrement fastidieuses. Il peut créer un nouvel ensemble de pages/modèles/catégories, ajouter ou supprimer du contenu de pages existantes, catégoriser ou recatégoriser des pages en masse, rechercher et remplacer à volonté du contenu sélectionné, envoyer des messages aux utilisateurs, générer des listes de pages appartenant à des catégories/espaces de nom ou générer des pages contenant un certain modèle. En plus de fournir une liste de pages, les utilisateurs peuvent aussi entrer les noms d'une catégorie ou d'un espace de noms pour modifier leurs pages.
Le script utilise un certain nombre d'autres dépendances externes également présentes sur le wiki Dev. En plus de celles qui sont chargées par défaut dans MediaWiki, MassEdit utilise Modal.js, Placement.js, I18n-js, Colors.js, et WgMessageWallsExist pour la fonctionnalité permettant de standardiser la conception et de fournir un support i18n plus compréhensible. Étant donné le potentiel abus sous forme de vandalisme ou spam, cette application peut seulement être utilisée par le staff local (c'est-à-dire les administrateurs, modérateurs et les bots) et les groupes globaux de modération.
Installation
Configuration
Certains éléments du script de MassEdit peuvent être configurés en fonction des envies des utilisateurs via l'emploi d'une variable nommée window.MassEditConfig. Bien que les utilisateurs sont libres d'ajuster l'intervalle auquel le script modifie les pages, les intervalles plus rapides que les limites imposées aux utilisateurs et aux bots seront ajustés aux intervalles maximum internes de 1500 millisecondes pour les utilisateurs et 750 pour les robots. Les utilisateurs peuvent également modifier l'emplacement par défaut du bouton "MassEdit" utilisé pour ouvrir la fonctionnalité et commencer à utiliser le script. Comme ce script supporte tous les emplacements approuvés de Placement.js's, les utilisateurs peuvent choisir n'importe quel emplacement supporté pour l'emplacement du bouton de MassEdit ; voir les emplacements approuvés de Placement pour plus de détails.
Voici un exemple de configuration ci-dessous :
window.MassEditConfig = {
interval: 2500,
placement: {
element: "toolbar",
type: "append"
}
};
| Variables | Type de donnée | Valeur(s) par défaut |
|---|---|---|
interval
|
Nombre | 1500 (750 pour les bots)
|
placement.element
|
Chaîne de caractères | "tools"
|
placement.type
|
Chaîne de caractères | "prepend"
|
Utilisation générale
En plus de l'utilisation standard des options "insérer au début" et "ajouter à la fin" pour le contenu des pages, ces options peuvent être utilisées de manière interchangeable pour créer des nouvelles pages basées sur les valeurs entrées. Sélectionner l'une ou l'autre option et entrer les titres de pages inexistantes a pour effet de créer ces pages automatiquement, donnant un moyen rapide et efficace de publier de nouveaux articles à partir d'un modèle ou d'un texte.
De plus, si la fonction trouver-et-remplacer peut être utilisée pour localiser et remplacer du wikitexte, du HTML, ou du texte dans les articles, elle peut aussi être utilisée pour retirer du contenu des pages. Laisser le champ "New Content" blanc est compté comme une chaîne de caractère vide, permettant le retrait du contenu du champ "Target Content" dans les articles en question.
Les utilisateurs ont également la possibilité de modifier/supprimer/remplacer du contenu des pages des catégories entrées. Sélectionner l'option "Categories" et entrer le nom d'une catégorie édite toutes les pages actuellement dans cette catégorie. (Note : les noms des catégories peuvent être écrites Catégorie:Exemple de catégorie ou simplement Exemple de catégorie.)
En plus des moyens d'édition basés sur les catégories, les utilisateurs peuvent aussi modifier les pages appartenant à certains espaces de noms, en séparant les numéros d'espaces de noms (0 pour l'espace Principal, 4 pour l'espace Projet, etc.) par des sauts de lignes.
Les utilisateurs ont aussi la possibilité d'utiliser la fonctionnalité de génération de listes pour rassembler les listes de pages contenant les modèles sélectionnés. Comme pour les catégories et les espaces de noms, plusieurs modèles intégrés peuvent être écrits sur des lignes distinctes, et tous les modèles entrés plus d'une fois seront retirés avant le tri et l'affichage.
Journal des modifications
- 11-12-24
- Addition of rudimentary search functionality for finding target text in input categories/namespaces/loose pages
- 08-11-24
- Addition of functionality permitting the filtering out of redirects when editing/listing pages by namespace
- 04-10-21
- UCP update 4; removal of legacy MW 1.19 code, reinstitution of limited messaging functionality for UCP Message Walls
- 20-10-20
- Patch to address Fandom-side API bug related to comment section protection on UCP wikis
- 20-09-20
- UCP update 3; bug fixes to
ModalButtonenable/disable toggling, adjustments to modal assembly mechanism - 26-08-20
- UCP update 2: addition of Colors dependency, further updates to make basic functionality available on UCP wikis
- 05-07-20
- Improvements to dependency loader
init.load, minor bug fixes - 01-07-20
- Initial experiments in drafting extendable, UCP-friendly dependency-loading framework, pending UCPification of Dev dependencies or importation of legacy functionality like
importArticle(s)and ResourceLoader modules likeext.wikia.LinkSuggest - 27-06-20
- Organizational restructuring for enhanced readability, improvements to module/dependency loading, addition of
exportsobject towindow.dev.massEditto expose public debugging methods, minor bug fixes to user messaging functionality - 18-06-20
- Minor patching to handle ArticleComments extension edge cases, addition of
TESTINGconstant for testing API methods without actually editing page content - 28-05-20
- Refactor of find-and-replace functionality to accept user-input regex; refactor of scene-generation mechanism to lazy-initialize interfaces only when needed; addition of
localStoragecaching for scenes - 03-04-20
- Addition of functionality to generate listings of template transclusions via Embeddedin; addition of functionality to remove duplicate entries from listings prior to Quicksorting
- 08-10-19
- Expansion using WgMessageWallsExist to offer mass-messaging functionality; addition of category member page generation functionality per MassNullEdit; modal redesign and code expansion/alterations
- 20-09-19
- Addition of functionality to replace only specific occurrences of a replacement target; addition of case sensitive/insensitive matching for find-and-replace; minor code alterations
- 18-09-19
- Minor rewrite using Placement and Modal; addition of rudimentary pause/resume functionality,
query-continuehandling for categories/namespaces containing over 5000 member pages, and jQuerylinksuggest. - 24-05-18
- Removal of static config-based edit summary in favor of modal-based summary textbox; assorted cosmetic and improper input behavior fixes
- 17-04-18
- Addition of namespace-based editing/find-and-replace function
- 12-04-18
- Addition of category-based editing/find-and-replace function
- 07-01-18
- Addition of find-and-replace function for set of pages; improved/expanded error handling for nonexistent pages, empty input fields, and pages without target text; general cleanup
- 18-12-17
- Retrofitting of I18n-js, addition of "find-and-delete" option, addition of config options, cleanup
- 06-02-17
- Revision of regex, removal of character limit
- 05-02-17
- Initial revision