دروپال( Drupal ) چیست ؟
دروپال( Drupal ) یک سیستم مدیریت محتوا یا به عبارتی بهتر یک فریمورک توسعهی نرمافزارهای تحت وب است. قابلیت توسعهپذیری و سفارشیسازی بسیار بالا در این نرم افزار سبب میشود، استفاده از آن در بسیاری از کاربردهای گوناگون از جمله طراحی سایت ممکن و منطقی به نظر برسد. هرچند سهم بازار دروپال در مقایسه با ابزارهایی مثل وردپرس و جوملا کمتر است. ولی سهم آن از سایتهای بزرگ و با امنیت بالا در مقایسه با سایر ابزارها بالاتر و قابل توجه است. برای مثال سایت دانشگاه آکسفورد، سایت دانشگاه استنفورد، سایت سازمان فضایی ناسا، سایت اوبونتو و سایت کاخ سفید برخی نمونهها از کاربرد دروپال در سایتهای بزرگ و مهم به شمار میروند.
دروپال علاوه بر توسعهپذیری بسیار بالا، ویژگیهای مهم دیگری نیز دارد که انتخاب آن را در برخی کاربردها به تنها راه حل موجود تبدیل میکند.
از مهمترین ویژگیهای دروپال، امنیت بسیار بالای آن در مقایسه با سایر CMSهای موجود است. جامعهی توسعه دهندگان دروپال به صورت پیدرپی تلاش میکنند، هرگونه اشکال امنیتی و عملکردی دروپال را شناسایی و برطرف کنند. بنابراین پیگیری مداوم بهروزرسانیهای موجود در مخزن دروپال از نیازهای اساسی برای دستیابی به امنیت و کارایی حداکثری است.
سئو در دروپال
دروپال امکانات خوبی برای بهبود سئو در اختیار صاحبان سایتها قرار میدهد. تعریف تگهای سئو و عنوانهای متناسب با سئو در بخش محتواهای دروپال از پیش در دسترس هستند. این امکانات ایجاد سایتی سازگار با موتورهای جستجو که بتواند رتبهی خوبی را کسب کند به کاری آسان تبدیل میکند.
دروپال و امنیت
امنیت دروپال یکی از ویژگیهای مهم آن است که سبب شده بسیاری از سایتهای مهم به استفاده از آن روی بیاورند. سیستم قوی مدیریت دسترسی در دروپال ابزاری است که به صاحبان سایتها کمک میکند، دسترسی و استفاده از بخشهای مختلف ظاهر و بخش مدیریت سایت را برای گروههای مختلف کاربری ممکن یا ناممکن کنند.
سابقهی دروپال نشان داده است که جزء ایمنترین سیستمهای مدیریت محتوا به شمار میرود و هنگامی که امنیت به صورت خاص باید مورد توجه قرار بگیرد، یکی از گزینههای غیرقابل چشمپوشی دروپال است.
به کارگیری دروپال
استفاده از دروپال در مقایسه با سایر سیستمها از جمله وردپرس و جوملا تا حدودی مشکلتر است و به آموزش بیشتری نیاز دارد. بنابراین کاربرانی که آشنایی کمی با سیستمهای مدیریت محتوا داشته باشند یا به تازگی بخواهند یک سایت را راهاندازی کنند ممکن است در استفاده از دروپال با مشکلاتی مواجه شوند.
توسعهپذیری دروپال
دروپال بسیار قابل توسعه است. در نگارش آخر دروپال، تغییراتی بنیادین در شیوهی کدنویسی دروپال ایجاد شده است. این تغییرات سبب افزایش توسعهپذیری دروپال شدهاند. در گذشته نیز دروپال با استفاده از افزونههای متعدد یکی از توسعهپذیرترین سیستمهای مدیریت محتوا بوده است.
دروپال بیش از آنکه تمرکز خود را بر روی کاربری سیستم قرار دهد، توسعهپذیری و امکان تغییرات توسط برنامهنویسان را مد نظر قرار داده است.
دروپال و زبان فارسی
دروپال سازگاری خوبی با زبانهای بینالمللی و سایتهای چندزبانه دارد. امکان ایجاد سایتها و محتواهایی چندزبانه به خوبی در دروپال پشتیبانی میشود.
امکان ایجاد سایتهایی با زبان متفاوت یا محتواهایی با زبان متفاوت درون یک سایت توسط دروپال پشتیبانی میشود.
ساختار شاخههای دروپال
علاوه بر شاخههای اصلی نرمافزار دروپال، شاخهی اصلی کاربردی sites نام دارد. یک نسخهی نصب شده از دروپال امکان پیادهسازی چندین سایت مختلف را داراست. به ازای هر سایت میزبانی شده روی یک نسخهی دروپال، یک شاخهی مجزا در این شاخه ایجاد میشود. شاخهی all نیز دربرگیرندهی فایلهای عمومی و مشترک بین نسخههای موجود است.
فایلهایی مانند افزونهها، قالبها و کتابخانههای مختلف در شاخهی all قرار میگیرند و هر سایت بسته به تنظیمات خود ممکن است برخی از این امکانات را فعال یا غیرفعال کنند.
هر شاخهی قرار گرفته در شاخهی sites حاوی یک فایل مهم به نام settings.php است. این فایل، تنظیمات منحصر به فرد هر سایت را مشخص میکند. تنظیماتی مانند ویژگیهای اتصال به پایگاه داده و هرگونه تنظیمات دیگر در این فایل قرار میگیرند.
علاوه بر settings.php فایلها و شاخههای دیگری ممکن است در شاخهی مربوط به هر سایت واقع شوند. فایلهای آپلود شده در هر سایت، فایلهای مربوط به افزونهها، و هرگونه فایل مربوط به سایتهای منحصر به فرد میزبانی شده روی دروپال در این شاخه قرار میگیرند.
نصب دروپال
نصب دروپال بسیار ساده است. تنها پیشنیاز نصب دروپال، ایجاد یک پایگاه داده و ارائهی اطلاعات کاربری و گذرواژهی مورد نیاز به نرمافزار نصب دروپال است.
نصب دروپال در هنگام اجرا ممکن است فرآیندهایی زمانبر برای ایجاد پایگاه داده را فراخوانی کند. بنابراین تنظیم php به گونهای که زمان timeout مانعی برای نصب دروپال نباشد، الزامی است. برای انجام این کار، تنظیم max_execution_time در فایل php.ini به مقداری مانند ۶۰ یا ۹۰ ثانیه توصیه میشود.
پس از نصب دروپال، برای نصب افزونههای مورد نیاز میتوان از بخش Modules در سربرگ سایت و کلیک روی گزینهی Install new module اقدام نمود. امکان نصب دروپال از طریق نشانی اینترنتی یا آپلود فایل فشردهی افزونه وجود دارد. برخی از افزونههای دروپال ممکن است به یک یا چند افزونهی دیگر وابسته باشند. این وابستگی هنگام نصب به اطلاع شما خواهد رسید.
افزونههای دروپال
دروپال بسیار توسعهپذیر است. به این معنی که تقریبا تمام عملکردهای آن با استفاده از Hook قابل تغییر است. افزونههای نصب شده هر یک ممکن است عملکردهای طبیعی دروپال را تغییر دهند و چنانچه عملکرد صحیحی نداشته باشند ممکن است عملکرد صحیح سایت را مختل کنند.
قالبها در دروپال
هر قالب دروپال شامل چندین فایل مختلف است که برای بخشهای مختلف سایت مورد استفاده قرار میگیرد. یک قالب حاوی بخشهایی است که در به آن Region گفته میشود. با مراجعه به بخش Structure و سپس Blocks میتوان محتویات این بخشها یا Regionها را تغییر داد. دروپال به صورت پیشفرض حاوی چندین بلاک تعریف شده است و بسیاری از افزونهها نیز، Blockهایی را به دروپال میافزایند که کاربر میتواند به دلخواه هر Block را در هر بخش دلخواه به نمایش درآورد. نمایش Blockها با شرطها و تنظیمات مختلفی سفارشی میشود. برای مثال میتوان مشخص کرد که یک بلاک تنها در صفحهی اول سایت یا هر صفحهی دلخواه دیگر به نمایش درآید.
منوها
دسترسی به منوهای سایت با مراجعه به بخش Structure و Menus امکانپذیر است. منوها نوعی از ساختارهای درختی هستند که مجموعهای از پیوندها را نگهداری میکنند. ایجاد منوها و زیرمنوها و پیوندها در دروپال به تعداد نامحدود امکانپذیر است. هر منو را میتوان با شکلهای مختلف و با شروط مختلف در بخشهای مختلف سایت به نمایش درآورد. مهمترین کاربرد منوها، ایجاد منوی اصلی سایت است که معمولا در بالا یا بخش کناری سایت واقع میشوند.
هر منو میتواند به عنوان یک Block در یک بخش یا Region در سایت مکانیابی شود.
انواع داده در دروپال
مشاهده، نمایش و تغییر انواع داده از طریق مراجعه به بخش Structure و سپس Content types امکانپذیر است. نوع دادههای مختلف برای کاربردهای گوناگونی مورد استفاده قرار میگیرند. نوع دادههایی مانند مقاله، صفحه، پرسش متداول، مطلب وبلاگ، و هرگونه محتوای تعریف شده به صورت منطقی در این بخش تعریف میشوند.
انواع داده برای کاربردهای بسیاری متنوعی میتواند مورد استفاده قرار بگیرد. استفادههایی مانند ایجاد اسلاید تصویر، کارکنان سازمان، و بسیاری از انواع دادهی دیگر که در سیستمهای دیگر جز با نصب افزونه یا تغییر سورس ممکن نیستند.
الگوریتم، شکل، ترتیب، محل و شرط نمایش هر نوع داده با کمک افزونههای مختلف دروپال به ویژه افزونهی Views قابل انجام است.
هر نوع داده میتواند فیلدهای مختلفی داشته باشد. برای مثال ممکن است برای نوع دادهی پروژه، سال شروع، سال پایان، نظر کارفرما و تصویر، فیلدهای مناسبی باشند.
یا برای مثال، فیلدهای مناسب برای نوع دادهی «پرسش متداول» فیلدهای: سوال، پاسخ و گروه فیلدهای مناسبی هستند.
افزونهی Views
این افزونه برای نمایش انواع مختلف داده به کار میرود. برای مثال ممکن است صاحب یک سایت بخواهد، سوالهای متداول موجود در گروه «عمومی» را بر اساس تاریخ ارسال مرتب کند، فیلدهای آن را به شکلی خاص مرتب کند و آن را به عنوان یک Block در بخش کناری سایت قرار بگیرند.
افزونهی Views اطلاعات استخراج شده را به شکلهای مختلفی نمایش میدهد. ممکن است بخواهید این اطلاعات در یک صفحهی مجزا با یک نشانی مجزا به نمایش درآیند. یا ممکن است بخواهید این اطلاعات به عنوان یک Block در تمام صفحات سایت دیده شوند یا ممکن است بخواهید این اطلاعات قبل و بعد یک View دیگر قرار بگیرند. افزونهی Views با ویژگیهای منحصر به فرد خود تمامی این نیازها و بسیاری نیازهای دیگر را به آسانی مدیریت میکند.
افزونهی Snapshots
این افزونه یکی از مفیدترین افزونههای موجود است. عملکرد آن، تهیهی پشتیبانی از سایت شما و امکان بازیابی در زمان دلخواه است. عملکرد صحیح این افزونه به تعریف مسیر Private file system path در بخش Configuration و سپس File system ممکن است. این مسیر محل نگهداری نسخههای پشتیبانی ایجاد شده است. برای حفظ امنیت اطلاعات پشتیبان گرفته شده، بهتر است دسترسی به این شاخه به طور کامل توسط htaccess مسدود شود. تا نسخههای پشتیبان ایجاد شده از راه دور قابل مشاهده و دریافت نباشند.
افزونهی Books
عملکرد این افزونه در ایجاد محتواهای درختی است. پس از فعالسازی این افزونه که در نصب اولیه، غیرفعال است، میتواند یک کتاب ایجاد کرد. هر کتاب میتواند حاوی بخشها و صفحات مختلفی باشد. همراه با این افزونه، یک نوع دادهی جدید به نام Book page نیز به دروپال افزوده میشود. البته اجباری در استفاده از این نوع داده برای صفحات کتاب وجود ندارد و هر نوع دادهی دلخواه میتواند به عنوان یک صفحهی کتاب مورد استفاده قرار بگیرد.
علاوه بر نوع داده، یک Block مخصوص نیز با این افزونه به وجود میآید که عملکرد آن، درج ساختار صفحات کتاب در Region دلخواه قالب است. به این صورت که ساختار درختی صفحات و بخشهای کتاب و همچنین محل فعلی در کتاب انتخاب شده را میتوان برای مثال در کنار سایت قرار داد تا کاربر بتواند از آن استفاده کند.
ایجاد و استفاده از کتابها به تعداد نامحدود ممکن است و دسترسی به کتابهای موجود در بخش Content و سربرگ Books شدنی است.
تولید محتوا در دروپال
بر اساس انواع دادهی تعریف شده در دروپال، میتوانید مطالب سایت را ایجاد، مشاهده و ویرایش کنید. ایجاد محتوا با مراجعه به بخش Content امکانپذیر است. برای ایجاد هر محتوا بر اساس نوع آن، فیلدهای مختلفی هم به صورت انتخابی یا اجباری باید مقداردهی شوند. همان طور که گفته شد. این فیلدها قابل سفارشیسازی و ترتیب نمایش آنها نیز قابل تغییر است.
تنظیمات دروپال
جز تنظیمات اصلی که در فایل settings.php به انجام میرسند، مابقی تنظیمات سایت در بخش Configuration قابل مشاهده و تغییر هستند. یکی از مهمترین تنظیمات موجود که برای بهینهسازی موتورهای جستجو یا SEO اثرگذار است Clean URLs نام دارد. این ویژگی باعث تغییر نشانی دسترسی به صفحات و بخشهای سایت میشود. در هنگام ایجاد محتوا، تنظیم URL path settings به مشخص کردن این نشانی منحصر به فرد اختصاص دارد. برای مثال دو نشانی node/11 و نشانی about هر دو ممکن است به یک صفحه اشاره کنند. ولی نشانی دوم برای کاربر و موتور جستجو میتواند مفیدتر و کاراتر باشد.
ویرایشگر متن دروپال
ویرایشگر متن در دروپال مانند بخشهای دیگر بسیار منعطف و توسعهپذیر است. با استفاده از بخش Wysiwyg profiles واقع شده در بخش تنظیمات، میتوان به تعداد نامحدود ویرایشگر متنی تعریف کرد. هر ویرایشگر را میتواند به یک گروه از کاربران اختصاص داد، اسکریپت ویرایشگر دلخواه را انتخاب کرد. یا نوع محتوای قابل قبول و تگهای پذیرفته شده را برای آن مشخص نمود.
دروپال از بیشتر ویرایشگرهای متنی جاوااسکریپت پشتیبانی میکند. روش نصب هر ویرایشگر متنی در ذیل تنظیمات افزونهی Wysiwyg شرح داده شده است. از مشهورترین ویرایشگرهای متنی، TinyMCE و CKEditor هستند که هر دو با کمترین تلاش ممکن قابل نصب، تنظیم و استفاده هستند.
همانگونه که پیشتر گفته شد، ممکن است برای دستیابی به برخی عملکردها مانند آپلود فایل یا تصویر، نصب یک یا چند افزونهی دیگر در کنار ویرایشگر متنی دلخواه لازم باشد.
بهروزرسانی دروپال
عملیات بهروزرسانی هسته و افزونههای دروپال به صورت تمام خودکار انجام میشود. با استفاده از سیستم پیشرفته پیگیری تغییرات، میتوان از وجود بهروزرسانیهای موجود باخبر شد و عملیات بهروزرسانی را با چند کلیک به پایان رسانید. توصیه میشود پیش از هرگونه بهروزرسانی، از سایت پشتیبان تهیه شود، زیرا ممکن است برخی افزونههای نصب شده یا قالب سایت، با بهروزرسانی جدید سازگار نباشند.
جابجایی دروپال از هاست به هاست دیگر
دروپال بهگونهای کار میکند که به میزبان و دامنهی خاصی وابستگی ندارد. و به سادگی میتوان میزبان آن را عوض کرد. برای این کار کافیست. پایگاه داده و فایلهای دروپال را جابجا کرد و تنظیمات اتصال به پایگاه داده را در فایل settings.php بهروزرسانی نمود.