التعاون مع المطوّرين الآخرين

توفّر أداة "برمجة التطبيقات" بعض الميزات التي تساعدك أنت والمطوّرين الآخرين في إنشاء النصوص البرمجية والإضافات وتطبيقات الويب معًا وصيانتها.

أساسيات التعاون

من أجل التعاون في مشروع، يجب أن يكون لديك أنت والمتعاونون إذن تعديل ملف مشروع "برمجة تطبيقات Google" (وحاويته، إذا كان نصًا برمجيًا مرتبطًا). يتيح ذلك لجميع أعضاء فريقك الاطّلاع على رمز Apps Script وإجراء تغييرات عليه. يمكن للمحرِّرين أيضًا إنشاء إصدارات جديدة من الرمز البرمجي ونشر الإضافات ونشر النصوص البرمجية كتطبيقات ويب أو كبرامج تنفيذية لـ Apps Script API.

يمكنك مساعدة فريقك من خلال التخطيط المسبق لكيفية التعامل مع تعديل المشروع أو الإضافة أو تطبيق الويب ونشره (إن أمكن) ونشره. المشاريع المستقلة هي عادةً أسهل للتعاون في العمل عليها، لأنها تظهر مباشرةً في Google Drive وهي نوع المشروع الذي ننصح به لتطوير التطبيقات الإضافية وتطبيقات الويب.

تحدث مشكلة شائعة في التعاون عندما يغادر مالك مشروع نص برمجي الفريق بدون نقل ملكية المشروع إلى شخص آخر في الفريق. وقد يؤدي ذلك إلى عدم تمكّنك من صيانة المشروع أو تعديله. يمنع وضع مشروع النصوص البرمجية في مساحة تخزين سحابي مشتركة حدوث هذه المشكلة، لأنّ الملفات في مساحة التخزين السحابي المشتركة لا يكون لها مالكو حسابات محدّدون.

التعاون باستخدام أداة سطر الأوامر clasp

clasp يتيح لك مزامنة المشاريع بين script.google.com ونظام الملفات المحلي. يتيح لك ذلك تبسيط عملية تطوير الرموز البرمجية وأتمتتها إذا كان أنت والمتعاونون يستخدمون برنامج إدارة التحكّم في المصدر مثل git.

لمزيد من التفاصيل، يُرجى الرجوع إلى دليل واجهة سطر الأوامر باستخدام clasp.

التعاون باستخدام مساحات التخزين السحابي المشتركة

توفّر مساحات التخزين السحابي المشتركة (المعروفة سابقًا باسم "مساحات Drive للفريق") مساحة مشتركة في Google Drive يمكن لمجموعات من مستخدمي Drive التعاون فيها بفعالية أكبر. تكون الملفات الموضوعة في مساحة تخزين سحابي مشتركة مملوكة للمجموعة ككل، وليس للأفراد. وهذا يعني أنّه عندما يغادر أحد المتعاونين المجموعة، لا يأخذ ملكية الملفات ولا يتحكم فيها.

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

عند استخدام مساحات التخزين السحابي المشتركة للتعاون في مشاريع "برمجة تطبيقات Google"، يُرجى مراعاة ما يلي:

  1. يمكن للمتعاونين الذين لديهم إذن تعديل في مساحة التخزين السحابي المشتركة إنشاء ملفات جديدة أو نقلها إلى مساحة التخزين السحابي المشتركة. وبصفتهم محرِّرين للنصوص البرمجية، يمكنهم عرض وتعديل مشاريع النصوص البرمجية وتنفيذ رموز النصوص البرمجية وإنشاء إصدارات جديدة من النصوص البرمجية ونشر الإضافات.
  2. لنشر النصوص البرمجية كتطبيقات ويب أو ملفات تنفيذية لواجهة برمجة التطبيقات Apps Script API، يجب أن ينتمي الحساب الذي ينشئ عملية النشر إلى النطاق نفسه الذي يقع فيه محرك الأقراص المشترَك الذي يتضمّن النص البرمجي.
  3. تتيح لك مساحات التخزين السحابي المشتركة مشاركة ملفات محددة ضمن مساحة التخزين السحابي المشتركة مع مستخدمين آخرين خارج المجموعة، وتعديل أذونات التعديل والاطّلاع على هذه الملفات، مثل أي ملف آخر على Drive. ومع ذلك، إذا كان المستخدم جزءًا من الفريق الذي تنتمي إليه مساحة التخزين السحابي المشتركة، لا يمكنك تقليل إمكانية وصوله إلى ملفات محددة. على سبيل المثال، إذا كان لدى مستخدم إذن وصول للتعديل في مساحة تخزين سحابي مشتركة، لا يمكنك تغيير ذلك إلى إذن بالاطّلاع فقط على ملف معيّن ضمن مساحة التخزين السحابي المشتركة.
  4. يمكن أيضًا للمتعاونين الذين لديهم إذن وصول كامل إلى مساحة تخزين سحابي مشتركة حذف الملفات ومشاريع Apps Script، ونقل الملفات خارج مساحة التخزين السحابي المشتركة.
  5. تستخدم كل النصوص البرمجية المرتبطة بالحاوية قوائم أذونات الوصول نفسها الخاصة بالمُشاهد والمحرِّر المحدّدة لملف الحاوية. على سبيل المثال، إذا كان لديك الإذن بتعديل جدول بيانات Google، سيكون لديك أيضًا الإذن بتعديل أي رمز مشروع لبرمجة التطبيقات مرفقًا به. يؤدي وضع ملف حاوية مماثل في مساحة تخزين سحابي مشتركة إلى منح المتعاونين في مساحة التخزين السحابي المشتركة إذن الوصول نفسه إلى رمز النص البرمجي الذي لديهم إلى الحاوية نفسها.
  6. عندما يكون مشروع نص برمجي مضمّنًا في مساحة تخزين سحابي مشتركة، قد يتم حظر الوصول إلى مشروع Cloud Platform (GCP). راجِع قسم دليل مشاريع Google Cloud Platform ومساحات التخزين السحابي المشتركة لمعرفة التفاصيل.
  7. تتوقف تطبيقات الويب المنشورة في أحد النطاقات عن العمل في حال تغيير ملكيتها إلى مساحة تخزين سحابي مشتركة أو حساب في نطاق مختلف. يمكن تصحيح ذلك من خلال نقل النص البرمجي مرة أخرى إلى نطاقه الأصلي.
  8. وبالمثل، تتوقف مشاريع النصوص البرمجية التي تم نشرها كملف قابل للتنفيذ في Apps Script API عن العمل عندما تطلبها واجهة برمجة التطبيقات في حال نقلها من ملف تخزين مشترَك من نطاق إلى آخر. يمكن تصحيح ذلك من خلال إعادة النص البرمجي إلى نطاقه الأصلي.

