به روز رسانی دروپال برای همیشه ساده می شود !

یکی از دلایل اصلی این که دروپال تا به امروز موفق بوده است این است که ما همیشه تغییرات بزرگ و روبه جلویی را در آن اعمال می کردیم. به عنوان نتیجه ، دروپال یکی از محدود سیستم های مدیریت محتوایی (CMS) است که برای 15 سال به صورت مناسبی باقی مانده است. مشکل قضیه هم این است که با هر تغییر اساسی و ساختاری ما مشکلات و کارهای فراوانی جهت همسان شدن با این تغییرات می بایست انجام دهیم. منحنی یادگیری (Learning Curve) و سختی مسیر به روز رسانی از یک نسخه اصلی به نسخه اصلی بعدی (مثلا از دروپال 7 به دروپال 8 ) موجب عقب نگه داشته شدن حرکت دروپال شده است. در یک حالت ایده آل ، ما باید قادر باشیم که به سرعت نوآوری داشته باشیم ولی با شیب یادگیری آرام و مسیر به روز رسانی مناسبی از دروپال 8 به دروپال 9 حرکت کنیم.

ما بر این باوریم که این حالت ایده آل را یافته ایم !

به روز رسانی از دروپال 8.2 به دروپال 8.3

قبل از صحبت درباره به روز رسانی به دروپال نسخه 9 بهتر است کمی درباره نسخه های ارایه شده در دروپال 8 صحبت کنیم و آن را درک کنیم.با ارایه نسخه دروپال 8 ما هسته دروپال را به سمت مدل نوآوری همیشگی (Continuous Innovation Model) حرکت دادیم.به جای اینکه سال ها منتظر دریافت ویژگی های جدید باشیم کاربران هر 6 ماه تغییرات و پشرفت های محسوسی را در کاربردها (Functionality) دریافت خواهند کرد. علاوه بر این ما متعهد شده ایم تا یک مسیر به روز رسانی آرام را جهت افزونه ها (Modules) ، قالب ها (Themes) و توزیع ها (Distributions) از یک شش ماه به شش ماهه بعدی را فراهم کنیم.

این کار به خوبی شروع شده است. با به روز رسانی های 8.1 و 8.2 که قبلا انجام شده و به روز رسانی 8.3 که در شرف انجام است ما برخی پیشرفت های قابل اعتمادی مانند BigPipe , new status report page و همچنین برخی تغییرات آزمایشی نظیر outside-in , workflows , layouts و کارهای دیگری را انجام داده ایم . همچنین برنامه ریزی جهت اضافه کردن قابلیت مدیریت مدیاها (Media) نیز برای نسخه 8.4 انجام گرفته است.

مهمتر از همه ، به روز رسانی از نسخه 8.2 به 8.3 برای دسترسی به این ویژگی های گفته شده به آسانی به روز رسانی یک خطا (bugfix) یا یک مشکل امنیتی (security) خواهد بود.

به روز رسانی از دروپال 8 به دروپال 9

بعد از بحث و بررسی های فراوان در میان توسعه دهندگان هسته دروپال و بررسی پروژه هایی مثل Symfony ما معتقدیم که مزایای به روز رسانی نسخه های فرعی دروپال ( مثلا از دروپال 8.2 به دروپال 8.3 ) می تواند برای به روز رسانی های اصلی (مثلا از دروپال 8 به دروپال 9) نیز در نظر گرفته شود. ما یک راهی را مشاهده می کنیم که در عین حال که امکان به روز رسانی از دروپال 8  به دروپال 9 را میسر می سازد یک مسیر با شیب آرام و منحنی یادگیری مناسبی را برای جامعه دروپال نیز فراهم می کند.

