John Ennew ،یکی از اعضاء تیم دروپال 8 ، و Deeson سرپرست فنی تیم، سوالات مشتریان در مورد دروپال 8 را گرد آوری کرده و لیست مختصر و مفیدی را فراهم کرده اند.
John Ennew ،یکی از اعضاء تیم دروپال 8 ، و Deeson سرپرست فنی تیم، سوالات مشتریان در مورد دروپال 8 را گرد آوری کرده و لیست مختصر و مفیدی را فراهم کرده اند.

John Ennew ،یکی از اعضاء تیم دروپال 8 ، و Deeson سرپرست فنی تیم، سوالات مشتریان در مورد دروپال 8 را گرد آوری کرده و لیست مختصر و مفیدی را فراهم کرده اند.
John سخنگوی DrupalCon است و ماژول های دروپال که بر روی هزاران سایت در سراسر دنیا استفاده می شوند را حفظ و نگهداری می کند. او دارای مدرک کارشناسی ارشد در مهندسی سیستم های کامپیوتری است و علاوه بر کسب عنوان تکنسین سال 2015 ، مهندس مورد تایید موسسه فنی و مهندسی نیز می باشد.

فهرست مطالب

  • برنامه ریزی برای دروپال 8

1. چرا توسعه ی دروپال 8 اینقدر طول کشید؟

2. چه زمانی می توانم کار با دروپال 8 را آغاز کنم؟

3. چه مدت طول می کشد تا ماژول های متداول دروپالی، در دروپال 8 قابل استفاده شوند؟

4. توسعه دهندگان دروپال 7 تا چه اندازه نیاز به یادگیری دارند؟

5. آیا با استفاده از دروپال 8  پروژه ها ارزان تر تمام می شوند؟

6. آیا با استفاده از دروپال 8  پروژه ها سریعتر تمام می شوند؟

  • پیامدهایی برای دروپال 7

7. آیا مسیری برای ارتقاء از نسخه های قبلی دروپال وجود دارد؟

8. حالا که دروپال 8 منتشر شده است،پشتیبانی از دروپال 7 تا چه زمانی ادامه می یابد؟

  • قابلیت های جدید در دروپال 8

9. آیا Drupal Commerce به عنوان یک ویژگی در دروپال 8  ارائه شده است؟

10. آیا در دروپال 8 روش متفاوتی برای مدیریت سایت های چند زبانه وجود دارد؟

11. تجربه ی ویرایشگر محتوا در دروپال 8 چه تفاوتی دارد؟

12. آیا دروپال 8 مجوزهای پیچیده ی کاربر و محتوا را به گونه ای متفاوت مدیریت می کند؟

  • تعامل کاربری و دروپال 8

13. آیا دروپال 8 روش قالب دهی و استانداردهای تعامل کاربری را تغییر می دهد؟

14.  قابلیت دسترسی در دروپال 8 چگونه مدیریت شده است؟

  • دروپال در تجارت

15. آیا دروپال 8 شیوه های توسعه ی تجارت از قبیل تست خودکار را آسان تر می کند؟

16. آیا در دروپال 8 مدیریت مجموعه ی بزرگی از سایت ها آسان تر است؟

17. آیا در دروپال 8 مدیریت پیکربندی بهبود یافته است؟

  • تغییرات ساختاری

18. اصطلاح" Headless Drupal"در دروپال 8 چه مفهومی دارد؟

19. آیا دروپال 8 چگونگی ادغام دروپال با سیستم های دیگر را تغییر می دهد؟

20. آیا در لایه ی انتزاعی دیتابیس تفاوتی ایجاد شده است؟

21. شنیده ام در هسته ی دروپال 8  از سیمفونی/ Symfony بسیار زیاد استفاده شده است،پیامدهای آن چیست؟

  • کارآیی و امنیت

22. آیا در دروپال 8 کارآیی بهبود یافته است؟

23. آیا در دروپال 8  بهبودی در امکان "دسترس پذیری بالا"حاصل شده است؟

24. آیا دروپال 8 در رویکرد امنیتی خود وجوه تمایز عمده ای  دارد؟

  • برنامه ریزی برای دروپال 8

1. چرا توسعه ی دروپال 8 اینقدر طول کشید؟

15 سال از موجودیت دروپال می گذرد و 5 سال آن صرف توسعه ی دروپال 8 شده است. این زمان برای تولید یک نسخه، بسیار طولانی به نظر می رسد.

با نگاهی دقیق تر متوجه می شوید که دروپال 8  در مقایسه با دروپال 7 تغییرات مهم زیادی داشته است.تعداد زیادی از الگوها و مفاهیم جدید برنامه نویسی اتخاذ شده اندکه دروپال را با استانداردها سازگارتر خواهند کرد.این به معنای حذف اکثر روش های قدیمی و خاص دروپال برای انجام کارها و به کارگیری تکنولوژیها و استانداردهای شناخته شده تر می باشد.

مبحث طرح شده در جامعه ی دروپال از این قرار است که در آینده روند انتشار نسخه ها به صورت تدریجی و مرحله ای خواهد بود تا به این ترتیب امکان توسعه ی ویژگی ها در فازهای جداگانه فراهم شود، به جای اینکه برای تولید یک نسخه ی بزرگ مانند دروپال 8 ، منتظر آماده شدن سایر قابلیت ها بمانند.

