سؤال

كيف يمكنني تصدير واستيراد الصور من وإلى ميدياويكي؟

هل كانت مفيدة؟

المحلول

وليس هناك طريقة تلقائية لتصدير الصور مثل تصدير صفحات، لديك لتصحيح الضغط عليها، واختر "حفظ الصورة". للحصول على التاريخ من الصفحة صورة، استخدم الخاصة: الصفحة تصدير

لاستيراد الصور استخدام الخاصة: تحميل الصفحة في الويكي. إذا كان لديك الكثير منهم، يمكنك استخدام النصي استيراد الصور ملاحظة: لديك عموما أن يكون في المجموعة مدير نظام لتحميل الصور.

نصائح أخرى

الحلول الطرفية

يمكن لمسؤول MediaWiki، في محطة الخادم، تنفيذ ذلك مهام الصيانة باستخدام البرامج النصية للصيانة نطاق.تعمل إصدارات Mediawiki الجديدة على تشغيل جميع البرامج النصية القياسية في المهام الموضحة أدناه، ولكن الإصدارات القديمة تحتوي على بعض الأخطاء أو لا تحتوي على جميع البرامج النصية الحديثة:افحص ال رقم الإصدار بواسطة grep wgVersion includes/DefaultSettings.php.

ملحوظة:جميع النصوص المذكورة (أدناه) لها أيضًا --help الخيار، على سبيل المثال
php maintenance/importImages.php --help

مجلد الصور الأصلي

يقوم المستخدمون بتحميل الملفات من خلال صفحة Special:Upload؛يمكن للمسؤولين تكوين أنواع الملفات المسموح بها من خلال القائمة البيضاء للملحقات.بمجرد تحميلها، يتم تخزين الملفات في مجلد على نظام الملفات، ويتم تخزين الصور المصغرة في دليل الإبهام المخصص.

