Extension:UploadWizard
L'extension UploadWizard permet à un utilisateur de téléverser plusieurs fichiers avec un assistant JavaScript, étape par étape, via la page Special:UploadWizard.
Voir aussi la Page de description de l'assistant de téléversement sur Wikimedia Commons.
Installation
Activation des téléversements et des miniatures
Votre MediaWiki doit être capable d'héberger des fichiers multimédias et de créer des vignettes (aperçus plus petits des fichiers multimédias). Si vous pouvez téléverser des images et voir les aperçus réduits sur leur page File:, vous êtes déjà prêt. Sinon, pour des instructions complètes, voir Manuel:Gestion des images, en particulier image miniature.
- Pour les utilisateurs de GNU/Linux ou macOS
- Assurez-vous que le répertoire
imagesest accessible en écriture par votre serveur web. - Installer les bibliothèques ImageMagick et les binaires.
- Télécharger et extraire les fichiers UploadWizard comme indiqué ci-après : Special:ExtensionDistributor/UploadWizard
- Ajouter les paramètres suivants dans votre fichier LocalSettings.php :
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = <path to your convert command>; # à initialiser uniquement si différent de /usr/bin/convert
wfLoadExtension( 'UploadWizard' );
Vous devez aussi installer l'extension EventLogging. Ceci ne sert que si vous utilisez la fonctionnalité des campagnes et doit à l'avenir devenir une dépendance douce à un certain niveau.
Si vous utilisez Internet Explorer, il faudra aussi modifier la variable de configuration du noyau suivante. Voir phab:T41877 :
$wgApiFrameOptions = 'SAMEORIGIN';
Activation des téléversements Flickr
Vous pouvez aussi utiliser UploadWizard pour transférer les fichiers directement de Flickr.
Pour activer cette option, vous devez d'abord obtenir une clé d'API de Flickr :
- connectez-vous à Flickr
- aller à la page Apps By You dans App Garden de Flickr
- cliquer sur Get another key pour obtenir une clé
- choisir Apply for a non-commercial key pour une clé non commerciale
- entrer un nom et une description puis vérifier les deux cases de contrôle avant de soumettre.
Une fois la clé disponible, ajouter ceci à votre LocalSettings.php :
$wgAllowCopyUploads = true;
$wgGroupPermissions['user']['upload_by_url'] = true;
$wgCopyUploadsDomains = ['*.flickr.com', '*.staticflickr.com'];
$wgUploadWizardConfig['flickrApiKey'] = 'YOUR_FLICKR_KEY_HERE';
Autre configuration
- InstantCommons doit être activé pour accéder au matériel de licence. Pour activer InstantCommons ajouter à LocalSettings.php.
$wgUseInstantCommons = true;
- Vous pouvez définir dans LocalSettings.php, où
$wgUploadNavigationUrl = '/wiki/Special:UploadWizard';
/wiki/est le chemin de votre wiki. Voici une façon plus générale de faire ceci et qui fonctionne pour toute configuration du chemin, mais elle nécessite PHP 5.3 ou plus récent :
$wgExtensionFunctions[] = function() {
$GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor( 'UploadWizard' )->getLocalURL();
return true;
};
Cela modifie le lien Téléverser un fichier de la barre latérale - et probablement aussi ailleurs.
Plus d'informations : Manuel:$wgUploadNavigationUrl.
Plusieurs autres options sont disponibles dans un tableau de configuration. Par exemple :
$wgUploadWizardConfig = [
'debug' => false,
'autoAdd' => [
'wikitext' => [
'This file was uploaded with the UploadWizard extension.'
],
'categories' => [
'Uploaded with UploadWizard'
],
], // doit être traduit dans la langue de l'instance de votre wiki
'feedbackPage' => 'Feedback about UploadWizard',
'altUploadForm' => 'Special:Upload',
'feedbackLink' => false, // désactiver le lien pour les commentaires (pointe sur Commons par défaut)
'alternativeUploadToolsPage' => false, // désactiver le lien vers des outils de téléchargement alternatifs (pointe sur Commons par défaut)
'enableFormData' => true, // activer l'utilisation des téléversements de FileAPI sur les navigateurs pris en charge
'enableMultipleFiles' => true,
'enableMultiFileSelect' => false,
'uwLanguages' => [
'ar' => 'العربية',
'de' => 'Deutsch',
'en' => 'English'
], // langues sélectionnables pour les descriptions de fichiers - par défaut 'en'
'tutorial' => [
'skip' => true
], // sauter le tutoriel
'maxUploads' => 15, // nombre de téléversements dans un formulaire - 50 par défaut
'fileExtensions' => $wgFileExtensions // peut entraîner des erreurs si ceci est absent
];
Utilisation dans les environnements sans licence
Si vous installez UploadWizard dans un environnement où les licences ne sont pas utilisées, vous pouvez ajouter la configuration ci-dessous à LocalSettings.php. Cela limitera le choix des licences à une seule option par défaut qui se réfère à la déclaration de non-responsabilité générique du wiki. Noter qu'il existe beaucoup d'autres paramètres de configuration ajoutables en fonction de votre cas d'utilisation.
$wgUploadWizardConfig = [
'licensing' => [
'ownWorkDefault' => 'own',
'ownWork' => [
'type' => 'or',
'template' => 'licensing', // ajoute un lien vers Template:Licensing à la page d'information du fichier
'licenses' => [
'generic',
],
],
],
];
$wgUploadWizardConfig.
Modification des messages génériques de l'interface utilisateur
Si vous souhaitez mettre à jour les messages génériques, vous pouvez le faire sur le wiki lui-même en modifiant les pages suivantes :
- MediaWiki:Mwe-upwiz-source-ownwork
- MediaWiki:Mwe-upwiz-source-ownwork-assert-generic
- MediaWiki:Mwe-upwiz-source-ownwork-generic-explain
Modifier les pages de fichiers créées par UploadWizard
Pour modifier le wikicode des pages de fichiers créées par UploadWizard, ajouter une accroche à LocalSettings.php qui sera exécutée à chaque sauvegarde de page, puis vérifier si la page a la structure d'une page créée par UploadWizard, et la modifier à votre goût. Par exemple :
$wgHooks['ParserPreSaveTransformComplete'][] = function ( Parser $parser, string &$text ) {
if ( preg_match( '/=={{int:filedesc}}==
{{Information
\|description=(.*)
\|date=(.*)
\|source=(.*)
\|author=(.*)
\|permission=(.*)
\|other versions=(.*)
}}
=={{int:license-header}}==
{{(.*)}}
*(.*)/', $text, $matches ) ) {
// obtenir les données
$description = $matches[1];
$date = $matches[2];
$source = $matches[3];
$author = $matches[4];
$permission = $matches[5];
$otherVersions = $matches[6];
$license = $matches[7];
$licenseDetails = $matches[8];
// traitement des données
if ( $source === '{{own}}' ) {
$source = 'Own work';
}
if ( preg_match( '/\[\[([^|]+)\|[^]]+\]\]/', $author, $matches ) ) {
$author = $matches[1]; // Unlink the author
}
if ( $licenseDetails ) {
$license = $licenseDetails;
}
// générer le wikicode
$text = "$description
{{File data
| date = $date
| author = $author
| source = $source
| license = $license
}}";
}
};
Utilisation
Paramètres de l'URL
Plusieurs paramètres peuvent être spécifiés dans l'URL pour modifier le comportement de UploadWizard :
campaign– Spécifie la campagne de téléversement à utiliser.caption– Définit la valeur initiale du champ de la légende (données structurées). Noter que par défaut ceci sera copié dans la description.captionlang– Définit la langue pour le premier champ de la légende.description– Définit la valeur initiale du champ de description. Noter qu'en définissant la description vous désactivez la copie de la légende dans la description.descriptionlang– Définit la langue pour le premier champ de la description.lat– Définit la valeur initiale du champ de latidude.lon– Définit la valeur initiale du champ de longitude.alt– Définit la valeur initiale du champ d'altitude.categories– Définit la valeur initiale des champs catégorie et des catégories multiples séparées par|.fields[]– Valeurs initiales des champs additionnels définis par une campagne. Les valeurs des champs multiples doivent être passées exactement dans le même ordre que celui défini dans la campagne.
- (par exemple :
fields[]=value_first&fields[]=value_second)
objref– Spécifie une référence d'objet pouvant être utilisée pour mettre à jour une page avec la vignette de l'image téléversée. Voir la section Références des objets pour d'autres détails.updateList– Indique si une page de liste doit être mise à jour. Ce paramètre est lié et ne fonctionne qu'avecobjref. Voir la section Références des objets pour d'autres détails.
Ces paramètres peuvent être spécifiés ainsi : si vous avez un paramètre nommé campaign et que vous voulez fournir la valeur foobar, ajoutez campaign=foobar à l'URL. Par exemple wiki/Special:UploadWizard?campaign=foobar ou w/index.php?title=Special:UploadWizard&campaign=foobar.
Les paramètres d'URL suivants sont encore pris en charge pour les URL existantes mais sont obsolètes :
id– Si elle est présente, cette valeur est utilisée à la place de la première valeurfields[]. Utiliserfields[]à la place.id2– Si spécifiée, cette valeur est utilisée à la place de la deuxième valeur defields[]. Utiliserfields[]à la place.
Références des objets
Upload Wizard fournit un moyen de stocker des références des objets - des références aux modèles de listes dans les pages wiki - dans la page de description du fichier. Ceci peut être utilisé par les robots pour insérer une image miniature dans une page de liste. Un robot qui fait cela pour les listes de monuments de la Wikipedia allemande fonctionne sur toolsadmin. Son code se trouve sur GitHub. Bien que son but soit de mettre à jour les listes de monuments sur Wikipedia, il peut être adapté pour servir dans différents scénarios.
Cette fonctionnalité utilise les paramètres objref et updateList.
Si les deux paramètres sont passés, UploadWizard affiche une case à cocher pour chaque téléversement, qui peut être utilisée pour sélectionner l'image à laquelle la référence de l'objet est ajoutée.
Si le paramètre updateList est omis, les cases à cocher seront désactivées et une information supplémentaire est affichée indiquant qu'une image pour l'objet existe déjà dans la liste.
- objref - Spécifie une référence d'objet pouvant être utilisée pour mettre à jour une page avec la vignette de l'image téléversée. Ce paramètre est passé sous le format attendu suivant
objref=prefix|page_title|object_id- prefix - Préfixe interwiki ou interlangue tel qu'il est défini par Special:Interwiki. Le préfixe doit être défini pour que cela fonctionne.
- page_title - Titre de la page sur laquelle l'objet est listé.
- object_id - Identifiant unique de l'objet à mettre à jour par robot
- updateList - Indique si une page de liste doit être mise à jour. S'il est initialisé à n'importe quelle valeur, ce paramètre active une case à cocher
Tests
Si vous testez UploadWizard pour une raison quelconque, et que vous êtes à cours d'images réelles à téléverser pour les cas de test, vous pouvez toujours utiliser l'utilitaire pratique de MediaWiki pour créer ces images de test. Ouvrir un émulateur de terminal, aller dans le répertoire où vous voulez stocker des fichiers JPG de test, et exécuter
$ php path/to/mediawiki/tests/phpunit/includes/api/generateRandomImages.php
Voici un script Bash qui devrait faciliter l'ensemble sans trop de problèmes. Il est bon d'ajouter ceci à votre PATH et (ou) créer un raccourci pratique quelque part pour faciliter la mise à jour de votre liste d'images.
#!/bin/bash
# déclarer quelques chemins (plus faciles à configurer)
PICPATH=/path/to/image/directory
MW_INSTALL_PATH=/path/to/mediawiki
# obtenir le chemin de la photo et supprimer les anciennes images de test
cd $PICPATH
rm *.jpg
# exécuter trois fois le script généré pour obtenir un ensemble d'images
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
php $MW_INSTALL_PATH/tests/phpunit/includes/api/generateRandomImages.php
Modèles
Upload Wizard va insérer quelques modèles dans les pages de description de fichier générées, qui doivent exister sur le wiki pour que les pages de description soient rendues correctement. Le modèle utilisé comprend :
- Template:Information (vous pouvez utiliser l'outil d'exportation de Mediawiki pour importer ce modèle dans votre propre installation de Mediawiki)
- les identifiants de la langue de description comme le modèle En; si aucune valeur est définie alors seulement {{en}} est utilisé.
- le modèle Location pour la géolocalisation
- les diverses balises de licence qui restent configurables
- le modèle (optionnel) pour indiquer qu'un fichier n'a pas de catégorie de rattachement.
Voir aussi
- Comment ajouter une licence personnalisée à Extension:UploadWizard ?
- Above but for the messages only (Miraheze's Issue Tracker)
- Documentation des campagnes
- Documentation développeur
- Extension:UploadWizard/Error behavior
- Extension:EnhancedUpload – nouvelle page spéciale pour le téléversement multiple et amélioration du téléversement par glisser-déposer dans VisualEditor
- Notes d'opérations Wikimedia
- Commons:Upload Wizard – page d'information de Upload Wizard dans Wikimedia Commons
- Extension:MediaUploader – Téléverseur flexible, multi-fichiers et pas-à-pas pour les utilisateurs tiers; il est dérivé de UploadWizard
- Extension:MsUpload
- User:Drecodeam/GSoC 2012 Application - travail de Ankur Anand sur Flickr avec intégration de la géolocalisation
Spécifications associées
- Fonction de licence WikiText personnalisée
- Emplacement - entrer les coordonnées gps / les dériver de l'EXIF
| Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
| Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : |
- Stable extensions/fr
- Media handling extensions/fr
- Special page extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- ArticleDeleteComplete extensions/fr
- BeforePageDisplay extensions/fr
- ChangeTagsAllowedAdd extensions/fr
- ChangeTagsListActive extensions/fr
- CodeEditorGetPageLanguage extensions/fr
- CodeMirrorGetMode extensions/fr
- ContentModelCanBeUsedOn extensions/fr
- EditFilterMergedContent extensions/fr
- GetPreferences extensions/fr
- IsUploadAllowedFromUrl extensions/fr
- LinksUpdateComplete extensions/fr
- ListDefinedTags extensions/fr
- LoadExtensionSchemaUpdates extensions/fr
- PageMoveComplete extensions/fr
- PageSaveComplete extensions/fr
- PreferencesGetIcon extensions/fr
- All extensions/fr
- Extensions used on Wikimedia/fr
- Extensions included in Canasta/fr
- Extensions included in Miraheze/fr
- Extensions included in ProWiki/fr
- Bulk upload/fr