2. چه زمانی می توانم کار با دروپال 8 را آغاز کنم؟

از حالا به بعد برای هر پروژه ای باید دروپال 8 را در نظر گرفت.تصمیم گیری در مورد اینکه آیا برای یک پروژه ی خاص زمان مناسبی است که از دروپال 8 استفاده کنید یا نه به میزان ریسک پذیری شما،نوع عملکرد و میزان پیچیدگی پروژه بستگی دارد.

بسیاری از ماژول های مختلف دروپالی هنوز برای نسخه ی 8 آماده نشده اند. این بدان معناست که برای انجام یک پروژه ممکن است در نهایت مجبور شوید نسخه ی دروپال 8 یک ابزار خاصی که در دروپال 7 به راحتی در دسترس است را بسازید.

با این حال،احتمال دارد این کار به مزایای طولانی مدت انتخاب دروپال 8 برای پروژه تان بیارزد.توصیه ی ما این است که برای انجام پروژه ای که زمان راه اندازی آن رابرای 6 تا 12 ماه آینده برنامه ریزی کرده اید، بهتر است به جای دروپال 7 از دروپال 8 استفاده کنید.

برای انجام پروژه ای که زمان زیادی برای تحویل آن ندارید، شاید نخواهید با انتخاب دروپال 8 ،ریسک مواجه شدن با اشکالات غیر منتظره ی آن را بپذیرید،چراکه با تحت تاثیر قرار دادن روند توسعه منجر به مسائلی مانند تعویق راه اندازی آن خواهد شد.احتمال مواجه شدن با این مسائل،همیشه در محصول جدیدی که هنوز به طور گسترده ای از آن استفاده نشده است بیشتر است.

3. چه مدت طول می کشد تا ماژول های متداول دروپالی، در دروپال 8 قابل استفاده شوند؟

Deeson،52 ماژولی که در بسیاری از پروژه های ما استفاده می شوند را حفظ و نگهداری می کند. در حال حاضر 11 عدد از این ماژول ها در هسته ی دروپال 8 قرار داده شده اند که به این ترتیب کاملاً پشتیبانی می شوند. 9 عدد از آنها با همکاری جامعه ی دروپال در مراحل مختلف توسعه به صورت نسخه ی آلفا یا بتا منتشر می شوند. از 32 ماژول باقیمانده هنوز هیچ نسخه ای که قابل آزمایش باشد بیرون نیامده است.

از آنجائیکه برخی از مهمترین ابزارهای مدیریت محتوا اکنون در پلت فرم هسته گنجانده شده اند،در حال حاضر دروپال 8 برای ساختن سایت های ساده ی بروشوری که قابلیت محدودی دارند آماده است.

با این حال، برخی موارد مهم مانند ماژول های Pathauto و Tokens که برای ایجاد اتوماتیک برچسب در ایمیل ها یا ایجاد خودکار نام مستعار URL بر اساس عنوان محتوا استفاده می شوند نیز از قلم افتاده اند.

تجربه ی ما از دروپال 7 این بود که یک سال پس از نخستین انتشار آن ماژول های موجود دروپال قابل استفاده شدند. این بار انتظار داریم این اتفاق سریعتر رخ دهد زیرا بسیاری از ماژول ها در هسته ی دروپال8 قرار داده شده اند و ماژول های کلیدی دروپال تا می 2016 پایدار و قابل استفاده خواهند شد.

4. توسعه دهندگان دروپال 7 تا چه اندازه نیاز به یادگیری دارند؟

