یادداشت هایی برای توسعه دهندگان
در حالی که نصب واقعی XOOPS برای استفاده توسعه شبیه به نصب معمولی است که قبلاً توضیح داده شده است، تفاوتهای کلیدی هنگام ساخت یک سیستم آماده توسعهدهنده وجود دارد.
یک تفاوت بزرگ در نصب برنامه نویس این است که به جای تمرکز روی محتویات دایرکتوری htdocs، نصب توسعه دهنده همه فایل ها را نگه می دارد و آنها را تحت کنترل کد منبع با استفاده از git نگه می دارد.
تفاوت دیگر این است که دایرکتوری های xoops_data و xoops_lib معمولاً می توانند بدون تغییر نام در جای خود باقی بمانند، تا زمانی که سیستم توسعه شما مستقیماً در اینترنت باز (به عنوان مثال در یک شبکه خصوصی، مانند پشت یک روتر) در دسترس نباشد.
اکثر توسعه دهندگان بر روی یک سیستم localhost کار می کنند که دارای کد منبع، پشته وب سرور و هر ابزار مورد نیاز برای کار با کد و پایگاه داده است.
می توانید اطلاعات بیشتری را در فصل ابزار تجارت بیابید.
گیت و هاست مجازی
Section titled “گیت و هاست مجازی”بیشتر توسعهدهندگان میخواهند بتوانند با منابع فعلی بهروز بمانند و تغییرات را در بالادست مخزن XOOPS/XoopsCore27 در GitHub انجام دهند. این بدان معناست که به جای دانلود بایگانی انتشار، میخواهید یک کپی از XOOPS را fork و از git برای کلون کردن آن مخزن را در جعبه برنامهنویس خود استفاده کنید.
از آنجایی که مخزن دارای ساختار خاصی است، به جای کپی کردن فایل ها از پوشه htdocs به سرور وب خود، بهتر است وب سرور خود را به پوشه htdocs داخل مخزن کلون شده محلی خود هدایت کنید. برای انجام این کار، ما معمولاً یک Virtual Host یا vhost جدید ایجاد می کنیم که به محیط git controlled source code.
In a WAMP ما اشاره می کند، صفحه پیش فرض localhost که یک بخش Hort_rt در قسمت Tool را دارد. به اینجا منجر می شود:

با استفاده از این می توانید یک ورودی VirtualHost راه اندازی کنید که مستقیماً در ورودی git controlled repository.
Here is an example (هنوز) شما در wamp64/bin/apache/apache2.x.xx/conf/extra/httpd-vhosts.conf قرار می گیرد.
<VirtualHost *:80> ServerName xoops.localhost DocumentRoot "c:/users/username/documents/github/xoopscore27/htdocs" <Directory "c:/users/username/documents/github/xoopscore27/htdocs/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory></VirtualHost>همچنین ممکن است لازم باشد یک ورودی در Windows/System32/drivers/etc/hosts اضافه کنید:
127.0.0.1 xoops.localhostاکنون، می توانید برای آزمایش روی http://xoops.localhost/ نصب کنید، در حالی که مخزن خود را دست نخورده نگه دارید، و وب سرور را با یک URL ساده در دایرکتوری htdocs نگه دارید. به علاوه، میتوانید نسخه محلی XOOPS خود را در هر زمانی بدون نیاز به نصب مجدد یا کپی فایلها به آخرین نسخه اصلی بهروزرسانی کنید. و، میتوانید برای کمک به XOOPS از طریق GitHub، بهبودها و اصلاحاتی در کد ایجاد کنید.
وابستگی های آهنگساز
Section titled “وابستگی های آهنگساز”XOOPS 2.7.0 از Composer برای مدیریت وابستگی های PHP خود استفاده می کند. درخت وابستگی در htdocs/xoops_lib/ داخل مخزن منبع زندگی می کند:
composer.dist.jsonفهرست اصلی وابستگیهایی است که همراه با انتشار ارسال میشوند.composer.jsonکپی محلی است که در صورت نیاز می توانید آن را برای محیط توسعه خود سفارشی کنید.composer.lockنسخه های دقیق را پین می کند تا نصب ها تکرار شوند.vendor/شامل کتابخانه های نصب شده است (Smarty 4، PHPMailer، HTMLPurifier، firebase/php-jwt، monolog، symfony/var-dumper، xoops/xmf، ZXQ3KEEPQ0، و دیگران).
برای یک git clone of XOOPS 2.7.0, starting from ریشه مخزن جدید، اجرا کنید:
cd htdocs/xoops_libcomposer installتوجه داشته باشید که composer.json در ریشه مخزن وجود ندارد - پروژه تحت htdocs/xoops_lib/ زندگی می کند، بنابراین قبل از اجرای Composer باید cd را در آن دایرکتوری وارد کنید.
تاربالهای عرضهشده با vendor/ از پیش پر شده ارسال میشوند، اما git clones may not. Keep vendor/ intact در نصبهای توسعهدهنده - XOOPS وابستگیهای خود را از آنجا در زمان اجرا بارگذاری میکند.
کتابخانه XMF (XOOPS Module Framework) به عنوان یک وابستگی Composer در نسخه 2.7.0 ارسال می شود، بنابراین می توانید از XMF\Request، XMF\Database\TableLoad و کلاس های مرتبط بدون کد نصب اضافی استفاده کنید.