استخدام Plugman لإدارة الإضافات في كوردوفا

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

منذ الإصدار 3.0 فصاعدا، تقدم كوردوفا كل الواجهات البرمجية للأجهزة (device APIs) على شكل إضافات، لكن لا تمكّنها افتراضيًا. كما أنها تدعم طريقتين مختلفتين لإضافة وإزالة الإضافات، اعتمادًا على سير العمل الذي تمت مناقشته في Overview:

إن كنت تستخدم سير عمل عابر للمنصات (cross-platform)، فعليك استخدام أداةالأمر cordova في واجهة سطر الأوامر لكي تضيف الإضافات، كما هو موضح في صفحة واجهة سطر الأوامر The Command-Line Interface. تُعدل واجهة سطر الأوامر الإضافات في جميع المنصات المحددة في وقت واحد.

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

يقدم هذا القسم تفاصيل استخدام الأداة Plugman. لمزيد من المعلومات حول كيفية استخدام Plugman كوحدة عقدية (node module)، أو لتعديل الشيفرة المصدرية، فراجع الصفحة [README file in its repository].

تثبيت Plugman

لتثبيت Plugman، فيجب أن يكون [[2]] مثبتًا على جهازك. بعد ذلك، يمكنك تنفيذ الأمر التالي من أي مكان في بيئة العمل لتثبيت Plugman بشكل عام، حتى يكون متاحًا من أي مجلد:

$ npm install -g plugman

ينبغي أيضًا أن يكون git مضافًا إلى المتغير العام PATH لتتمكن من تثبيت الإضافات مباشرة من عناوين git البعيدة.

TIP: إن وجدت أنك بعد تثبيت plugman بواسطة npm لا تزال غير قادر على تنفيذ أوامر plugman، تأكد من إضافة المجلد /npm/ إلى المتغير العام PATH.

NOTE: يمكنك تخطي هذه الخطوة إن لم تُرد تلويث مجال الأسماء العام npm بتثبيت Plugman بشكل عام (globally). في هذه الحالة، سيكون هناك مجلد node_modules داخل مشروعك يتضمن Plugman عندما تقوم بإنشاء مشروع كوردوفا باستخدام أدوات shell. نظرًا لأنك لم تثبّت Plugman بشكل عام، فسيكون عليك استدعاء node لكل أوامر Plugman، مثل: node ./node_modules/plugman/main.js -version. سنفترض في بقية هذا الدليل أنك قمت بتثبيت Plugman بشكل عام، ما يعني أنه بمقدورك استدعاؤها بالأمر plugman وحده.

إنشاء مشروع كوردوفا

قبل أن تتمكن من استخدام Plugman، سيكون عليك إنشاء مشروع كوردوفا. يمكنك القيام بذلك إما بواجهة سطر الأوامر أو ببرامج الصدفة (shell) منخفضة لبمستوى. يمكنك العثور على تعليمات حول كيفية استخدام برامج الصدفة لإنشاء المشاريع في أدلة "أدوات سطر الأوامر" المدرجة في صفحة أدلة المنصة.

كيف تضيف الإضافات

بمجرد تثبيت 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: عنوان 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 أمرًا لاستخدامه لأجل الحصول على المساعدة، والذي قد يساعدك إذا واجهتك مشكلة. سيقوم بعرض قائمة بجميع أوامر Plugmanالمتاحة مع طريقة صياغتها:

plugman -help
plugman  # same as above

NOTE: 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 التي يمكن استخدامها للتفاعل مع سجل الإضافة ([registry]). يرجى ملاحظة أن أوامر السجلات هذه مخصوصة بسجل الإضافة plugins.cordova.io، وقد لا تقدّم (implemented) من قبل سجلات إضافات الطرف الثالث.

البحث عن الإضافات

يمكنك استخدام Plugman للبحث في [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>

سيتصل هذا الأمر بسجل الإضافة وسيجلب معلومات مثل رقم إصدار الإضافة.

تثبيت الإضافات الأساسية (Installing Core Plugins)

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

  • 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

مصادر