برخی از تغییرات مهمی که در دروپال 8 ایجاد شده اند عبارتند از: معرفی سیستم قالب بندی Twig برای لایه ی تم، معرفی اجزاء چارچوب Symfony در هسته، سیستم لاگین و یک اصل کلی برای تغییر سبک برنامه نویسی قبلی که یک سبک رویه ای (procedural style) بود به سمت سبک شیءگرا((object-orientated style (OO).به این ترتیب توسعه دهندگان دروپال نیاز به مقداری یادگیری دارند.

انتظار می رود تا سال آینده علاقه به دروپال 8 افزایش یافته و توسعه دهندگان بیشتری شروع به یادگیری مهارت های مورد نیاز برای انجام پروژه ها با استفاده دروپال 8 خواهند کرد. کار فوق العاده ای که جامعه ی دروپال انجام داده این است که در وب سایت Drupal.org مطالب کمکی زیادی را ارائه کرده است که در مقایسه با نسخه های قبلی دروپال مستندات بهتری هستند.

تیم های توسعه برای پشتیبانی پروژه هایی که در 6 ماه آینده به عهده خواهند گرفت،اکنون باید اقدام به یادگیری و بالا بردن سطح مهارت های خودکنند یا در غیر این صورت ریسک آماده نبودن خود را پذیرند.

5. آیا با استفاده از دروپال 8  پروژه ها ارزان تر تمام می شوند؟

مانند نسخه های قبلی، دروپال 8 هم هیچ گونه هزینه ی مجوزی نداشته و استفاده ی مجدد از آن رایگان است.

بعید می دانیم هزینه ی ساخت پروژه ها با استفاده از دروپال 8 ، در مقایسه با هزینه ی پروژه های ساخته شده با نسخه های قبلی تفاوت چندانی داشته باشد.

با این حال، به دلیل بهبودهای زیرساختی انجام شده در دروپال 8 ، معتقدیم هزینه ی کلی مالکیت در طولانی مدت کاهش هایی  خواهد داشت. با توجه به استفاده از بهترین شیوه های توسعه ی شناخته شده تا به حال، از جمله یک سیستم پلاگین جدید، در مقایسه با نسخه های قبلی،توسعه و ارتقاء دروپال 8 آسان تر شده است.

6. آیا با استفاده از دروپال 8  پروژه ها سریعتر تمام می شوند؟

در آنچه که با عنوان DX یا تجربه ی توسعه دهنده شناخته می شود پیشرفت های قابل توجهی صورت گرفته است که باعث افزایش تواناییهای تیم توسعه در توسعه ی سایت ها و تشخیص مسائل شده است.

مثال های زیادی در این رابطه وجود دارند، از جمله حرکت به سمت به کارگیری اصول برنامه نویسی شیءگرا که کدها را منطقی تر و به شیوه ای که ابزارهای توسعه دهنده تشخیص می دهند سازماندهی می کند. این بدان معناست که کدها با استفاده از ابزارهای ویرایشی شان به طور اتوماتیک تکمیل می شوند. مثال دیگر لایه ی قالب دهی Twig است که باعث بهبود سازماندهی سیستم تم دروپال شده است، به این معنی که ایجاد کدهای درهم و برهم و نامرتب را برای توسعه دهنگان دشوارتر کرده است.

البته، پیش از این هم بسیاری از تیم های توسعه در سطوح بالای دروپال 7،این روش ها را به کار گرفته اند که به این ترتیب در حال حاضر از مزایای این ابزارها و شیوه ها که اکنون در هسته ی دروپال 8 قرار گرفته اند برخوردار هستند.

  • پیامدهایی برای دروپال 7

7. آیا مسیری برای ارتقاء از نسخه های قبلی دروپال وجود دارد؟

ماژول Migrate در دروپال 8 قرارداده شده است.این ماژول با فراهم کردن یک سری ابزار به توسعه دهنده این امکان را می دهد که انتقال محتوای یک سایت دروپال 6 یا 7 به مکانش در یک وب سایت دروپال 8 را ردیابی کند.

گرچه فرآیند ساده ای نیست،ولی بدان معناست که مسیر مهاجرت از نسخه های قبلی دروپال موجود می باشد.

8. حالا که دروپال 8 منتشر شده است،پشتیبانی از دروپال 7 تا چه زمانی ادامه می یابد؟

جامعه ی دروپال متعهد به پشتیبانی نسخه ی قبلی دروپال می باشد. این بدان معناست که دروپال 7 تا زمانی که دروپال 9 منتشر نشده است پشتیبانی خواهد شد. در حال حاضر هیچگونه تاریخ رسمی برای انتشار دروپال 9 تعیین نشده است و به این ترتیب زمان پایان عمر دروپال 7 هم مشخص نیست.

من انتظار دارم که پشتیبانی از دروپال 7 سال های زیادی ادامه یابد، به ویژه با در نظر گرفتن تعداد بیشمار سایتی که بر پایه ی دروپال 7 راه اندازی شده اند.

  • قابلیت های جدید در دروپال 8

9. آیا Drupal Commerce به عنوان یک ویژگی در دروپال 8  ارائه شده است؟

ماژول Drupal Commerce توسط تیم هسته ی دروپال حفظ و نگهداری نمی شود بلکه افراد یک شرکت بازرگانی حفظ و نگهداری آن را بعهده دارند. آنها نسخه ی دروپال 8 این ماژول را به صورت عملیاتی توسعه می دهند.

وجه تمایزنسخه ی جدید Drupal Commerce در دروپال 8 نسبت به نسخه های قبلی،اصلاحات قابل توجهی است که در آن صورت گرفته ازجمله بهبود امکانات اضافه کردن به سبد خرید، سریعتر شدن ایجاد محصول و آسان تر شدن مدیریت محصول.

10. آیا در دروپال 8 روش متفاوتی برای مدیریت سایت های چند زبانه وجود دارد؟

پشتیبانی نسخه های قبلی دروپال از سایت های چندزبانه محدود بود. معمولاً در پروژه های چند زبانه به منظور پشتیبانی عناصر مختلف دروپال که باید ترجمه می شدند و عملکرد هر کدام اندکی متفاوت بود،می بایست تعدادی از ماژول های مختلف را به هم متصل می کردیم.این ناهماهنگی باعث می شد پروژه از جهات زیادی مانند بودجه و زمان تحویل تحت فشار باشد.

در دروپال 8 اصلاحات قابل توجهی برای بهبود قابلیت های چند زبانه صورت گرفته است.ترجمه های تمام عناصر اصلی به شیوه ای بی نقض و پایدار در هسته ی دروپال 8 انجام شده اند.

فقط نصب و راه اندازی سیستم،به خودی خود 94 زبان را پشتیبانی می کند. و برای نصب زبان های جدید و به روزرسانی زبان ها فرآیندهای ساده ای وجود دارند.رابط مدیریت کاملاً قابل ترجمه است.هم اکنون می توان موجودیت هایی مانند فایل ها یا تصاویر را به یک زبان اختصاص داد یا بین زبان های مختلف به اشتراک گذاشت.

11. تجربه ی ویرایشگر محتوا در دروپال 8 چه تفاوتی دارد؟

دروپال 8 با ویرایشگر محبوب وب،WYSIWYG CKEditor  ،راه اندازی شد. این بدان معناست که این ابزار به طور استاندارد پشتیبانی می شود و به این ترتیب برای اینکه همواره ترکیب خوبی با دروپال داشته باشد حفظ و نگهداری خواهد شد.

ماژول جدید  NavBar در هسته ی دروپال 8 ، ابزار مدیریت جدیدی را برای دسترسی به تمام بخش های رابط مدیریت فراهم می کند.

ویژگی ویرایش سریع (quick edit feature) در دروپال 8،به ویرایشگران محتوا این امکان را می دهد که به جای بارگزاری یک فرم ویژه برای ویرایش محتوای یک صفحه، بتوانند تغییرات و ویرایش های ساده را در همان صفحه انجام دهند.

به زودی پیشرفت هایی در زمینه ی به کارگیری رسانه در دروپال 8 رخ خواهد داد که همچنین دروپال 8 را مجهز به یک رابط تخصصی تری برای مدیریت موجودیت هایی مانند فایل ها و تصاویر نیز خواهد کرد اما این اتفاق در هسته انجام نمی شود.

12. آیا دروپال 8 مجوزهای پیچیده ی کاربر و محتوا را به گونه ای متفاوت مدیریت می کند؟

سیستم مجوز دسترسی به محتوا در دروپال 8 ، به طور زیرساختی بازنویسی شده است اما طرز رفتار مدیران محتوا بیشتر شبیه همان روش گذشته است.

انتظار می رود که ماژول های مختلف دروپالی،همانند نسخه های قبلی در این نسخه هم همان سیستم کنترل مجوز کامل و بسیار دقیق را فراهم کنند.

در نسخه های قبلی دروپال، Organic Groups گزینه ی محبوبی برای انجام این کار بود، که ساختار آن برای مطابقت با اکثرنسخه های هسته ای اخیر، بازنویسی و اصلاح نشده بود.در عوض،در دروپال 7 به منظور فراهم کردن قابلیت پایدار از ماژول Group استفاده کردیم، و اکنون در حال برنامه ریزی برای ایجاد نسخه ی دروپال 8 آن هم هستیم.

  • تعامل کاربریfront-end)1) و دروپال 8