ميدياويكي images يمكن ضغط المجلد به zip -r ~/Mediafiles.zip images الأمر، ولكن هذا الرمز البريدي ليس جيدًا جدًا:

  • هناك الكثير من الملفات الزائفة:"الملفات المحذوفة" و"الملفات القديمة" (وليست ملفات حاضِر) بأسماء الملفات مثل 20160627184943!MyFig.png, والصور المصغرة مثل MyFig.png/120px-MyFig.jpg.

  • ل تبادل البيانات أو على المدى الطويل الحفاظ برضو ​​فهو باطل...ال قبيح images/?/??/* تنسيق المجلد ليست مناسبة، كالعادة "جميع ملفات الصور في مجلد واحد فقط".

تصدير/استيراد الصور

"للتصدير والاستيراد" جميع الصور الحالية في مجلد واحد في محطة خادم MediaWiki، هناك إجراء واحد خطوة بخطوة.

الخطوة 1: إنشاء مقالب الصورة باستخدام dumpUploads (مع --local أو --shared الخيارات عند الحاجة إلى الحفظ)، مما يؤدي إلى إنشاء ملف رسالة قصيرة قائمة بجميع أسماء ملفات الصور المستخدمة.

mkdir /tmp/workingBackupMediaFiles
php maintenance/dumpUploads.php \
   | sed 's~mwstore://local-backend/local-public~./images~' \
   | xargs cp -t /tmp/workingBackupMediaFiles
zip -r ~/Mediafiles.zip /tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles

ينتج عن الأمر ملف مضغوط قياسي لمجلد النسخ الاحتياطي للصورة، Mediafiles.zip في الدليل الجذر للمستخدم الخاص بك (~/).

ملحوظة:إذا لم تكن قلقًا بشأن هيكل المجلد القبيح, ، هناك طريقة أكثر مباشرة

 php maintenance/dumpUploads.php \
   | sed 's~mwstore://local-backend/local-public~./images~' \
   | zip ~/Mediafiles.zip -@

وفقًا لإصدار Mediawiki --base=./ الخيار سوف يعمل بشكل جيد ويمكنك إزالة sed أمر الأنبوب.

الخطوة 2: بحاجة الى نسخة احتياطية؟تركيب نسخة من الصور؟...تحتاج فقط Mediafiles.zip, ، و ال تم تثبيت ميدياويكي, ، بدون محتويات...إذا كان موقع Wiki يحتوي على محتويات، فتحقق من المشاكل المتعلقة بتعارضات أسماء الملفات (!).هناك مشكلة أخرى وهي تكوين تنسيقات الملفات والأذونات، التي يجب أن تكون هي نفسها أو أوسع في Wiki الجديد، انظر دليل: تكوين تحميلات الملفات.

الخطوه 3: استعادة مقالب (إلى الويكي الجديدة)، مع أدوات الصيانة.لنفترض أنك استخدمت الخطوة 1 للتصدير والاحتفاظ في ملف مضغوط،

 unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
 php maintenance/importImages.php  /tmp/workingBackupMediaFiles
 rm -r /tmp/workingBackupMediaFiles 
 php maintenance/update.php
 php maintenance/rebuildall.php

هذا كل شيء.تحقق من التنقل في موقع Wiki الجديد الخاص بك خاص:ملفات جديدة.


التصدير أو الحفظ كاملاً

لتصدير "جميع الصور وجميع المقالات" من MediaWiki القديم الخاص بك، أو للحصول على نسخة احتياطية كاملة أو الحفاظ على المحتوى.أضف بعض الإجراءات في كل خطوة:

الخطوة 1: ...انظر أعلاه الخطوة 1...ولإنشاء مقالب محتوى النص من الويكي القديمة

php dumpBackup.php --full | gzip | ~/dumpContent.xml.gz

ملحوظة:بدلاً من --full يمكنك استخدام ال --current خيار.

الخطوة 2: ...انت تحتاج dumpContent.xml.zip و Mediafiles.zip...من الويكي القديمة.لنفترض أن كلا الملفين المضغوطين في ملف ~ مجلد.

الخطوه 3: يجري في ويكي الجديد الخاص بك

 unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
 gunzip -c  ~/dumpContent.xml.gz 
   | php maintenance/importDump.php  --no-updates \
   --image-base-path=/tmp/workingBackupMediaFiles
 rm -r /tmp/workingBackupMediaFiles 
 php maintenance/update.php
 php maintenance/rebuildall.php

هذا كل شيء.تحقق أيضا خاص:جميع الصفحات من الويكي الجديدة.

هناك عدد قليل من أدوات التحميل الجماعي المتاحة.

المشترك - www.djini.de/software/commonist/

كلاهما يعمل على سطح المكتب ويمكن تهيئتهما للتحميل إلى موقع الويكي المحلي الخاص بك (يتم تكوينهما لـ Wikipedia وWikimedia commons بشكل افتراضي).إذا كنت خائفًا من تحرير محتوى ملف ‎.jar، أقترح عليك البدء باستخدام Commonplace.

يوجد امتداد آخر مفيد لـ Mediawiki نفسه.

تحميل متعدد - http://www.mediawiki.org/wiki/Extension:MultiUpload

يسمح لك هذا الامتداد بإسقاط الصور في مجلد وتحميلها كلها مرة واحدة.وهو يدعم التعليقات التوضيحية لكل ملف إذا لزم الأمر ويقوم بتنظيف المجلد بمجرد الانتهاء من ذلك.على الجانب السلبي، يتطلب الأمر فتح مجلد مشترك على جانب الخادم.

شائع - commons.wikimedia.org/wiki/Commons:Tools/Commonplace

كانت متاحة، لكنها كانت كذلك تم إهمالها اعتبارًا من يناير13, 2010.

- تصدير الكل:

يمكنك الحصول على جميع الصفحات وجميع الصور من موقع ويب MediaWiki باستخدام [API]، حتى لو لم تكن مالك الويب (بالطبع عندما لا يقوم المالك بتعطيل هذه الوظيفة):

الخطوة 1:باستخدام API للحصول على كل عنوان الصفحات و جميع الصور رابط.يمكنك كتابة بعض التعليمات البرمجية للقيام بذلك تلقائيًا.

الخطوة 2:بعد ذلك تستخدم [Special:Export] لتصدير جميع الصفحات التي تحمل العناوين التي حصلت عليها واستخدامها wget للحصول على جميع الصور التي لديك روابط (مثل هذا wget -i img-list.txt).

- استيراد الكل:

الخطوة 1:استيراد الصفحات باستخدام [Special:Import]

الخطوة 2:قم باستيراد الصور باستخدام [Manual:ImportImages.php].

وهذا الأمل يساعد قليلا: http://www.mediawiki.org/wiki /Manual:ImportImages.php

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top