جوملا یک سیستم مدیریت محتوا یا همان CMS باز متن است که از سال 2005 در اختیار طراحان سایت قرار گرفته است. از آنجا که بسیاری از وب سایت ها امکاناتی مشابه یکدیگر دارند لذا طراحان وب سایت دلیلی برای اختراع دوباره چرخ نمی بینند و سیستم هایی به وجود آمده است که تمام امکانات معمول وب سایت ها را در اختیار کاربران و طراحان سایت قرار می دهند. به این سیستم ها، سیستم مدیریت محتوا می گویند. در واقع سیستم مدیریت محتوا ( Content management system ) یک نرم افزار تحت وب است که امکان انتشار، ویرایش، حذف، سازماندهی، بایگانی و نگهداری هر نوع محتوا شامل متن، تصویر و ویدئو را از طریق یک رابط کاربری برای کاربران با سطوح دسترسی متفاوت، فراهم می کند. امروزه سیستم های مدیریت محتوا نقش مهمی در تجارت و طراحی سایت ایفا می کنند. معروفترین سیستم های مدیریت محتوا عبارتند از: وردپرس، جوملا و دروپال. در این مقاله به توضیح این سیستم های مدیریت محتوا پرداخته و علت انتخاب جوملا (joomla) توسط شرکت دنیای فناوری آکام را توضیح خواهیم داد.


جوملا
جوملا (joomla) یکی از برترین سیستم های مدیریت محتوا در جهان است که شما را قادر به ساخت وب سایت ها و برنامه های کاربردی قدرتمند تحت وب می سازد. جنبه های بسیاری از جمله سهولت در استفاده و توسعه ی آسان از جمله ویژگی های جوملاست. جوملا بر پایه ی یک فریم ورک جامع و انعطاف پذیر ساخته شده که امکان توسعه ی آن را فراهم کرده است. فریم ورک در واقع مجموعه ای منسجم از کلاس ها و توابع از پیش تعریف شده است که قابلیت های بالقوه ی گوناگونی از یک زبان برنامه نویسی را در خود دارد و بدین ترتیب کاربر نهایی را قادر می سازد از امکانات یک زبان بدون درگیری با مسائل پیچیده و وقت گیر آن استفاده کند . لذا همانطور که یک کلاس یا تابع با هدف جلوگیری از تکرار مکررات و افزایش سرعت کار تعریف می شود ، فریم ورک از این هم فراتر رفته و علاوه بر افزایش سرعت ، مواردی مثل توسعه پذیری و ساده سازی را هم مد نظر دارد. . قابلیت توسعه از اهداف اساسی این نرم افزار است. آنچه تاکنون این نرم افزار را نسبت به سایر سیستم های محتوا متمایز کرده توسعه ی سریع آن و چیزی بیش از هزاران افزونه ی منتشر شده توسط شرکت های توسعه دهنده و پشتیبان می باشد.
این نرم افزار باز متن آزادانه در دسترس همگان قرار دارد, شما می توانید برای دانلود آن به سایت http://joomla.org مراجعه کنید.


 
چارچوب و بدنه جوملا شامل سه لایه است :
لایه  Framwork : این لایه شامل توابع درونی میان یک مجموعه گسترده از کتابخانه ها ، پلاگین ها و همچنین فریم ورک جوملا است .
لایه  Application : این لایه رابطی است برای استفاده از کلاس های فریم ورک و کلاس jApplication  را با رابط های طراحی شده برای مدیریت و وظیفه های خاص توسعه می دهد.
لایهExtention  : این لایه Framwork و Application را به صورت مشخص با  ,  Component ها Module ها Templateها توسعه می دهد .
انواع الحاقات و استفاده آنها :
هر چیزی که توابع ماوراء هسته را توسعه دهد extention است ، سه نوع کلی از extention  ها وجود دارد :
1- پلاگین ها 2- ماژول ها 3- کامپوننت ها

البته قالب ها و بسته های زبانی نیز وجود دارند ولی آنها اساسا برای تغییر در صفحه خروجی طراحی شده اند و جزء extention  ها دسته بندی نمی شوند .
Component: کامپوننت ها پیمانه های اصلی جوملا هستند وبدون شک اساسی ترین الحاقات جوملایی اند، هرزمان که جوملا کاری انجام می دهد یک کامپوننت مسئول اجرایی آن است .
Modules : ماژول ها برای نمایش قسمت کوچکی از مطالب معمولا در کناری از صفحه استفاده میشوند ، ماژول ها توانایی ایجاد پایگاه داده را ندارند و فقط اطلاعات را نمایش می دهند .
Plugins : انواع مختلفی از پلاگین ها وجود دارد که هر کدام استفاده های متفاوتی دارند ، به طور کلی اکثر آنها بر اساس رویدادها کار مشخصی را انجام میدهند.
Languages : جوملا چند زبانی را پشتیبانی می کند، بسته های زبانی شامل فایلهایی هستند که موجب ترجمه می شوند. یکی از قدرت های جوملا پشتیبانی آن از چند زبانی است.  بدون شک جوملا بهترین سیستم برای سایت های چند زبانه است. به طور کلی می توانید به راحتی مشخص کنید که هر مطلب, هر منو, هر ماژول و به طور کلی هر چیزی در کدام زبان نمایش داده شود.
Templates : از قالبها برای تغییر ظاهر وب سایت استفاده می کنیم . در واقع هر طراح سایتی که html و css  را بداند می تواند به راحتی یک قالب استاندارد برای جوملا تهیه کند. همچنین هزاران قالب اماده و رایگان در اینترنت برای این سیستم مدیریت محتوا موجود است.


