Extension:UploadWizard
UploadWizard Stav rozšíření: stabilní |
|
---|---|
Implementace | Média, Speciální stránka |
Popis | Multisouborový průvodce načítáním, krok za krokem |
Autoři | Neil Kandalgaonkar, Jeroen De Dauw, Mark Holmquist, Ryan Kaldari, Ankur Anand, Yuvi Panda, Michael Dale, |
Nejnovější verze | continuous updates |
MediaWiki | >= 1.43 |
Změny v databázi | Ano |
Tabulky | uw_campaigns |
Licence | GNU General Public License 2.0 nebo novější |
Stáhnout | README |
Campaign |
|
|
|
|
|
Čtvrtletní stahování | 138 (Ranked 42nd) |
Přeložte rozšíření UploadWizard, používá-li lokalizaci z translatewiki.net | |
Vagrant role | uploadwizard |
Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření UploadWizard umožňuje nahrát více souborů najednou pomocí JavaScriptového rozhraní, které uživatele provede jednotlivými kroky procesu.
Vizte také popis Průvodce načítáním souborů na Wikimedia Commons
Instalace
Povolení nahrávání a náhledů
Vaše MediaWiki bude muset být schopna hostovat mediální soubory a vytvářet miniatury (menší náhledy mediálních souborů). Pokud můžete nahrát obrázky a zobrazit menší náhledy na jejich stránce File, jste již připraveni. Pokud ne, úplné pokyny najdete v Příručka:Správa obrázků , zejména miniatura obrázků.
- Pro uživatele GNU/Linux nebo macOS
- Ujistěte se, že do adresáře
images
může váš webový server zapisovat. - Nainstalujte knihovny a binární soubory ImageMagick.
- Stáhněte a rozbalte soubory UploadWizard, jak je uvedeno zde: Special:ExtensionDistributor/UploadWizard
- Přidejte do svého LocalSettings.php následující konfiguraci:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = <path to your convert command>; # Only needs to be set if different from /usr/bin/convert
wfLoadExtension( 'UploadWizard' );
Měli byste také nainstalovat rozšíření EventLogging . Toto se používá pouze v případě, že používáte funkci kampaní, a někdy v budoucnu by mělo být vytvořeno jako měkká závislost.
Pokud používáte Internet Explorer, budete také muset změnit následující základní konfigurační proměnnou. Podívejte se na stránku phab:T41877:
$wgApiFrameOptions = 'SAMEORIGIN';
Povolení nahrávání na Flickr
Můžete také použít UploadWizard
k přenosu souborů přímo z Flickru.
Chcete-li tuto možnost povolit, musíte nejprve získat klíč API z Flickru:
- Přihlaste se na Flickr;
- Přejděte na stránku Apps By You na Flickru App Garden;
- Klikněte na 'Získat další klíč';
- Zvolte 'Požádat o nekomerční klíč';
- Před odesláním zadejte název a popis a zaškrtněte dvě políčka zřeknutí se práv.
Jakmile budete mít klíč, připojte ke svému LocalSettings.php následující:
$wgAllowCopyUploads = true;
$wgGroupPermissions['user']['upload_by_url'] = true;
$wgCopyUploadsDomains = ['*.flickr.com', '*.staticflickr.com'];
$wgUploadWizardConfig['flickrApiKey'] = 'YOUR_FLICKR_KEY_HERE';
Jiná konfigurace
- Pro přístup k licenčnímu kurzu musíte mít povoleno InstantCommons . Chcete-li aktivovat InstantCommons, přidejte do LocalSettings.php.
$wgUseInstantCommons = true;
- Možná budete chtít nastavit v LocalSettings.php, kde
$wgUploadNavigationUrl = '/wiki/Special:UploadWizard';
/wiki/
je správná cesta pro vaši wiki. Obecnější způsob, jak toho dosáhnout, který funguje pro jakoukoli konfiguraci cesty, kterou máte, ale vyžaduje PHP 5.3 nebo novější, je:
$wgExtensionFunctions[] = function() {
$GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor( 'UploadWizard' )->getLocalURL();
return true;
};
Tím se upraví odkaz "Načíst soubor" na postranním panelu – pravděpodobně i na jiných místech. Více na Příručka:$wgUploadNavigationUrl .
Prostřednictvím konfiguračního pole je k dispozici několik dalších možností. Například:
$wgUploadWizardConfig = [
'debug' => false,
'autoAdd' => [
'wikitext' => [
'This file was uploaded with the UploadWizard extension.'
],
'categories' => [
'Uploaded with UploadWizard'
],
], // Should be localised to the language of your wiki instance
'feedbackPage' => 'Feedback about UploadWizard',
'altUploadForm' => 'Special:Upload',
'feedbackLink' => false, // Disable the link for feedback (default: points to Commons)
'alternativeUploadToolsPage' => false, // Disable the link to alternative upload tools (default: points to Commons)
'enableFormData' => true, // Enable FileAPI uploads be used on supported browsers
'enableMultipleFiles' => true,
'enableMultiFileSelect' => false,
'uwLanguages' => [
'ar' => 'العربية',
'de' => 'Deutsch',
'en' => 'English'
], // Selectable languages for file descriptions - defaults to 'en'
'tutorial' => [
'skip' => true
], // Skip the tutorial
'maxUploads' => 15, // Number of uploads with one form - defaults to 50
'fileExtensions' => $wgFileExtensions // omitting this may cause errors
];
Použití v bezlicenčních prostředích
Pokud instalujete UploadWizard v prostředí, kde se nepoužívají licence, možná budete chtít přidat níže uvedenou konfiguraci na LocalSettings.php. To omezí výběr licence na jediné výchozí nastavení, které odkazuje na obecné prohlášení wiki. Všimněte si, že existuje mnoho dalších konfiguračních nastavení, která lze přidat v závislosti na vašem případu použití.
$wgUploadWizardConfig = [
'licensing' => [
'ownWorkDefault' => 'own',
'ownWork' => [
'type' => 'or',
'template' => 'licensing', // this adds a link to Template:Licensing to the file info page
'licenses' => [
'generic',
],
],
],
];
$wgUploadWizardConfig
.
Úprava obecných zpráv uživatelského rozhraní
Pokud si přejete upravit obecné zprávy, můžete tak učinit přímo na wiki editací následujících stránek:
- MediaWiki:Mwe-upwiz-source-ownwork
- MediaWiki:Mwe-upwiz-source-ownwork-assert-generic
- MediaWiki:Mwe-upwiz-source-ownwork-generic-explain
Úprava stránek souborů vytvořených Upload Wizard
Chcete-li upravit wikitext stránek souborů vytvořených nástrojem UploadWizard, přidejte do LocalSettings.php háček, který se spustí při každém uložení stránky, poté zkontrolujte, zda má stránka strukturu stránky vytvořené nástrojem UploadWizard, a upravte ji podle svých představ. Například:
$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 ) ) {
// Get data
$description = $matches[1];
$date = $matches[2];
$source = $matches[3];
$author = $matches[4];
$permission = $matches[5];
$otherVersions = $matches[6];
$license = $matches[7];
$licenseDetails = $matches[8];
// Process data
if ( $source === '{{own}}' ) {
$source = 'Own work';
}
if ( preg_match( '/\[\[([^|]+)\|[^]]+\]\]/', $author, $matches ) ) {
$author = $matches[1]; // Unlink the author
}
if ( $licenseDetails ) {
$license = $licenseDetails;
}
// Build wikitext
$text = "$description
{{File data
| date = $date
| author = $author
| source = $source
| license = $license
}}";
}
};
Použití
Argumenty adresy URL
Existuje několik argumentů adresy URL, které lze zadat, aby se změnilo chování nástroje UploadWizard:
- campaign - určuje, kterou nahrávací kampaň použít.
- caption - Sets the initial value for the caption field (structural data). Note that by default this will be copied to the description.
- captionlang - Sets the language of the first caption field.
- description - nastaví počáteční hodnotu pro pole popisu. Note that setting the description will disable copying the caption to the description.
- descriptionlang - Sets the language of the first description field.
- lat - nastaví počáteční hodnotu pole zeměpisné šířky.
- lon - nastaví počáteční hodnotu pole zeměpisné délky.
- alt - nastaví počáteční hodnotu pro pole nadmořské výšky.
- categories - nastaví počáteční hodnotu pro pole kategorií, více kategorií oddělených
|
. - fields[] - počáteční hodnoty dalších polí definovaných kampaní. Hodnoty více polí musí být předány přesně ve stejném pořadí, jak je definováno v kampani.
- (například
fields[]=value_first&fields[]=value_second
)
- objref - určuje odkaz na objekt, který lze použít k aktualizaci stránky miniaturou nahraného obrázku. Další podrobnosti viz #Reference objektů.
- updateList - určuje, zda má být stránka seznamu vůbec aktualizována. Tento parametr funguje pouze v kombinaci s
objref
. Další podrobnosti viz #Reference objektů.
Tyto argumenty lze zadat následovně: Pokud máte argument s názvem campaign
a chcete zadat hodnotu foobar
, připojte k adrese URL campaign=foobar
. Například wiki/Special:UploadWizard?campaign=foobar
nebo w/index.php?title=Special:UploadWizard&campaign=foobar
.
Následující argumenty adresy URL jsou pro existující adresy URL stále podporovány, ale jsou zastaralé:
- id: Pokud je zadán, použije se tato hodnota místo první hodnoty
fields[]
. Místo toho použijtefields[]
. - id2: Pokud je zadán, použije se tato hodnota místo druhé hodnoty
fields[]
. Místo toho použijtefields[]
.
Odkazy na objekty
Upload Wizard poskytuje způsob, jak uložit "odkazy na objekty" – odkazy na šablony seznamů na stránkách Wiki – na stránce s popisem souboru. Tyto mohou být použity roboty k vložení miniatury obrázku na stránku seznamu. Robot, který to dělá pro seznamy památek německé Wikipedie, běží na nástrojové laboratoři. Jeho kód je hostován na GitHub. Ačkoli jeho účelem je aktualizovat seznamy památek na Wikipedii, může být přijat, aby sloužil v různých scénářích.
Tato funkce používá parametry objref
a updateList
.
Pokud jsou oba parametry předány, Upload Wizard zobrazí zaškrtávací políčko pro každé nahrání, které lze použít k výběru obrázku, ke kterému je odkaz na objekt přidán.
Pokud je parametr updateList
vynechán, zaškrtávací políčka budou deaktivována a zobrazí se další upozornění, že obrázek pro objekt již v seznamu existuje.
- objref - Určuje odkaz na objekt, který lze použít k aktualizaci stránky miniaturou nahraného obrázku. Předání tohoto parametru se očekává v následujícím formátu
objref=prefix|page_title|object_id
- prefix - Interwiki nebo mezijazyková předpona podle definice na Special:Interwiki. Aby to fungovalo, musí být předpona definována.
- page_title - Název stránky, na které je objekt uveden.
- object_id - Jedinečný identifikátor objektu, který má robot aktualizovat
- updateList: Určuje, zda má být stránka seznamu vůbec aktualizována. Pokud je tento parametr nastaven na libovolnou hodnotu, aktivuje se zaškrtávací políčko
Testování
Pokud z jakéhokoli důvodu testujete UploadWizard a došly vám "skutečné" obrázky k nahrání jako testovací případy, můžete vždy použít šikovnou utilitu MediaWiki pro vytváření testovacích obrázků. Otevřete emulátor terminálu, přejděte do adresáře, kam chcete uložit hromadu testovacích souborů JPG, a spusťte
$ php path/to/mediawiki/tests/phpunit/includes/api/generateRandomImages.php
Zde je skript Bash, který by měl toto vše usnadnit bez větších problémů. Je dobré si to dát do PATH a/nebo si k tomu někde vytvořit šikovnou zkratku, díky které bude aktualizace obrázků novými obrázky triviální.
#!/bin/bash
# Declare some paths (easier to configure)
PICPATH=/path/to/image/directory
MW_INSTALL_PATH=/path/to/mediawiki
# Get to the pic path, and remove old test images
cd $PICPATH
rm *.jpg
# Run the generate script three times to give us a bunch of 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
Šablony
Upload Wizard vloží několik šablon do vygenerovaných stránek s popisem souborů, které musí na wiki existovat, aby se stránky s popisem vykreslily správně. Mezi použité šablony patří:
- Template:Information (můžete použít exportní nástroj mediawiki k importu této šablony do vaší vlastní instalace mediawiki)
- Identifikátory jazyka popisu, jako je šablona "En", pokud nejsou definovány žádné, použije se pouze {{en}}.
- Šablonu Location pro geosouřadnice
- Různé licenční značky (které jsou konfigurovatelné )
- (Volitelně) šablonu označující, že soubor není zařazen do kategorie
Související odkazy
- Jak přidám vlastní licenci do Extension:UploadWizard?
- Above but for the messages only (Miraheze's Issue Tracker)
- Dokumentace kampaní
- Dokumentace pro vývojáře
- Extension:UploadWizard/Error behavior
- Extension:EnhancedUpload – nová speciální stránka pro vícenásobné nahrávání a zlepšuje nahrávání přetažením ve VisualEditoru
- Wikimedia ops poznámky
- Commons:Upload Wizard – informační stránka Průvodce nahráváním na Wikimedia Commons
- Extension:MediaUploader – flexibilní, vícesouborový, krok za krokem uploader pro uživatele třetích stran, který byl vytvořen pro UploadWizard
- Extension:MsUpload
- User:Drecodeam/GSoC 2012 Application - práce Ankura Ananda na Flickru a integraci geolokace
Související specifikace
- Vlastní funkce licence WikiText
- Lokace - zadávání gps souřadnic / jejich odvození z EXIFu
Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |
- Stable extensions/cs
- Media handling extensions/cs
- Special page extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- ArticleDeleteComplete extensions/cs
- BeforePageDisplay extensions/cs
- ChangeTagsAllowedAdd extensions/cs
- ChangeTagsListActive extensions/cs
- CodeEditorGetPageLanguage extensions/cs
- ContentModelCanBeUsedOn extensions/cs
- EditFilterMergedContent extensions/cs
- GetPreferences extensions/cs
- IsUploadAllowedFromUrl extensions/cs
- LinksUpdateComplete extensions/cs
- ListDefinedTags extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- PageMoveComplete extensions/cs
- PageSaveComplete extensions/cs
- PreferencesGetIcon extensions/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- Extensions included in Canasta/cs
- Extensions included in Miraheze/cs
- Extensions included in MyWikis/cs
- Extensions included in WikiForge/cs
- Bulk upload/cs