میخاهیم به جای ترجمه و تالیف، یک تجربه واقعی را مکتوب و بررسی کنیم. اما واقعیت چیست؟ کدام سیستم مدیریت محتوا قویتر و بهتر هست؟ دروپال یا جوملا یا وردپرس؟

آنچه در این مقاله میخوانید:

 

 

بسیاری از وبلاگ های فارسی و غیر فارسی که روی CMS ها کار میکنند در مقایسه سیستم های مختلف مدیریت محتوای تحت وب به سبک خود مقاله ای نوشته و امتیاز بندی های مختلفی داشته اند و بعضی ها هم مقاله های مشابه را ترجمه کرده‌اند.

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

اما واقعیت چیست؟ کدام سیستم مدیریت محتوا قویتر و بهتر هست؟ دروپال یا جوملا یا وردپرس؟
جواب این سوال مطلق نیست. در واقع، موضوع و اندازه پروژه هست که تعیین میکند کدام سیستم قویتری برای آن پروژه است. قویترین سیستم مدیریت محتوا سیستمی است که در جای خود به درستی انتخاب شده باشد.

 

 

تجربه میدانی:

نگارنده بیش از 15 سال است با سیستم های مختلف مدیریت محتوا کار کرده و از هرکدام تجربیاتی دارد.

آن اوایل که خیلی قدیم بود از PHPNuke و انواع نسخه های آن مثل پلاتینیوم بهره میبردیم و یکی دوتا ماژول نیز برای آن نوشتیم. بسیاری از سایتهای دولتی نیز روی همان سیستم بود. برخی دوستان مشهدی نیز پشتیبانی خوبی از آن داشتند و هنوز هم سایت های زیادی روی همان سیستم فعالیت میکنند. رفته رفته روند پروژه ها به سمتی پیش رفت که نیاز به سفارشی سازی و انعطاف بیشتر روی نرم افزار براساس نیازهای مشتری احساس میشد و همینطور کنکاش ما برای کشف و استفاده از سیستم ها و کدهای اپن سورس جدیدتر و حرفه ای‌تر بیشتر میشد.
متناسب با رشد ابعاد پروژه ها به سمت جوملا و ورد پرس آمدیم و پروژه های خوب و متعددی بر بستر آنها پیاده شدند.

آن موقع جوملا نسخه 1.5 بود و وردپرس به نسخه 2 رسیده بود. خب وردپرس و جوملا امکانات خوبی برای طراحی منعطف قالب فراهم میکردند. اما وقتی به ماژول ها میرسیدیم امکان سفارشی سازی و انعطاف به خصوص در بخش معماری و آنالیز داده ها در حد امکانات فراهم شده در همان ماژول بود. ضمن اینکه در جوملا خیلی از ماژول ها تجاری و پولی بودند و البته تعدد ماژول های این دو سیستم مثل امروز نبود. همچنین مشکل عمده در وردپرس، جزیره‌ای بودن ماژول‌ها بود؛ به این معنی که به دلیل فقدان معماری استاندارد داده، ماژول‌ها ارتباط کمی با هم دارند و امکان یکپارچه سازی سیستم فراهم نیست و اغلب ماژول‌ها با منطق و معماری و ساختار داده دلخواه خود توسعه داده شده‌اند.

یادم هست که پروژه ای مطرح شد که باید در آن معماری سفارشی برای نحوه ذخیره داده ها و ارتباطات بین موجودیت های مختلف سیستم تعریف میشد و فرایندهای سفارشی زیادی داشت. و همین پروژه و کنکاش های مربوط به آن و محدودیت های سیستم های قبلی منجر به آشنایی با دروپال گردید. یعنی این «نیاز» بود که ما را به سمت دروپال برد. نه تعصب های غیر حرفه‌ای. و این «نیاز» و «نوع پروژه» هست که هنوز ما را به سیستم های مختلف متمایل میکند. دروپال اواخر نسخه 6 بود و بعد از چند پروژه که با نسخه 6 پیاده کردیم نسخه 7 دروپال منتشر گردید.

این یک تجربه نقد و واقعی از روند حرکت بین این سیستم ها هست. و هنوز هم واقعیت این است که این سیستم ها اگر در پروژه ها درست انتخاب شوند هرکدام در پروژه خود بهترین است.

حالا معرفی مختصری از هرکدام از این سه سیستم خواهیم داشت.
(این تعریف ها مطلق نیست. خوشحال میشویم از تجربه و نقد سایر اساتید در بخش نظرات بهره ببریم) :

 

دروپال

دروپال :

وقتی دروپال (مثلا دروپال 7) را خام نصب میکنید، تقریبا خالی است و در نگاه اول چیزی ندارد. در مقایسه با وردپرس و جوملا که از همان بدو نصب میتوانید به راحتی محتوا را ایجاد منتشر و مدیریت کنید و ظاهر زیبایی را در بخشهای مختلف مشاهده کنید. اما این هسته خام دروپال که نصب کرده اید هسته ای قدرتمند است که میشود بستر سفارشی سازی نامحدود دروپال و انطباق کامل آن با نیازهای مشتری در آن پروژه. این سفارشی سازی های نامحدود با کمک حدود 50 هزار ماژول (درتاریخ مرداد 1401، آگست2022) آزاد و رایگان انجام میشود.

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

قویترین ماژول های پایه ماژول Views است که یک موتور قدرتمند ساخت کوئری و پرسش و پاسخ های مختلف از دیتابیس و تعریف تم و استایل برای آنهاست.

