Apps Script ویژگیهایی را ارائه میدهد که به شما و سایر توسعهدهندگان کمک میکند تا اسکریپتها، افزونهها و برنامههای وب را با هم بسازید و نگهداری کنید.
اصول اولیه همکاری
برای همکاری در یک پروژه، شما و همکارانتان باید همگی به فایل پروژه Apps Script (و کانتینر آن، در صورتی که یک اسکریپت محدود باشد) دسترسی ویرایشگر داشته باشید. این به همه اعضای تیم شما اجازه میدهد کد Apps Script را ببینند و در آن تغییراتی ایجاد کنند. ویرایشگران همچنین میتوانند نسخههای جدید کد ایجاد کنند، افزونهها را منتشر کنند و اسکریپتها را به عنوان برنامههای وب یا به عنوان فایلهای اجرایی برای API Apps Script مستقر کنند.
شما میتوانید با برنامهریزی قبلی در مورد نحوهی ویرایش، بررسی، نسخهبندی و (در صورت لزوم) استقرار و انتشار پروژه، افزونه یا برنامهی وب خود، به تیم خود کمک کنید. پروژههای مستقل معمولاً سادهترین نوع همکاری هستند، زیرا مستقیماً در گوگل درایو نمایش داده میشوند و نوع پروژهی پیشنهادی برای توسعهی افزونه و برنامهی وب هستند.
یک مشکل رایج در همکاری زمانی رخ میدهد که صاحب پروژه اسکریپت، تیم را بدون انتقال مالکیت پروژه به شخص دیگری در تیم ترک میکند. این میتواند شما را قادر به نگهداری یا بهروزرسانی پروژه نکند. قرار دادن پروژه اسکریپت شما در یک درایو مشترک از این مشکل جلوگیری میکند، زیرا فایلهای موجود در یک درایو مشترک، صاحبان خاصی ندارند.
همکاری با ابزار خط فرمان clasp
clasp به شما امکان میدهد پروژهها را بین script.google.com و سیستم فایل محلی خود همگامسازی کنید. این به شما امکان میدهد توسعه کد خود را ساده و خودکار کنید اگر شما و همکارانتان از نرمافزار مدیریت کنترل منبع مانند git استفاده میکنید.
برای جزئیات بیشتر، به رابط خط فرمان با استفاده از راهنمای clasp مراجعه کنید.
همکاری با درایوهای مشترک
درایوهای اشتراکی (که قبلاً با نام "درایوهای تیمی" شناخته میشدند) فضایی مشترک در گوگل درایو فراهم میکنند که در آن گروههایی از کاربران درایو میتوانند به طور مؤثرتری با هم همکاری کنند. فایلهایی که در یک درایو اشتراکی قرار میگیرند، متعلق به کل گروه هستند، نه افراد. این بدان معناست که وقتی یک همکار گروه را ترک میکند، مالکیت و کنترل فایل را با خود نمیبرد.
درایوهای اشتراکی همچنین به شما امکان میدهند فایلها را بین دامنهها جابجا کنید - یک درایو اشتراکی در یک دامنه میتواند همکارانی از دامنه دیگر داشته باشد که میتوانند فایلها را از آن دامنه به درایو اشتراکی منتقل کنند. این میتواند برای توسعهدهندگان Apps Script بسیار ارزشمند باشد، زیرا وسیلهای برای یک تیم فراهم میکند تا افزونهها، برنامههای وب یا سایر کدها را برای مشتریان در دامنههای مختلف توسعه دهند.
هنگام استفاده از درایوهای مشترک برای همکاری در پروژههای Apps Script، موارد زیر را در نظر داشته باشید:
- همکارانی که به ویرایشگر یک درایو مشترک دسترسی دارند، میتوانند فایلهای جدید را ایجاد یا به درایو مشترک منتقل کنند. به عنوان ویرایشگر اسکریپت، آنها میتوانند پروژههای اسکریپت را مشاهده و ویرایش کنند، کد اسکریپت را اجرا کنند، نسخههای جدید اسکریپت ایجاد کنند و افزونهها را منتشر کنند.
- برای استقرار اسکریپتها به عنوان برنامههای وب یا فایلهای اجرایی برای API Apps Script ، حسابی که استقرار را ایجاد میکند باید متعلق به همان دامنهای باشد که درایو مشترکی که اسکریپت در آن قرار دارد، در آن قرار دارد.
- درایوهای اشتراکی به شما این امکان را میدهند که فایلهای خاصی را در درایو اشتراکی با دیگران خارج از گروه به اشتراک بگذارید و مجوزهای ویرایش و مشاهده آنها را در مورد آن فایلها مانند هر فایل Drive دیگری بهروزرسانی کنید. با این حال، اگر کاربری عضوی از تیمی باشد که درایو اشتراکی به آن تعلق دارد، نمیتوانید دسترسی او را برای فایلهای خاص کاهش دهید. به عنوان مثال، اگر کاربری دسترسی ویرایش به یک درایو اشتراکی دارد، نمیتوانید آن را به دسترسی فقط مشاهده برای یک فایل خاص در درایو اشتراکی تغییر دهید.
- همکارانی که به درایو مشترک دسترسی کامل دارند، میتوانند فایلها و پروژههای اسکریپت برنامهها را نیز حذف کنند و فایلها را از درایو مشترک خارج کنند.
- همه اسکریپتهای متصل به کانتینر از همان فهرستهای دسترسی نمایشگر و ویرایشگر تعریفشده برای فایل کانتینر استفاده میکنند. برای مثال، اگر به یک Google Sheet دسترسی ویرایش دارید، به هر کد پروژه Apps Script متصل به آن نیز دسترسی ویرایش دارید. قرار دادن چنین فایل کانتینری در یک درایو مشترک، به همکاران درایو مشترک همان دسترسی را به کد اسکریپت میدهد که به خود کانتینر دارند.
- وقتی یک پروژه اسکریپت در یک درایو مشترک قرار دارد، دسترسی به پروژه پلتفرم ابری (GCP) آن ممکن است محدود شود. برای جزئیات بیشتر به بخش راهنمای پروژههای GCP و درایوهای مشترک مراجعه کنید.
- برنامههای وب مستقر در یک دامنه، در صورت تغییر مالکیت آنها به یک درایو مشترک یا حساب کاربری در دامنه دیگر، از کار میافتند. این مشکل را میتوان با انتقال اسکریپت به دامنه اصلی آن اصلاح کرد.
- به طور مشابه، پروژههای اسکریپتی که به عنوان یک فایل اجرایی API اسکریپت برنامهها مستقر میشوند، در صورت انتقال از طریق درایو مشترک از یک دامنه به دامنه دیگر، هنگام فراخوانی توسط API، عملکرد خود را متوقف میکنند. این مشکل را میتوان با انتقال اسکریپت به دامنه اصلی آن اصلاح کرد.
همکاری با یک پوشه مشترک
اگر نمیتوانید با یک درایو مشترک همکاری کنید، میتوانید به جای آن از یک پوشه مشترک استفاده کنید. وقتی یک پروژه Apps Script را به یک پوشه Google Drive که افراد دیگر میتوانند به آن دسترسی داشته باشند، ایجاد یا منتقل میکنید، آنها همان دسترسی را که به پوشه دارند، به پروژه Apps Script نیز به ارث میبرند. به عنوان مثال:
- اگر کسی دسترسی ویرایش به پوشه را داشته باشد، میتواند پروژه Apps Script را ویرایش یا حذف کند و اسکریپت را اجرا کند.
- اگر کسی فقط دسترسی مشاهده به پوشه را داشته باشد، میتواند پروژه Apps Script را مشاهده و اسکریپت را اجرا کند.
همکاری در اشتراکگذاری پروژه
شما میتوانید با اشتراکگذاری مستقیم پروژه با تمام همکاران، روی یک پروژه همکاری کنید. میتوانید پروژههای اسکریپتی را که در پوشههای معمولی گوگل درایو یا درایوهای اشتراکی قرار دارند، مستقیماً به اشتراک بگذارید. اگر از این روش استفاده میکنید، توصیه میشود که با دقت برنامهریزی کنید که چه کسی مالک و نگهدارنده اسکریپت در طول زمان خواهد بود.
پروژههای مستقل به صورت یک فایل در گوگل درایو شما نمایش داده میشوند و میتوانید آنها را مانند هر فایل دیگری به اشتراک بگذارید. برای اطلاعات بیشتر، به بخش اشتراکگذاری فایلها و پوشهها مراجعه کنید.
پروژههای متصل به کانتینر از گوگل درایو شما قابل مشاهده نیستند. برای اشتراکگذاری یک پروژه متصل به کانتینر، فایل کانتینر والد را به اشتراک بگذارید. به عنوان مثال، اگر اسکریپتی به یک صفحه گسترده گوگل شیت متصل دارید، میتوانید با تبدیل کردن کسی به ویرایشگر صفحه گسترده، او را به ویرایشگر اسکریپت تبدیل کنید. پروژههای متصل به کانتینر، تنظیمات دسترسی بیننده و ویرایشگر فایل کانتینر خود را به ارث میبرند.
تمام اسکریپتهای متصل به کانتینر از لیست دسترسی مالک، نمایشگر و ویرایشگر یکسانی که برای فایل کانتینر تعریف شده است، استفاده میکنند . مالک کانتینر، صرف نظر از اینکه چه کسی یک پروژه اسکریپت جدید را ایجاد کرده است، مالکیت آن را بر عهده میگیرد.
منابع همکاری و پروژه
منابع، موجودیتهایی هستند که با پروژه شما مرتبط هستند اما مستقل از کد آن وجود دارند. این بخش توضیح میدهد که چگونه همکاری در یک پروژه بر منابع آن، به ویژه: پروژه پلتفرم ابری، تریگرها، کتابخانهها و ویژگیهای کاربر، تأثیر میگذارد.
همکاری و پروژههای گوگل کلود
هر پروژه اسکریپت برنامهها یک پروژه گوگل کلود مرتبط دارد. پروژههای گوگل کلود مجموعه مالکان، ویرایشگران و سایر نقشهای خاص خود را دارند که میتوانند با مجموعه کاربرانی که میتوانند به پروژه اسکریپت دسترسی داشته باشند، متفاوت باشند.
اگر قرار است پروژه اسکریپت شما به عنوان یک افزونه منتشر شود، باید از یک پروژه استاندارد Google Cloud استفاده کند. وقتی در برنامهای که از یک پروژه استاندارد Google Cloud استفاده میکند، همکاری میکنید، توصیه میکنیم مالکان و نقشهای Google Cloud را پیکربندی کنید تا مطمئن شوید که همه همکاران شما از سطح دسترسی مناسبی برخوردارند. این کار به جلوگیری از موقعیتهایی که در آن دسترسی به تنظیمات Cloud پروژه را از دست میدهید، کمک میکند زیرا مالکان آن دیگر در سازمان شما نیستند. این امر به ویژه برای افزونهها مهم است.
همکاری و محرکها
وقتی در یک پروژه همکاری میکنید، هیچ تریگر قابل نصبی که ایجاد میکنید با کسانی که به پروژه شما دسترسی دارند به اشتراک گذاشته نمیشود. اگر نیاز به تنظیم تریگر ثابت برای همه همکاران دارید، میتوانید از سرویس اسکریپت برای ایجاد تریگرها به صورت برنامهنویسی شده، در زمان اجرا، استفاده کنید. برای اطلاعات بیشتر، به مدیریت تریگرها به صورت برنامهنویسی شده مراجعه کنید.
همکاری و کتابخانهها
کتابخانههای موجود در پروژه شما برای همکاران پروژه در دسترس هستند. با این حال، اگر آنها حداقل دسترسی سطح خواندن به یک کتابخانه موجود را نداشته باشند، نمیتوانند از آن کتابخانهها استفاده کنند - در این صورت اسکریپت خطا میدهد. برای اطلاعات بیشتر در مورد کتابخانهها، به مدیریت کتابخانهها مراجعه کنید.
همکاری و ویژگیهای کاربر
ویژگیهای کاربر منحصر به کاربری است که آنها را ایجاد کرده است. این بدان معناست که همکاران پروژه نمیتوانند ویژگیهای کاربر شما را ببینند یا به آنها دسترسی داشته باشند و شما نیز نمیتوانید ویژگیهای آنها را ببینید یا به آنها دسترسی داشته باشید. اگر میخواهید ویژگیهای خاص پروژه را با همکاران به اشتراک بگذارید، از ویژگیهای اسکریپت استفاده کنید. برای اطلاعات بیشتر، به راهنمای ویژگیها مراجعه کنید.