استخدام Plugman لإدارة الإضافات في كوردوفا
منذ الإصدار 3.0 وما بعده، أصبحت كوردوفا تنفِّذ كل الواجهات البرمجية الخاصة بالجهاز (device APIs) على شكل إضافات، لكن لا تفعِّلها افتراضيًا. كما أنَّها تدعم طريقتين مختلفتين لإضافة وإزالة الإضافات، اعتمادًا على سير العمل (workflow) المُعتمد (اطلع على الصفحة "نظرة عامة"):
- إن كنت تستخدم سير عمل عابر للمنصات (cross-platform)، فعليك استخدام الأمر
cordova
في واجهة سطر الأوامر لكي تضيف الإضافات، كما هو موضح في صفحة واجهة سطر الأوامر . تُعدل واجهة سطر الأوامر الإضافات في جميع المنصات المحددة في نفس الوقت. - إن كنت تستخدم سير عمل مرتكز على منصة واحدة، فعليك استخدام الأمر منخفض المستوى Plugman في واجهة سطر الأوامر لكل منصة مستهدفة على حِدة.
يقدم هذا القسم تفاصيل عن كيفية استخدام الأداة Plugman
. لمزيد من المعلومات حول استخدام Plugman
كوحدة عقدية (node module)، أو لتعديل الشيفرة المصدرية، فاطلع على الملف README في هذه الصفحة.
تثبيت Plugman
لتثبيت Plugman
، يجب أن يكونnode مثبتًا على جهازك. بعد ذلك، يمكنك تنفيذ الأمر التالي من أي مكان في بيئة العمل لتثبيت Plugman
بشكل عام (globally) حتى يكون متاحًا من أي مجلد:
$ npm install -g plugman
ينبغي أيضًا أن يكون git
مضافًا إلى المتغير العام PATH
لتتمكن من تثبيت الإضافات عن بُعد مباشرة من عناوين git.
تنبيه: إن وجدت أنك بعد تثبيت plugman
بواسطة npm
لا تزال غير قادر على تنفيذ أوامر plugman
، فتأكد من إضافة المجلد /npm/
إلى المتغير العام PATH
.
ملاحظة: يمكنك تخطي هذه الخطوة إن لم تُرد إفساد مجال الأسماء العام npm
بتثبيت Plugman
بشكل عام (globally). في هذه الحالة، سيكون هناك المجلد node_modules
داخل مشروعك يتضمن Plugman
عندما تنشئ مشروع كوردوفا باستخدام أدوات الصدفة (shell). ولأنك لم تُثبّت Plugman
بشكل عام، فسيكون عليك استدعاء node
مع كل أوامر Plugman
، مثل الأمر: node ./node_modules/plugman/main.js -version
.
سنفترض في بقية هذا الدليل أنك قمت بتثبيت Plugman
بشكل عام، ما يعني أنه بمقدورك استدعاؤها عبر الأمر plugman
وحده.
إنشاء مشروع كوردوفا
قبل أن تتمكن من استخدام Plugman
، سيكون عليك إنشاء مشروع كوردوفا. يمكنك القيام بذلك إما بواجهة سطر الأوامر أو ببرامج الصدفة منخفضة المستوى (lower level shell scripts).
كيفية إضافة الإضافات
بمجرد تثبيت Plugman
وإنشاء مشروع كوردوفا، يمكنك أت تضيف إضافات إلى المنصة عبر الأمر التالي:
$ plugman install --platform <ios|android> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
باستخدام الحد الأدنى من المعاملات، يثبِّت هذا الأمر الإضافة في مشروع كوردوفا. من اللازم تحديد منصة وموضع مشروع كوردوفا الخاص بها. يجب عليك أيضًا تحديد إضافة عقِب العبارة --plugin
عبر المعاملات التالية:
name
: اسم المجلد الذي يتضمّن محتويات الإضافة. يجب أن يكون مجلدًا موجودًا داخل المسار --plugins_dir
(انظر أدناه لمزيد من المعلومات) أو إضافة في سجل (registry) كوردوفا.url
: عنوان يبدأ بـhttps://
أوgit://
، ويشير إلى مستودع git صالح وقابل للنسخ، ويحتوي على ملفplugin.xml
. ستُنسخ محتويات هذا المستودع في المجلد --plugins_dir
.path
: مسار إلى مجلد يحتوي على إضافة صالحة مرفقة بالملفplugin.xml
. ستُنسخ محتويات هذا المسار في المجلد --plugins_dir
.
معاملات أخرى:
-
--plugins_dir
: قيمته الافتراضية تساوي <project>/cordova/plugins
، ولكن يمكن أن يكون أي مجلد يحتوي على مجلدات فرعية مقابلة لكل إضافة مجلوبة (fetched). -
--www
: قيمته الافتراضية تساوي موضع مجلد المشروعwww
، ولكن قد يكون أي مجلد يمكن استخدامه كموضع لأصول (assets) مشروع كوردوفا. -
--variable
: يسمح بتحديد متغيرات معينة وقتَ التثبيت، وهو ضروري لبعض الإضافات التي تتطلب مفاتيح واجهة برمجية (API keys) أو غيرها من المعاملات المخصصة والمعرفة من قبل المستخدم. يرجى الاطلاع على صفحة plugin specification لمزيد من المعلومات.
إزالة الإضافات
لإزالة إضافةٍ محددةٍ، كل ما عليك فعله هو تمرير الأمر uninstall
مرفقًا بمعرف (ID) الإضافة:
$ plugman uninstall --platform <ios|android> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
أوامر طلب المساعدة
يوفر Plugman
الأمر help
لاستخدامه لأجل الحصول على المساعدة في حال واجهتك مشكلة، إذ سيعرض قائمةً بجميع أوامر Plugman
المتاحة مع توضيح طريقة صياغتها:
plugman -help
plugman # same as above
ملاحظة: قد يظهر الأمر plugman -help
بعض أوامر السّجل (registry-related commands) الإضافية. هذه الأوامر مخصصة لمطوري الإضافات، وقد لا تنفَّذ على سجلات الإضافات القادمة من طرف ثالث.
يمكنك أيضًا إضافة الراية --debug|-d
إلى أي أمرٍ من أوامر Plugman
لتنفيذه في الوضع المفصّل (verbose mode)، حيث سيعرض رسائل تصحيح الأخطاء الداخلية عند إصدارها، وقد يساعدك في تعقب مصدر المشكلة، مثل مشكلة عدم إيجاد الملفات.
# Adding Android battery-status plugin to "myProject":
plugman -d install --platform android --project myProject --plugin cordova-plugin-battery-status
وأخيرًا، يمكنك استخدام الراية --version|-v
لمعرفة إصدار Plugman
الذي تستخدمه.
plugman -v
إجراءات السجلات (Registry Actions)
هناك عدد من أوامر plugman
التي يمكن استخدامها للتفاعل مع سجل الإضافات (Plugin registry). يرجى ملاحظة أن أوامر السجلات هذه مخصوصة بسجل الإضافات plugins.cordova.io
، وقد لا تُنفَّذ (implemented) من قبل سجلات الإضافات القادمة من طرف ثالث.
البحث عن الإضافات
يمكنك استخدام Plugman
للبحث في سجل الإضافات (Plugin registry) عن مُعرِّف (id) الإضافة التي تُطابق لائحة من الكلمات الرئيسية مفصولة بمسافات بيضاء.
plugman search <plugin keywords>
تغيير سجل الإضافة
يمكنك الحصول على سجل الإضافة الحالية التي يستخدمها plugman
أو تعيين عنوانها. لكن يجب عليك عمومًا تركه عند القيمة http://registry.cordova.io
، إلا إن كنت ترغب في استخدام سجل إضافة من طرف ثالث.
plugman config set registry <url-to-registry>
plugman config get registry
الحصول على معلومات عن الإضافات
يمكنك الحصول على معلومات حول أي إضافة مُخزّنة في مستودع الإضافات عبر الأمر التالي:
plugman info <id>
سيتصل هذا الأمر بسجل الإضافة وسيجلب معلومات عنها مثل رقم إصدار الإضافة.
تثبيت الإضافات الأساسية
توضح الأمثلة أدناه كيف تضيف الإضافات بحسب الحاجة، بحيث أن كل الواجهات البرمجية لكوردوفا التي تستخدمها في مشروعك ستستمر بالعمل حتى بعد الترقية إلى الإصدار 3.0.
مع كل أمرٍ (command)، سيكون عليك تحديد المنصة المستهدفة، والإشارة إلى مجلد المشروع في المنصة. إليك الأمثلة التالية:
cordova-plugin-battery-status
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-battery-status
cordova-plugin-camera
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-camera
cordova-plugin-console
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-console
cordova-plugin-contacts
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-contacts
cordova-plugin-device
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device
cordova-plugin-device-motion (accelerometer)
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-motion
cordova-plugin-device-orientation (compass)
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-device-orientation
cordova-plugin-dialogs
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-dialogs
cordova-plugin-file
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file
cordova-plugin-file-transfer
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-file-transfer
cordova-plugin-geolocation
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-geolocation
cordova-plugin-globalization
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-globalization
cordova-plugin-inappbrowser
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-inappbrowser
cordova-plugin-media
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media
cordova-plugin-media-capture
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-media-capture
cordova-plugin-network-information
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-network-information
cordova-plugin-splashscreen
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-splashscreen
cordova-plugin-vibration
plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-vibration