13. آیا دروپال 8 روش قالب دهی و استاندارهای تعامل کاربری را تغییر می دهد؟

در دروپال 7 قالب های مبتنی بر PHP باعث شدند ایجاد منطق در قالب که باید در ماژول ها مدیریت می شدند برای توسعه دهندگان بسیار آسان شود. با گذشت زمان، به علت عدم کنترل جدی و نظارت دقیق،کدنویسی های قالب دهی بسیار ضعیف انجام شدند و به این ترتیب پیدا کردن اشکالات و اضافه کردن قابلیت های جدید سخت شد.

دروپال 8 با معرفی سیستم جدید قالب دهی به نام Twig، ایجاد قالب را به طور قابل توجهی تغییر داده است. بر اساس آن ، توسعه دهندگان به جای نوشتن کد PHP در توابع، اکنون قادرند تقریباً تمام نشانه گذاریها را در قالب های Twig بنویسند.

گرچه تیم های توسعه دهنده باید برای یادگیری آن یک سرمایه گذاری اولیه داشته باشند اما به نتایج دراز مدت آن که ایجاد قالب های تمیزتر با قابلیت حفظ و نگهداری بیشتر خواهد بود می ارزد.

14. قابلیت دسترسی در دروپال 8 چگونه مدیریت شده است؟

دسترس پذیری در دروپال 8 تغییراتی یافته و بهبودهایی در آن صورت گرفته است.

این تغییرات شامل WAI-ARIA landmarks،live regions،roles و propertiesمی شوند که قابلیت دسترسی به بخش های پویای صفحه را افزایش می دهند.فرم API دروپال به جای نمایش خطاها در بخش های مختلف فرمی که عنصری از آن  خطای ورودی داشته است،خطا ها را در یک صف قرار می دهد.

برای اعلان های شنیداری، یک هشدار جاوااسکریپتی وجود دارد که به سازندگان سایت این امکان را می دهد که مشخصاً پیام های مناسبی را برای کاربران شنیداری قرار دهند. مدیریت جدید Tabbing با ایجاد یک ترتیب منطقی، به کاربران این امکان را می دهد که بدون استفاده از موس به عناصر صفحه دسترسی داشته باشند.

رویکرد کلی که در دروپال8 مد نظر قرار گرفته  این است که به منظور ارائه ی کارآیی بهتر و بیشتر، به جای اینکه از صفر شروع به توسعه ی قابلیتی کنند که کاملاً شناخته شده است و به خوبی توسعه یافته، از منابع متعارف و استاندارد شده ی موجود آن استفاده کنند.همکاری با توسعه دهندگان این منابع و مشارکت با جامعه ی بزرگتر می تواند به توسعه ی بهترین انواع تکنولوژوی ها بیانجامد.

