استفاده از مرکز توسعه دهنده
مرکز توسعهدهنده برای هر برنامه و پلاگین به گونهای طراحی شده است که ایجاد و بهروزرسانی برنامهها و افزونهها را برای نرمافزار انجمن Invision تسهیل میکند. این می تواند به شما کمک کند به طور خودکار مواردی مانند تنظیمات، تغییرات پایگاه داده، وظایف و موارد دیگر را ردیابی کنید. در حالی که میتوان با تنظیم فایلهای خود مستقیماً روی دیسک، از بسیاری از عملکردهای موجود از طریق مرکز توسعهدهنده عبور کرد، ما قویاً شما را تشویق میکنیم تا در صورت امکان از مرکز توسعهدهنده برای به حداقل رساندن زمان توسعه و همچنین احتمال بروز اشکال در کد شخص ثالث خود استفاده کنید.
از آنجایی که نیازهای یک برنامه کاربردی در مقابل یک افزونه متفاوت است، مرکز توسعه دهنده برای هر یک متفاوت است.
برنامه ها
مرکز توسعهدهنده برای هر برنامه به شما امکان میدهد چندین جنبه از برنامه را مدیریت کنید و ایجاد روالهای ارتقا و مدیریت نسخهها را آسان میکند. ما از طریق هر برگه در مرکز توسعهدهندگان اجرا میکنیم تا کارهایی را که میتوان انجام داد مشخص کنیم.
ماژول ها - فرانت
تب ماژولهای فرانت به شما امکان میدهد ماژولهای فرانت جدیدی ایجاد کنید، که مربوط به پوشههای زیر برنامهها/(Your-application)/modules/front/ هستند. هنگامی که یک ماژول فرانت ایجاد کردید، سپس می توانید یک یا چند کنترلر در زیر آن ایجاد کنید، و می توانید تعریف کنید که کدام ماژول، ماژول فرانت پیش فرض است (یعنی اگر از index.php?app=(برنامه شما) بازدید کنید، کدام ماژول باید بارگذاری شود)، و همچنین اینکه کدام کنترلر پیش فرض در هر ماژول است. همچنین می توانید ماژول ها و کنترلرها را در اینجا ویرایش و حذف کنید.
ماژول ها - ادمین
درست مانند ماژول های فرانت، می توانید ماژول های ادمین خود را از مرکز توسعه دهندگان مدیریت کنید. رفتار این تب بسیار شبیه به تب ماژول های فرانت است، با یک تفاوت کلیدی (و مهم): زمانی که کنترلرها را ایجاد می کنید، می توانید به طور همزمان ورودی های منو، محدودیت های ACP ایجاد کنید و می توانید از یکی از سه الگو برای خود کنترلر استفاده کنید. (یک کنترل کننده معمولی، یک کنترل کننده کمکی جدول، یا یک کنترل کننده گره). اگر کنترلکننده یک کنترلکننده گره باشد (یعنی صفحهای که به شما امکان میدهد دستههایی را که میخواهید از عملکرد Node برای آن استفاده کنید) مدیریت کنید، باید از الگوی کنترل گر گره استفاده کنید. به طور مشابه، اگر قصد خروجی یک جدول از داده ها را دارید (مانند لیست اعضا یا گزارش های سیستم) باید از الگوی کنترلر جدول کمکی استفاده کنید.
تنظیمات
خیلی ساده، تب تنظیمات به شما امکان می دهد تنظیمات جدید را اضافه کنید و مقادیر پیش فرض آنها را تعریف کنید. سپس این تنظیمات در یک فایل settings.json در data/ folder برنامه شما ردیابی میشوند و زمانی که مدیران برنامه شما را نصب میکنند، رکوردهای تنظیمات نیز نصب میشوند. همچنان باید یک یا چند کنترلر برای ارائه تنظیمات به مدیر ایجاد کنید تا مدیر بتواند مقادیر را در صورت لزوم تنظیم کند.
تسک ها
می توانید از برگه تسک ها برای اضافه کردن هر کاری که توسط برنامه شما مورد نیاز است استفاده کنید. شما یک "کلید" را تعریف می کنید که به عنوان نام فایل استفاده می شود، و این کار چند بار باید اجرا شود، و سپس یک فایل اسکلت در پوشه applications/(your-application)/tasks/ به طور خودکار برای شما ایجاد می شود. شما برای تکمیل وظایف شما همچنین در یک فایل tasks.json (در پوشهapplication's data/) ردیابی میشود و پس از نصب برنامه بهطور خودکار در نرمافزار وارد میشود.
نسخه ها
با یک برنامه کاملاً جدید، دو رکورد را به طور خودکار در برگه نسخه ها مشاهده خواهید کرد: install، که نشان دهنده نصب برنامه شما است، و working، که نشان دهنده نسخه منتشر نشده فعلی است (تا زمانی که آماده انتشار برنامه خود نباشید، شماره نسخه را تعریف نمی کنید. ، حتی برای نسخه های به روز رسانی بعدی). به طور معمول، شما نیازی به تعریف هیچ گونه تغییر پایگاه داده در اینجا ندارید. وقتی تغییراتی را در برگه Database Schema ایجاد میکنید (به زیر مراجعه کنید)، تغییرات SQL بهطور خودکار هم برای نصب و هم برای آخرین نسخه ردیابی میشوند. با این حال، اگر برنامه خود را از 3.x به 4.x بهروزرسانی میکنید، ممکن است لازم باشد به صورت دستی پرسوجوهایی را برای اجرا در حین ارتقا تعریف کنید، یا اگر جداول پایگاه داده را خارج از برنامه خود تنظیم میکنید، باید این تغییرات را به صورت دستی در اینجا تعریف کنید.
همچنین میتوانید روالهای ارتقا و درخواستهای دستی نسخههای قدیمیتر را در صورت نیاز از این صفحه اضافه و حذف کنید.
اگر در حال ایجاد نسخه ارتقاء هستید که نیاز به اجرای کد بیشتری نسبت به یک جستجوی ساده پایگاه داده دارد، می توانید روی نماد کد </> برای نسخه "working" کلیک کنید که یک فایل upgrade.php در دایرکتوری راه اندازی/upg_working/ برنامه شما ایجاد می کند. سپس میتوانید این فایل را باز کنید و دستورالعملهای موجود در فایل را دنبال کنید تا مراحل ارتقا را ایجاد کنید که کار بیشتری نسبت به اجرای پرسوجوهای پایگاه داده انجام میدهند.
میتوانید درباره نسخهسازی برای برنامهها در مقاله نسخهها/بهروزرسانی بیشتر بخوانید.
ویجت ها
اگر برنامه شما ویجت های نوار کناری را تعریف می کند، می توانید آنها را از مرکز توسعه دهنده برنامه خود تعریف کنید. هنگامی که ویجت را برای برنامه خود اضافه می کنید، یک کلید ویجت تعریف می کنید و مشخص می کنید که ویجت شما دارای کدام کلاس ویجت است (که عملکردهای خودکار خاصی را ارائه می دهد، مانند ذخیره ویجت بر اساس مجوزها در صورت لزوم). میتوانید مشخص کنید که آیا ویجت شما در نوار کناری و/یا در برنامه صفحات برای استفاده در صفحات موجود باشد، میتوانید تعیین کنید که آیا ویجت شما باید در برنامه شما بهطور پیشفرض در خارج از کادر نمایش داده شود یا خیر، انتخاب کنید که از کدام سبک فرم پیکربندی استفاده شود ( منو یا پنجره بازشو)، و تعیین کنید که آیا ویجت را می توان بیش از یک بار در همان صفحه استفاده کرد. پس از ذخیره فرم، یک الگوی اسکلت روی applications/(برنامه شما)/widgets/ نوشته میشود که باید آن را مطابق مناسب تنظیم کنید و ویجت در /data/widgets.json برای نصب و ارتقاء برنامه شما ردیابی میشود.
هوک ها
برنامهها، مانند افزونهها، میتوانند هوک هایی را تعریف کنند که اساساً راهی برای نادیده گرفتن رفتار کد پیشفرض در Suite هستند. می توانید اطلاعات بیشتری در مورد قلاب کد و قلاب تم در مقالات مربوطه بخوانید.
افزودنی ها
افزودنی ها به شما این امکان را می دهند که بدون نیاز به "قلاب کردن" مستقیم به اجرای کد، اقداماتی را در نقاط خاصی در طول اجرای کد معمولی انجام دهید. انواع مختلفی از برنامه های افزودنی در مجموعه وجود دارد. برای ایجاد یک برنامه افزودنی جدید برای برنامه خود، در زیر تب Extensions، برنامه ای را که افزونه مورد نظر خود را (معمولاً هسته یا Nexus) در خود نگه می دارد، گسترش می دهید و سپس روی نماد + در کنار آن نوع پسوند کلیک می کنید. یک فایل اسکلت در دایرکتوری extensions/(app)/(extension)/ برای شما نوشته می شود.
اسکیمای پایگاه داده
هر زمان که نیاز به افزودن جداول پایگاه داده جدید یا تنظیم جداول پایگاه داده موجود برای برنامه خود داشتید، همیشه باید این کار را در تب Database Schema در مرکز توسعه دهنده برنامه خود انجام دهید. تغییرات شما نه تنها بلافاصله برای شما به صورت خودکار در پایگاه داده شما اجرا می شود، بلکه در حین نصب و ارتقاء برنامه شما ردیابی و به طور خودکار اجرا می شود. میتوانید جداول پایگاه داده، ستونها، فهرستها و درجهای پیشفرض برای این جداول را از این ناحیه از مرکز توسعهدهنده از طریق یک رابط کاربری گرافیکی ساده برای استفاده، اضافه، ویرایش و حذف کنید.
محدودیت های مدیریت CP
این برگه از مرکز توسعهدهنده به شما امکان میدهد محدودیتهای مدیریت CP را تعریف کنید، که سپس میتوانید کد خود را بررسی کنید تا مشخص کنید آیا مدیری که در حال حاضر وارد سیستم شدهاید اجازه انجام عملی را دارد که میخواهد انجام دهد یا خیر. هیچ الزام فنی برای استفاده از محدودیتهای مدیریت CP وجود ندارد، اما به شدت توصیه میشود زمانی که برنامه شما عملکردهای مختلف را ارائه میکند، این کار را انجام دهید. به عنوان مثال، اگر برنامه شما می تواند به مدیران اجازه دهد محتوا اضافه کنند و آمار گزارش را مشاهده کنند، یک وب سایت ممکن است بخواهد به یک گروه از مدیران اجازه انجام همه کارها را بدهد و به گروه دیگری از مدیران فقط اجازه مشاهده آمار را بدهد. شما می توانید با تعریف این محدودیت ها در Developer Center و سپس بررسی محدودیت های موجود در کد خود، این کار را به راحتی انجام دهید.
محدودیت ها به یک ماژول گره خورده است، بنابراین ابتدا باید یک ماژول مدیریت ایجاد کنید (و می توانید به طور خودکار یک محدودیت اساسی در طول این فرآیند ایجاد کنید). اگر ماژول شما مشاهده، افزودن، ویرایش و حذف را در یک ماژول انجام میدهد (به عنوان مثال)، ممکن است بخواهید محدودیتهای اضافی را از زبانه محدودیتهای مدیریت CP ایجاد کنید و سپس کنترلکنندههای خود را تنظیم کنید تا محدودیت مناسب را هنگامی که مدیریت تلاش میکند بررسی کند. آن عمل خاص را انجام دهد.
همچنین توجه داشته باشید که میخواهید برای هر گروه محدودیت و هر محدودیتی که در این صفحه فهرست شده است، رشتههای زبان ایجاد کنید، زیرا رشتههای زبان در ناحیه Admin CP Restrictions AdminCP استفاده میشوند. اگر یک محدودیت "myappview" ایجاد کرده اید، کلید زبانی که می خواهید تنظیم کنید برای گروه "r__myappview" و "r__myappview_manage" (به طور پیش فرض، مگر اینکه این محدودیت را حذف کنید) برای خود محدودیت خواهد بود.
منوی CP مدیریت
تب Admin CP Menu به شما امکان می دهد پیوندهای خود را در منوی AdminCP مدیریت کنید و به فایل data/acpmenu.json برای برنامه شما مربوط می شود. هنگام افزودن ماژولهای مدیریت، ورودیهای جدید AdminCP Menu را بهطور خودکار ایجاد خواهید کرد (اگر این کار را انتخاب کنید)، با این حال میتوانید این فایل را به صورت دستی ویرایش کنید تا در صورت نیاز، منو را بیشتر سفارشی کنید.
اگر می خواهید یک ورودی منو (یا چندین ورودی) را در زیر برگه آمار قرار دهید، باید از برگه سطح بالا "stats" استفاده کنید.
پلاگین ها
تنها برگه Developer Center برای افزونهها که برای برنامهها وجود ندارد، برگه «Information» است که به شما امکان میدهد اطلاعات مربوط به افزونه خود را تنظیم کنید (نویسنده، نام افزونه و غیره). بقیه برگهها با آنهایی که برای برنامهها هستند یکسان هستند و همان هدف را دنبال میکنند. میتوانید در مستندات برنامهنویس افزونهها درباره افزونهها و نحوه استفاده از آنها بیشتر بیاموزید.