این روش ماست : ما به اضافه کردن ویژگی های جدید با قابلیت سازگاری از ویژگی های قبلی (backwards-compatible) در نسخه های دروپال 8 ادامه می دهیم. در طی این مسیر گاهی اوقات مجبور می شویم سیستم های از رده خارج قدیمی (deprecate old systems) را دور بیندازیم. البته به جای دور انداختن کامل این سیستم ها آن ها را نگه می داریم ولی توسعه دهندگان و پشتیبانان افزونه ها را تشویق می کنیم که به سیستم های جدید مهاجرت کنند. این بدین معناست که کدها و افزونه های شخصی شده کار خواهند کرد. هر چه بیش تر نوآوری و تجدد به ارمغان بیاوریم کدهای قدیمی بیش تری در دروپال 8 وجود خواهند داشت. در آن نقطه ، انتخاب می کنیم که سیستم های قدیمی را دور انداخته و نسخه دروپال 9 را منتشر کنیم.

این بدان معناست که دروپال 9.0 تقریبا مشابه آخرین نسخه دروپال 8 خواهد بود که سیستم های قدیمی از آن حذف شده اند. این یعنی زمانی که افزونه ها از امتیازات آخرین API های دروپال 8 استفاده می کنند و از کدها و سیستم های قدیمی اجتناب می کنند باید بر روی دروپال 9 هم کار کنند. به روز رسانی از دروپال 8 به دروپال 9 به آسانی به روز رسانی نسخه های فرعی دروپال خواهد بود. همچنین با این کار باند پرواز دروپال 9 خالی خواهد بود و به آسانی امکان خلق نوآوری های جدید میسر می شود.

پس چرا شما باید به دروپال 9 مهاجرت کنید ؟ جواب به خاطر اضافه شدن امکانات جدید به نسخه 9.1 می باشد.

ویژگی جدید به دروپال 8 اضافه نخواهد شد و همگی به دروپال نسخه های 9.1 و 9.2 و ... اضافه می شوند.

برای استفاده از این روش جدید ، ما نیاز داریم که دو ارتقای مهم داشته باشیم. تغییراتی در هسته دروپال انجام دهیم به نحوی که دقیقا افزونه ای که با استفاده از آخرین API ها بر روی دروپال 8 کار می کند بر روی هسته دروپال 9 هم کار کند. همچنین فراهم کردن مهاجرت داده های کامل (data migration) از دروپال 6 و 7 و 8 به دروپال 9 نیاز می باشد. زمانی که این کارها قبل از ارایه دروپال 9 انجام می شوند تمامی سایت ها و کدهایی که از آخرین API های دروپال 8 بهره می برند در روز انتشار دروپال 9 قادر خواهند بود از دروپال 9 استفاده کنند (:

این صحبت ها برای کاربران دروپال 7 به چه معناست ؟

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

ما کارهای بیش تری برای کامل کردن امکان انتقال دروپال 7 به دروپال 8 در پیش رو داریم  ولی اولین نسخه ای که کاملا این مورد (انتقال از دروپال 7 به دروپال 8 ) را پشتیبانی می کند دروپال 8.4.0 خواهد بود که طبق برنامه در October 2017 منتشر می شود.

این صحبت ها برای توسعه دهندگان دروپال به چه معناست ؟

اگر شما یک توسعه دهنده افزونه یا قالب هستید شما می توانید به صورت مستمر نسبت به به روز رسانی و استفاده از آخرین API ها در هر به روز رسانی فرعی ادامه دهید. از استفاده کردن از کدهای قدیمی (deprecate code) اجتناب کنید تا افزونه شما در روز انتشار دروپال 9 قابلیت استفاده در دروپال نسخه 9 را داشته باشد. ما برای شناسایی و به روز رسانی  کدهای قدیمی جهت آسان تر شدن کار برنامه نویسان و توسعه دهندگان برنامه داریم.

این صحبت ها برای توسعه دهندگان هسته دروپال به چه معناست ؟

اگر شما جزو تیم هسته دروپال هستید و می خواهید تغییرات و پیشرفت های جدیدی را معرفی کنید مکان این حرکت در هسته دروپال 8 می باشد. با استفاده از لایه های سازگاری گذشته (backward compatibility) حتی تغییرات بزرگ هم در دروپال 8 ممکن خواهد بود.

دروپال 9 چه زمانی منتشر می شود ؟

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

هر زمان که اطلاعات بیش تری داشتیم ، جزییات بیش تری را منتشر خواهیم کرد.

منبع اصلی