استفاده از منبع jQuery UI برای ایجاد قابلیت تکمیل خودکار در دروپال 8 ، مثال خوبی در این زمینه است.هم اکنون جامعه ی دروپال می تواند به منظور تولید یک ابزار بهتر و دسترس پذیرتر به جامعه ی jQuery UI کمک کند.

  • دروپال در تجارت

15. آیا دروپال 8 شیوه های توسعه ی تجارت از قبیل تست خودکار را آسان تر می کند؟

چند بهبودی که در دروپال 8 صورت گرفته آن را تبدیل به پلت فرم آماده تری برای انجام توسعه های پی در پی کرده است. سیستم مدیریت پیکربندی به گونه است که اکنون پیکربندی به شیوه ای استاندارد در کد جای داده شده که کد می تواند بدون هیچ مشکلی بین محیط های مختلف انتقال یابد و در حال حاضر رفتارش قابل پیش بینی است.

کد دروپال 8 بیشتر از اشیاء استفاده می کند و PHPUnit از طریق تست زیرساخت درکدبیس هسته پشتیبانی می شود، به این معنی که اکنون می توان تمام کدها را با تست های واحد/unit tests نوشت.

دراش/Drush ،که ابزار CLI دروپال است، اکنون به منظور کار با دروپال 8 به روزرسانی شده است،و برای اتوماتیک کردن بیشتر فرآیندهای موجود می توان از آن استفاده کرد،از تست کیفیت کد سفارشی با استفاده از ماژول کدگذار گرفته تا تست عملکرد با استفاده از PHPUnit .

تست خودکار هم با دروپال 8 بهبود یافته است.PHPUnit که یک اجرا کننده ی تست است و امکان انجام هر دو تست واحد (Unit test) و تست عملکرد(Functional test) را فراهم می کند اکنون در هسته قرارگرفته است.این دو تست های بهتری هستند که خیلی سریعتر از نسخه های قبلی اجرا می شوند.

در جامعه ی توسعه دهنده ی PHP که جامعه ی گسترده تری است، PHPUnit ابزار بسیار شناخته شده ای است که به صورت خوشبینانه یعنی اینکه با دروپال8 یافتن افرادی برای نوشتن تست ها و یافتن منابع برای کمک به توسعه دهندگان به منظور چگونگی بکارگیری تست، آسان تر خواهد بود.

دروپال 8 با فراهم کردن امکان انجام شیوه های سازمان یافته ی رفتار توسعه محور/ (BDD/behaviour driven development)  ، توسط چارچوب تست Behat که محبوب سیمفونی/Symfony  است نیز پشتیبانی می شود.

16.آیا در دروپال 8 مدیریت مجموعه ی بزرگی از سایت ها آسان تر است؟

دروپال 8 برای سازمان هایی که باید مجموعه ی بزرگی از سایت ها را حفظ و نگهداری کنند گزینه ی خوبی است. از آنجائیکه دروپال منعطف ترین و توسعه پذیرترین سیستم مدیریت محتوا/CMS می باشد، بنابراین هم برای توسعه ی سایت های کوچک و ساده و هم برای توسعه ی سایت های بزرگتر و پیچیده تر می توان از آن استفاده کرد.با انتخاب دروپال می توانید شدت زحمت و تلاشی که  برای توسعه،حفظ و نگهداری یک  مجموعه ی بزرگ ضروری است را کاهش دهید.

دروپال با دارا بودن RESTful APIs  امکان توسعه ی انواع مختلف ابزار شرکتی مورد نیاز برای مدیریت مجموعه ی بزرگ سایتهایتان را برای شما فراهم می کند. امکانات و ویژگیهایی دروپال از قبیل قابلیت چند سایتی و ماژول Group بدان معناست که شما می توانید از یک کدبیس دروپال برای ارائه ی چندین وب سایت مختلف استفاده کنید. با آنکه چنین روش هایی همواره دشواریها و پیچیدگیهای خاص خود را دارند اما دروپال به اندازه ی کافی و لازم انعطاف پذیر است که بتوانید آن را مطابق نیازهای خاص خودتان تغییر دهید.

17.آیا در دروپال 8 مدیریت پیکربندی بهبود یافته است؟

مدیریت پیکربندی،قابلیت تعریف پیکربندی یک نرم افزار کاربردی مانند یک وب سایت دروپالی به روش تست پذیر و قابل نسخه بندی می باشد.موردی که در دروپال 7 اغلب با آن مواجه بودیم این بود که به جای اینکه رفتار وب سایت در هر محیطی، داخل کد آن وب سایت تعربف شود،بعد از انتشار یک نسخه مجبور بودیم پیکربندی را برای هر محیطی انجام دهیم.

دروپال 7 با دارا بودن برخی افزونه ها مانند ماژول ویژگیها(Features module) ،این امکان را فراهم می کرد، اما هرگز به شیوه ی کاملاً رضایت بخشی انجام نمی شدند و رفتار قابل انتقال هر ماژولی به Features  باید تعریف می شد.