یا ماژول های Token،  Pathauto،  Entity،  Date،  Webform،  IMCI،  Wysiwyg،  Rules ، Flag،  Media،  Panels،  Local،  VBO،  Reference،  Group،  Devel،  Calendar،  Commerce و ... .

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

مصرف منابع در دروپال را میتوان به کمک  ماژول های مختلف کشینگ و ترکیب آنها کنترل کرد. مثل ماژول Filecache، Memcache یا ماژول کنترلی Authcache. از سرویس های کش سروری مثل Varnish که پیشنهاد و انتخاب سایت اصلی دروپال هست نیز میتوان استفاده کرد.

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

اگر هم برای موضوعی ماژول خاصی وجود نداشته باشد ماژول‌های پایه به کمک میآیند تا به صورت کاملا داینامیک و از طریق رابط کاربری امکان مورد نیاز خود را طراحی و ایجاد کنید.

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

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

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

منطق توسعه ماژول‌های دروپال بر اساس یک استاندارد مبتنی بر Entity می‌باشد و با رعایت این الگوی توسعه، اغلب ماژول‌ها قابلیت اتصال و یکپارچه سازی و ترکیب با یکدیگر را دارند. این نوع توسعه از جزیره‌ای شدن یا کانالیزه شدن ماژول‌ها تا حدود زیادی پیشگیری می‌نماید.

دروپال به سبب قابلیت های پایه ای برای پروژه ها و سازمانهای بزرگ انتخاب شماره 1 است ولی برای پروژه های کوچک مثلا وب سایت شخصی و وبلاگ انتخاب شماره 1 نیست و برای آنها دردسرهایی خواهد داشت.

پشتیبانی دروپال 7 توسط سایت اصلی Drupal.org انجام میشود و از حمایت چند شرکت بزرگ تجاری مثل Acquia و lullabot بهره میبرد. این شرکتها بستر اصلی توسعه محصولات نرم افزاری خود را دروپال قرارداده اند. از این جهت پایداری دروپال و روند روبه رشد آن بسیار بالاست.

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

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

دروپال 8 نیز در تاریخ نگارش این مقاله به نسخه RC رسیده است و در شرف انتشار نهایی میباشد. از نسخه 8 به بعد کل پروژه دروپال به فریمورک قدرتمند سیمفونی منتقل شده است. در واقع سیمفونی همان فریمورکی هست که حتی لاراول محبوب (پراستفاده ترین فریمورک PHP) نیز بر پایه آن طراحی شده است.

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

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

 

جوملا

جوملا :

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

اما خب قدرت انعطاف شما بدون نصب ماژول های کمکی محدود است.

از نظر کد جوملا از ساختار کاملا استاندارد و مبتنی بر MVC بهره میبرد و به همین خاطر کدنویسی و ماژول نویسی برای آن لذت بخش است. هرچند API آن مختصر و ساده است.

چند مشکل اساسی آن مثل تعریف سطوح دسترسی و سیستم مجوز دهی در نسخه 3 برطرف شدند.

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

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

بسیاری از ماژول های آن پولی و تجاری هستند. و از همین جهت کمی دلخوری ایجاد میکند.

پایداری آن به سبب حمایت رسمی Joomla.org از آن خوب است.

سایتهای بزرگی در سطح جهان بر بستر آن توسعه پیدا کرده اند. اما کاربرد آن به نظر نگارنده برای سایتهایی که پایداری بالایی از نظر امکانات و توسعه دارند و تغییرات زیادی نمیخواهند مناسب است.

نکته مهم اینکه یک وقفه چند ساله در توسعه جوملا به وجود آمد و بین نسخه 3 و 4  اتفاقاتی برای تیم توسعه و جامعه دروپال رخ داد و این موضوع در پارامتر پایداری و قابلیت اتکا بودن پروژه مواثر بوده است.

اساتیدی که با مشخصات فنی جدید در جوملا آشنایی دارند بهتر می‌توانند در مورد آن نظر بدهند.

 

وردپرس

وردپرس :

وردپرس به سبب سبکی و سادگی و البته زیبایی و راحتی کار در ابتدای نصب آن، پر استفاده ترین سیستم مدیریت محتوای جهان است.

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

وردپرس را از همان ابتدای نصب بدون هیچ دغدغه ای میتوانید استفاده نمایید. محیط مدیریت بسیار راحت و ساده ای دارد. به راحتی میتوانید برای آن از میان صدها تم رایگان تم انتخاب کنید. و از میان صدها شرکت و برنامه نویس وردپرس پشتیبانی دریافت کنید.

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

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

سایتهای بسیاری با آن پیاده شده اند و البته سایتهای بزرگی نیز بر بستر آن راه اندازی گردیده اند. از نظر کد نویسی مثل جوملا استاندارد نیست و در هسته از MVC حمایت نمیکند. مگر اینکه در ماژول خود از این استانداردها استفاده نمایید.

امکانات مدیریتی آن محدود است. و از پلاگین های پایه ای قدرتمندی بهره نمیبرد.

به سبب آمار بالای استفاده و در معرض بودن آن، از نظر امنیت در رتبه های پایینتری است.

در صورتی که دنبال یک راه حل سرراست و ساده هستید از وردپرس استفاده نمایید.

 

نتیجه گیری :

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

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

 

آمار استفادهاز  نرم افزازهای مدیریت محتوا - منبع: نرم افزار شنود آنلاین Wappalyzer  -  مرداد 1401 - آگوست 2022

 

 

 

 

 

آخرین به روزرسانی این مقاله در مرداد ماه سال 1401 صورت گرفته است.

علی خالقیان
توسعه دهنده وب

دیدگاه ها

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

ارسال پیام