طراحی الگو ها
قبل از بررسی دقیق جوملا باید مقداری در مورد اتفاقاتی که در کد رخ می دهند بدانیم که اغلب این اتفاقات به طراحی الگو ها وابسته اند .جوملا از الگو های متعددی استفاده می کند. برای طراحی افزونه ها باید الگوی Mvc را به طور مشخص و دقیق بدانیم. این الگو افزونه را به سه لایه controller،view  ،model  تفکیک می کند که این لایه ها در عین استقلال با یکدیگر در ارتباط اند . Mvc امکان ساخت افزونه ها را در این سه لایه فراهم می کند به طوری که هر لایه مستقل از دیگر  لایه ها بوده و وظایف خاصی را انجام می دهد. به طور خلاصه لایه Model  با پایگاه داده ها  در ارتباط است ، لایه view  بر اساس اطلاعات وارد شده توسط کاربر و اطلاعات دریافتی از لایه ی Model خروجی مناسب  را برای کاربر تولید می کند ، لایه یcontroller  ارتباط بین دو لایه ی دیگر را مشخص می کند . توسعه برنامه در لایه های مختلف امکان کار گروهی را به بهترین شکل فراهم می کند به گونه ای که هر تیم می تواند یکی از لایه ها را توسعه دهد ، ضمن اینکه هر لایه از اشیاء و کلاسهای تشکیل شده است لذا هر تیم می تواند خود شامل چندین گروه باشد . از جمله دلایل وجود افزونه های پیچیده و قدرتمند برای جوملا همین است .
مزیت دیگر خوانا تر  شدن کد ودر نتیجه ویرایش بدون نقص و بروز رسانی راحت تر است . مثلا در صورتیکه بعد از مدتی کامپوننت شما نیاز به تغییر ظاهر داشته باشد کافی است لایه view  را ویراش کنید .
دیگر الگوی مورد استفاده الگوی Factory  است ، Factory اینگونه تعریف شده است : "تعریف interface  برای ایجاد یک شی ، اما با اجازه دادن به subclass  ها برای تصمیم گیری اینکه چه شیئی باید ساخته شود" . جوملا از کلاس jfactory برای دسترسی آسان به اشیا عمومی و ساخت اشیا جدید استفاده می کنند .
دیگر الگوی مورد استفاده در جوملاsingleton pattern است که به اینگونه تعریف شده است : "اطمینان از اینکه از یک کلاس تنها یک نمونه ساخته می شود " . این الگو با استفاده از یک متد خاص که شی مورد نظر را می سازد قابل پیاده سازی است . هنگامی که این متد فراخوانی می شود ابتدا چک می کند که آیا قبلا شیئی از این کلاس ساخته شده است یا خیر ؟ اگر شیئی ساخته نشده باشد شی مطلوب را ساخته و بر می گرداند در غیر این صورت همان شی قبلا ساخته شده را بر می گرداند .
استفاده از الگوهای استاندارد برنامه نویسی و همچنین فایل های xml و ini و نیز پایگاه داده ی نرمالسازی شده موجب شده است مصرف منابع سرور در مقایسه با وردپرس بسیار کاهش یابد.


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

وردپرس
 وردپرس (wordpress) محبوب ترین و معروفترین سیستم مدیریت محتوا است که حدود 31 درصد از وب سایت های جهان را به خود اختصاص داده است.  این محبوبیت به علت سادگی کار با وردپرس است. این سیستم مدیریت محتوا برای وب سایت های کوچک تا متوسط و همچنین وبلاگ ها مناسب است. وردپرس نیز مانند جوملا و دروپال با زبان php نوشته شده است. مهمترین ایراد وردپرس فدا کردن سرعت و امکانات برای سادگی است. بسیاری از توسعه دهندگان وب بر این باورند که وردپرس بستری مناسب و استانداردی برای توسعه ندارد. زیرا بسیاری از بخش های وردپرس مانند متغیرهای اصلی، توابع و کلاس ها با تکنیک های قدیمی PHP ایجاد شده اند و دارای استاندارد مشخصی نیستند. به همین دلیل است که نام گذاری بعضی از توابع وردپرس برای برنامه نویسان گیج کننده است.
همچنین بسیاری از بخش های وردپرس به صورت غیر شی گرا کدنویسی شده اند. این مورد از نظر برنامه نویسان بسیار ضعف بزرگی محسوب می شود. زیرا امروزه تقریبا برنامه نویسی شی گرایی یکی از مناسب ترین شیوه های کدنویسی است. از طرفی دیگر وردپرس از هیچ کدام یک از معماری های نرم افزاری مثل MVC پیروی نمی کند.
دروپال
 دروپال (drupal) از لحاظ پیکربندی و مدیریت نسبت به جوملا و وردپرس پیچیده تر و البته پر امکانات تر است. بزرگترین مشکل دروپال همین پیچیدگی است.
دلیل انتخاب جوملا توسط شرکت دنیای فناوری آکام ترکیب سادگی وردپرس و امکانات دروپال در کنار یکدیگر است.

نوشتن دیدگاه

تصویر امنیتی
تصویر امنیتی جدید

Review: 4.40 - "طراحی سایت با جوملا (joomla)" by , written on 2019-11-26

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

آخرین نمونه کارها
فروشگاه اینترنتی جام هنر

فروشگاه اینترنتی جام هنر

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

نمونه کار
طراحی سایت بازاریابی شبکه ای

طراحی سایت بازاریابی شبکه ای

بازاریابی شبکه ای شیوه ای از بازاریابی است که در آن شرکت به اعضایش حق کمیسیون می‌دهد تا افراد جدید را وارد کنند...

نمونه کار
طراحی سایت روزنامه پاسارگاد

طراحی سایت روزنامه پاسارگاد

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

نمونه کار