علاوه بر این،جدول متغیر در دروپال 7 به زباله دانی پیکربندی و چگونگی رفتار آن برای هر محیطی تبدیل شد که بدان معناست که تعیین آنچه که لازم بود در کد به پیکربندی منتقل شود و آنچه که بر اساس هر محیطی می توانست به آسودگی نادیده گرفته شود پیچیده و زمان بر بود و ممکن بود درحین گسترش به خطا بیانجامد.

طرح جدید مدیریت پیکربندی (Configuration Management Initiative) در دروپال 8 ،روش استاندارد شده ای را برای تعریف پیکربندی قابل ویرایش ماژول ها به ارمغان آورده است.که براساس آن سازندگان سایت می توانند پیکربندی برای یک محیط را به فایل های پیکربندی منتقل کنند که این فایل ها را می توان در سیستم کنترل نسخه ی وب سایت قرار داده و بر اساس هر محیطی تغییر داد.به این ترتیب پیکربندی قابل بررسی، بازگرداندن به تنظیمات قبلی و آزمون پذیر می باشد.

  • تغییرات ساختاری

18.اصطلاح" Headless Drupal"در دروپال 8 چه مفهومی دارد؟

دروپال بی سر(Headless Drupal) یا دروپال تفکیک شده(Decoupled Drupal)  اصطلاحاتی هستند که برای توصیف شیوه ی معماری سیستم دروپال برای جداسازی بخش های قالب دهی و بخش های سمت سرور2(back-end) استفاده می شوند.در یک چنین معماری، از دروپال به عنوان یک سیستم مدیریت محتوا برای ورود و بازیابی داده ها استفاده می شود، اما ارائه صفحات وب حاوی محتوا به کاربران نهایی (لایه قالب دهی) بعهده ی ابزار دیگری گذاشته می شود.

این معماری،امکان ساخت برنامه های کاربردی اینترنتی غنی، برنامه های کاربردی برای موبایل یا دستگاه هایی مانند تلویزیون ها و ساعت های هوشمند یا عینک بعدی گوگل را برای تیم های توسعه دهنده فراهم می کند.هر یک از این دستگاه ها دارای مکانیسم قالب دهی خاص خودشان هستند و همه ی آنها فقط به داده های خالص سیستم مدیریت محتوا نیاز دارند.

دروپال 8 نه تنها قابلیت ارائه خروجی داده ها به صورت HTML را دارد بلکه قابلیت ارائه خروجی به شکل های زیاد دیگری از جمله JSON یا XML را نیز دارد. چگونگی ارائه داده ها به دستگاه یا برنامه کاربردی که درخواست داده را می دهد بستگی دارد.

انتخاب دروپال 8 به عنوان سیستم مدیریت محتوا سرمایه گذاری خوبی برای آینده است.در ابتدا شاید فقط برای ارائه ی وب سایت در مرورگرهای مرسوم به کار رود، اما بعداً سایر برنامه ها یا برنامه های کاربردی اینترنتی پویای دیگری هم ممکن است ساخته شوند که از همین سیستم سرور و دیتابیسی دروپال برای بازیابی داده های خود استفاده کنند.

19. آیا دروپال 8 چگونگی ادغام دروپال با سیستم های دیگر را تغییر می دهد؟

گنجاندن منابع استاندارد PHP در دروپال 8 بدان معناست که احتمالاً برای هر برنامه ی خاصی،پیشتر یک منبع خارجی خوب موجود است.به منظور رفع نیازهایی که برای ادغام دارید، حتی اتکا به کمتر از یک توسعه دهنده که داخل اکوسیستم دروپال کار کند هم کافی است.

دروپال 8 همچنین با ایجاد مکانیسم انتقال داده هایش از طریق RESTful APIs، این امکان را فراهم می کند که به راحتی با سیستم های دیگر ادغام شود.

علاوه براین، سیستم پلاگین جدید در دروپال بدان معناست که دروپال را به راحتی می توان بسط و توسعه داد. این تکنولوژی باعث می شود موقعیت دروپال به عنوان توسعه پذیرترین و انعطاف پذیرترین چارچوب سیستم مدیریت محتوای (CMS framework) موجود همچنان حفظ شود.

20. آیا در لایه ی انتزاعی دیتابیس تفاوتی ایجاد شده است؟

فرآیند استاندارد کردن به روش Drupal Entity،از دروپال 7 شروع شد و تا دروپال 8 ادامه یافته است.توسعه دهندگانی که قصد توسعه ی سایت ها با استفاده از دروپال 8 را داشته باشند به جای کار کردن در محدوده ی دیتابیس، در سطح Entity کار خواهند کرد. این روند به سایت های دروپال 8 این اجازه را می دهد که به طور ناباورانه ای با تعداد بیشتری از فن آوریهای دیتابیس کار کنند نه اینکه فقط با دیتابیس های رابطه ای مرسوم مانند MySQL کار کنند.به عنوان مثال، در یک وب سایت دروپال 8 این امکان وجود دارد که از راه حل های NoSQL مانند MongoDB به عنوان لایه ی ذخیره سازی دیتابیس استفاده شود.

دیتابیس رابط برنامه کاربردی (API) در دروپال 8 تقریباً مانند دروپال 7 است،اما توسعه دهندگان تقریباً هیچگاه نباید فراخوانی های دیتابیس را به طور مستقیم انجام دهند مگر اینکه بخواهند رابط های برنامه ی کاربردی هسته (core APIs) را توسعه دهند.