التعاون باستخدام مجلد مشترك

إذا لم تتمكن من التعاون باستخدام مساحة تخزين سحابي مشتركة، يمكنك استخدام مجلد مشترك بدلاً من ذلك. عند إنشاء مشروع "برمجة تطبيقات Google" أو نقله إلى مجلّد في Google Drive يمكن للمستخدمين الآخرين الوصول إليه، يكتسبون إذن الوصول نفسه إلى مشروع "برمجة تطبيقات Google" الذي لديهم للمجلد. على سبيل المثال:

  • إذا كان لدى أحد المستخدمين إذن الوصول للتعديل في المجلد، يمكنه تعديل مشروع "برمجة تطبيقات Google" أو حذفه وتشغيل النص البرمجي.
  • إذا كان لدى مستخدم إذن بالاطّلاع فقط على المجلد، يمكنه الاطّلاع على مشروع "برمجة تطبيقات Google" وتشغيل النص البرمجي.

التعاون من خلال مشاركة المشروع

يمكنك التعاون في مشروع من خلال مشاركته مباشرةً مع كل المتعاونين. يمكنك مشاركة مشاريع النصوص البرمجية مباشرةً التي تقع في مجلدات عادي Google Drive أو في مساحات التخزين السحابي المشتركة. إذا كنت تستخدِم هذه الطريقة، يُنصح بالتخطيط بعناية لتحديد الجهة التي تملك النص البرمجي وتحافظ عليه بمرور الوقت.

تظهر المشاريع المستقلة في Google Drive كملف ويمكنك مشاركتها مثل أي ملف آخر. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة مشاركة الملفات والمجلدات.

لا تظهر المشاريع المرتبطة بالحاويات من Google Drive. لمشاركة مشروع مرتبط بحاوية، شارِك ملف الحاوية родительский الأساسي. على سبيل المثال، إذا كان لديك نص برمجي مرتبط بجدول بيانات في "جداول بيانات Google"، يمكنك منح إذن تعديل النص البرمجي لشخص ما من خلال منحه إذن تعديل جدول البيانات. تكتسِب المشاريع المرتبطة بالحاويات إعدادات الوصول للعارض والمحرِّر في ملف الحاوية.

تستخدم جميع النصوص البرمجية المرتبطة بالحاوية قائمة الوصول نفسها للمالك والمُشاهد والداعم المُحرِّر المحدّدة لملف الحاوية. يتولى مالك الحاوية ملكية مشروع نص برمجي جديد بغض النظر عن الشخص الذي أنشأه.

التعاون وموارد المشاريع

الموارد هي كيانات مرتبطة بمشروعك ولكنها موجودة بشكل مستقل عن تعليماته البرمجية. يوضّح هذا القسم كيفية تأثير التعاون في مشروع على موارده، وعلى وجه الخصوص: مشروع Cloud Platform وعوامل التفعيل والمكتبات وخصائص المستخدمين.

التعاون ومشاريع Google Cloud

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

إذا كان من المخطّط نشر مشروع النصوص البرمجية كأحد الإضافات، يجب أن يستخدم مشروع Google Cloud عاديًا. عند التعاون في تطبيق يستخدم مشروعًا عاديًا على Google Cloud، ننصحك بضبط أصحاب الأدوار في Google Cloud لضمان حصول جميع المتعاونين على مستويات الوصول المناسبة. يساعد ذلك في تجنُّب الحالات التي تفقد فيها إمكانية الوصول إلى إعدادات المشروع على Cloud لأنّ مالكيه لم يعُد يعملون في مؤسستك. وهذا مهم بشكل خاص للملحقات.

التعاون وعوامل التفعيل

عند التعاون في مشروع، لا تتم مشاركة أي عوامل تشغيل قابلة للتثبيت تنشئها مع المستخدمين الذين يمكنهم الوصول إلى مشروعك. إذا كنت بحاجة إلى إعداد عامل تشغيل متناسق لجميع المتعاونين، يمكنك استخدام خدمة النص البرمجي لإنشاء المشغلات آليًا في وقت التشغيل. لمزيد من المعلومات، يُرجى الاطّلاع على إدارة عوامل التفعيل آليًا.

التعاون والمكتبات

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

التعاون وخصائص المستخدِمين

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