21. شنیده ام در هسته ی دروپال 8 از سیمفونی/Symfony بسیار زیاد استفاده شده است،پیامدهای آن چیست؟

در نسخه های قبلی دروپال، تمام کدهای موجود در دروپال توسط اعضای جامعه ی دروپال نوشته می شدند.در دروپال 8 ، توسعه دهندگان، پروژه های دیگری مانند سیمفونی را هم پذیرفته اند و در حال ایجاد منابعی هستند که در پروژه های دیگر نیز بتوان از آنها استفاده کرد. دروپال 8 شامل مولفه هایی می شود که توسط جامعه ی بزرگتری توسعه یافته اند و برای حل یک مسئله،به جای دوباره کاری می تواند از آنها استفاده کند.

این بدان معناست که دروپال از کدبیس باثبات تری که در پروژه های زیادی از آن استفاده شده بهره مند است. درعوض، پروژه هایی مانند سیمفونی هم از اینکه افراد بیشتری از کد آنها استفاده می کنند سود می برند،به این ترتیب که باعث تقویت کد آنها در این روند می شود.

اکنون، توسعه دهندگانی که در حوزه ی سیمفونی وارد هستند و با دروپال آشنایی ندارند قادر خواهند بود به سمت توسعه ی دروپال حرکت کنند.به این ترتیب مکانی برای جذب استعداد تیم های توسعه گشوده می شود.

سیمفونی با استفاده از بهترین روش ها و استانداردهای این صنعت، از قبیل PSR-4 در فاصله گذاری نام کلاس ها، نوشته شده است که همه ی اینها در دروپال 8 گنجانده شده اند.

  •  کارآیی و امنیت

22. آیا در دروپال 8 کارآیی بهبود یافته است؟

در دروپال 8 ، سیستم کشینگ به طور کامل بازنویسی شد. در دروپال 7 ، اغلب هنگامیکه لازم بود یک کش پاک شود،پاک کردن تمام کش ها تنها گزینه ی موجود بود به این معنا که یک تغییر کوچک می توانست وب سایت را متحمل بار بیشتری کند چرا که تمام کش ها باید دوباره پر می شدند.

همچنین در دروپال 7 معمولاً کشینگ در ناحیه ی صفحه اتفاق می افتاد، به این معنی که یا بایدکل صفحه از کش برگردانده می شد یا لازم بود که کل صفحه دوباره تولید شود.برای کاربران لاگین، هیچ کشینگی صورت نمی گرفت و به دنبال درخواست هر صفحه ای،کل آن صفحه ایجاد می شد.

در دروپال 8 کش ها بسیار پیچیده تر هستند و می توان کشینگ را با دقت بیشتری مشخص کرده و پاک کرد.سیستم جدیدکش تگ ها (Cash Tags)،این اجازه را می دهد که برای مثال بخش های مختلف یک صفحه کش شوند به طوریکه کاربران لاگین، بیشتر بخش های یک صفحه را از کش دریافت خواهند کرد و فقط لینک حساب کاربری آنها  ایجاد می شود.

کش تگ ها(Cash Tags)،همچنین به توسعه دهندگان این اجازه را می دهد که برای پاک کردن کش در سایت هایشان سناریوهای خاصی را بر اساس رفتار مشخص هر سایت تعریف کنند- به عنوان مثال، این امکان وجود دارد که تمام کش هایی که حاوی اطلاعاتی راجع به 300 کاربر هستند پاک شده و به دنبال آن حساب کاربری شان بروز رسانی شود بدون اینکه داده های کش شده ی سایر کاربران پاک شود.

علاوه براین سیستم کش مانند بسیاری از بخش های دیگر دروپال 8 ،قابل پلاگ کردن است به این معنی که ابزارهای بهتر کشینگ را می توان در تمام سطوح پلاگین کرد.به منظور بهبود عملکرد در سایت های بزرگ و پیچیده می توان گلچینی از ابزار بسیار دقیق تری را به کار برد.

در دروپال 8 ،روش ساخت وچگونگی مسیر توسعه ی صفحه بازبینی و بازسازی شده است به این معنی که در مقایسه با نسخه های قبلی دروپال،صفحات وب در دروپال 8 به شیوه ی بسیار کارآمدتری ساخته می شوند.همچنین توسعه دهندگان دروپال 8 با داشتن یک اصل کلی که "سریع به طور پیش فرض/(fast by default)" می باشد،این اطمینان را ایجاد می کنند که در دروپال 8 ، برای افزایش عملکرد و کارآیی، نیاز به فعال سازی هیچ چیزی نمی باشد.

23. آیا در دروپال 8  بهبودی در امکان "دسترس پذیری بالا"حاصل شده است؟

سال های زیادی است که از دروپال در محیط هایی که نیاز به امکان دسترس پذیری بالا3 ((High Availability (HA) دارند استفاده می شود و اکنون این مسئله بسیار بدیهی است.در این رابطه دروپال 8 شبیه دروپال 7 می باشد. بهینه سازی لایه ی کشینگ به این معنی است که اکنون با دروپال 8 ، امکان پیاده سازی استراتژیهای پیچیده تری وجود دارد و ممکن است ایده های بیشتری به صورت اختیاری در پیکربندی ابزارهای کشینگ گنجانده شوند.

24. آیا دروپال 8 در رویکرد امنیتی خود وجوه تمایز عمده ای  دارد؟

سیستم قالب دهی Twig ، در مقایسه با روش قدیمی که اجازه ی استفاده از کدهای PHP در کدنویسی قالب را می داد، تغییر عمده ای محسوب می شود.Twig به منظور تضمین امنیت لایه ی قالب دهی سرشار از ویژگیهای مورد نیاز می باشد، لایه ای که همواره به عنوان منشا متداول آسیب پذیریهای امنیتی سابقه داشته است.

یک مورد آسیب پذیر متداول دیگر که توسط سازندگان سایت باب شده، انجام پیکربندی دستی فیلترهای متنی برای انواع مختلف ویرایشگرهای شخص ثالث WYSIWYG می باشد. وجود چنین ویرایشگری برای سیستم مدیریت محتوا یک ضرورت  است اما نصب آنها اساساً توسط هسته ی دروپال پشتیبانی نمی شد و برای سازندگان سایت یکی از پیچیده ترین کارها بود. در دروپال 8  ویرایشگر CKEditor به عنوان ویرایشگر استاندارد با پیش فرض های پیکربندی شده ی معقول،گنجانده شده است که در اکثر مواردکار خواهد کرد و ایمن نیز خواهد بود.

ماژول PHP از هسته حذف شده است که این کار،به سازندگان سایت اجازه ی نوشتن کد PHP در مرورگر را داد .این کار علاوه بر اینکه منجر به شکل گیری روش های نادرست شد بلکه برای کاربر مخربی که به علت پیکربندی ضعیف به امتیازات بالاتری در وب سایت دست یافته بود نیز راه را برای اجرای کد بر روی سرور باز کرد.

تمام متغیرهای ورودی از URL،کاملاً توسط سیستم مسیریابی جدید شناسایی می شوند.این بدان معناست که انواع داده های نادرست یا غیر منتظره به طور پیش فرض فیلتر می شوند. سیستم حفاظتی CSRF قبلی که توسط رابط های برنامه ی کاربردی هسته ی دروپال 7 ارائه می شد هنوز در دروپال 8 موجود می باشد.

تیمی از داوطلبان به نام تیم امنیتی دروپال مسئولیت یافتن مسائل امنیتی در هسته ی دروپال و مدیریت اولویت بندی مسائل امنیتی و اطلاع رسانی توصیه های لازم را برعهده گرفته اند.

با توجه به کدهای شخص ثالث بسیار زیادی که اکنون برای به کارگیری در دروپال 8 مورد نیاز هستند، مدیریت توصیه های امنیتی در منابع خارجی اهمیت بیشتری می یابد. ماژول هایی که از منابع خارجی استفاده می کنند می توانند بواسطه ی وابستگی های خود از طریق رویداد hook_requirements مشکلات امنیتی را هشدار دهند.

کدهای خارجی درواقع بخشی از کد بیس هسته ی دروپال 8 را تشکیل می دهند. هنگامیکه مشکلات امنیتی موجود در آن کدها یافت شوند،آنگاه تیم امنیتی برای حل آن مشکلات و حصول اطمینان از اینکه توصیه های امنیتی موثر بر هر دو کدبیس با هم منتشرمی شوند، باید با توسعه دهندگان شخص ثالث همکاری کنند.آنگاه یسبیسبیس

دروپال 8 ، راه کاری برای اینکه بروزرسانی ها به صورت خودکار و حاضر و آماده انجام شوند ارائه نمی دهد. با این حال برای شرکت هایی که وب سایت دروپالی دارند این امکان وجود دارد که بروز رسانی ها را  از طریق فرآیند ادغام پیوسته ای که از ابزار خط فرمان دراش،کنترل نسخه و تست های اتوماتیک استفاده می کند انجام دهند.                                                                               

1. front-end: این عبارت به تمام آن چیزهایی که توسط کاربران قابل مشاهده هستند اطلاق می شود، شامل طراحی و برخی از زبان ها مانند HTML و CSS.

2. back-end: این عبارت یا عبارت "سمت سرور (server-side)"، اساساً به اینکه یک سایت چگونه کار می کند، و اینکه بروزرسانی ها و تغییرات آن از چه طریقی انجام می شوند اطلاق می شود. این عبارت اشاره به تمام آن چیزهایی دارد که کاربر نمی تواند در مرورگر ببیند، مانند دیتابیس ها و سرورها.

3. (High Availability (HA: در فن آوری اطلاعات، دسترس پذیری بالا به سیستم یا مولفه ای نسبت داده می شود که برای یک مدت زمان طولانی مطلوب، بی وقفه قابل استفاده باشد. میزان دسترس پذیری را می توان با در نظر گرفتن "100% قابل استفاده بودن" یا "هرگز از کار نیافتادن" سنجید.

 

منبع : https://www.deeson.co.uk/blog/24-things-about-drupal-8-every-cto-should-know

ترجمه : وبکاران - http://www.wki.ir/article/283

ارسال پیام