همه اطلاعاتی که باید راجع به سیستم‌های مدیریت محتوا (CMS) بدانید!
1398/01/19 09:55 , میلاد صاحب نظر

همه اطلاعاتی که باید راجع به سیستم‌های مدیریت محتوا (CMS) بدانید!

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

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

وقتی یک صفحه را از یک CMS "باز" می‌کنید دقیقا چه اتفاقی می‌افتد؟ اجازه دهید بخش‌های مختلف سیستم‌هایی که محتوا را در صفحه مانیتور شما نمایش می‌دهند را بررسی کنیم.

اینترنت اولیه

پیشرفت‌های هاستینگ وب

اینترنت اولیه

اینترنت اولیه

در اواخر دهه ۱۹۹۰ – وقتی اینترنت تازه ظهور کرده بود – اینترنت دارای تعداد زیادی بخش و سیستم بود که کاربران را قادر می‌ساختند به راحتی به محتوای اینترنتی مورد علاقه خود دسترسی یابند. سپس شرایط بهبود یافت و نحوه انجام کار از گرفتن صفحات وب به صورت مستقیم از سرورهای هاستینگ، به یک سیستم پیچیده‌تر و بهتر تبدیل شد:

  • دسترسی آسان‌تر به ثبت سیستم نام دامنه از طریق موجودیت‌های خصوصی، که این امر باعث شد برچسب‌های (lable) قراردادی که ما امروزه آن‌ها را به عنوان نام‌های دامنه می‌شناسیم با آدرس‌های IP مرتبط شوند. این کار باعث شد کاربران راحت‌تر بتوانند سایت‌های مورد علاقه خود را بیابند.
  • پروتکل امن انتقال ابرمتن(HTTP) یک روش استاندارد برای ارسال اطلاعات روی اینترنت فراهم کرد. این امر باعث شد افراد و سازمان‌ها خیلی راحت‌تر و ایمن‌تر بتوانند محتوای خود را با HTML در اینترنت عرضه کنند و هر کاربری هم که دارای یکی از مرورگرهای سازگار با این پروتکل بود، می‌توانست محتوا را مشاهده کند.
  • سرورهای اینترنتی پدید آمدند، که هدف آن‌ها این است که منتظر درخواست‌های صفحات وب بمانند و در صورت دریافت درخواست، آن صفحات را بازگردانند. این امر باعث شد مدیران سایت‌ها بتوانند محیط‌های هاستینگ خود را سنجیده و ایمن‌سازی کنند.

در طول این مدت، مرورگرها به صورت رایگان در دسترس مردم قرار گرفتند، تامین‌کنندگان خدمات اینترنتی مانند AOL دسترسی دیال آپ نامحدود ارائه می‌دادند و کاربران از جوامع بسته و محدود (مانند سیستم‌های BBS) به محتوای آزاد در سراسر اینترنت مهاجرت کردند. اما علی‌رغم تقاضا برای اطلاعات، هنوز یک بخش از اکوسیستم دچار مشکل بود.

نقاط ضعف نشر در اینترنت

فرآیند ایجاد آن همه وبسایت‌های اولیه هنوز بر صفحات دست‌ساز در فضای HTML متمرکز بود. این فرآیند معمولا به سبک‌های کد نویسی inline و بسیاری از روش‌های کد نویسی خاص و سفارشی به خصوص برای سایت‌های "پویا"ی مدرن (مانند تجارت الکترونیکی که در زبان‌هایی مانند Perl انجام می‌شد)) ختم می‌شد.

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

سپس، روز به روز میزان محتواهای تولید شده توسط کاربر به شکل سایت‌های "پروفایلی" مانند یاهو و MySpace پدید آمدند. خدمات وبلاگ‌نویسی مانند Blogger و LiveJournal یک قدم فراتر رفتند، در حالی که "ویراستارهای صفحه وب" دسکتاپ امکان ایجاد یک صفحه وب (با ظاهر بد) را بدون داشتن علم خاص در این زمینه، فراهم کردند.

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

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

در بخش‌های بعدی بررسی خواهیم کرد که یک CMS دقیقا چگونه همه این کارها را خیلی ساده تر انجام می‌دهد.

اجزای یک CMS

امروزه تعداد زیادی اپلیکیشن‌های CMS وجود دارند، اما اکثر آن‌ها در موارد زیر مشترک هستند:

  • به یک زبان برنامه‌نویسی / اسکریپتینگ خاص نوشته شده‌اند. بر خلاف زبان HTML که فقط یک زبان نشانه‌گذاری است، یک زبان برنامه‌نویسی به صفحات وب اجازه می‌دهد عملیاتی مانند تشخیص اینکه چه کسی در حال استفاده از آن‌ها است یا به دست آوردن نتایج بر اساس جستجو انجام دهند.
  • آن‌ها از یک پایگاه داده برای ذخیره محتوای صفحات، لیست‌های کاربران / رمزهای عبور یا ورودی‌های فرم‌های اطلاعات استفاده می‌کنند.
  • آن‌ها از یک وب سرور استفاده می‌کنند. وب سرور فایل‌های صفحه (و برنامه‌نویسی آن‌ها را) اجرا کرده و HTML به دست آمده را به مرورگر کاربر بازمی‌گردانند.

مراحل مشترک اپلیکیشن‌های CMS

مراحل مشترک اپلیکیشن‌های CMS

در ادامه به ترتیب به این سه نکته خواهیم پرداخت.

زبان‌های برنامه‌نویسی CMS

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

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

حداقل یک CMS برای تمام زبان‌های برنامه‌نویسی وب اصلی وجود دارد که این زبان‌های اصلی عبارت‌اند از:

  • PHP: WordPress، Drupal، Joomla
  • NET: DotNetNuke(DNN CMS)، Umbraco
  • Python: Django، Plone
  • Java: Alfresco، Magnolia

از بین این زبان‌ها ( و زبان‌های دیگر)، PHP به عنوان پیش کسوت برای ایجاد سیستم‌های مدیریت محتوا ظهور کرد و دلایل خوبی هم برای این امر وجود دارند. اول اینکه، یک زبان متن باز است که نمی‌توان این حرف را برای تمام زبان‌ها زد.

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

در آخر، وب سرور Apache از همان ابتدا PHP را به عنوان یک ماژول پشتیبانی می‌کرد. پس راه اندازی وب سرور پرچم‌دار جهان خیلی سریع و آسان انجام شد.

اگرچه برخی دیگر از زبان‌ها برای به دست آوردن جایگاه سردمداری PHP پیشرفت‌هایی کردند(برای مثال NET. نیز دیگر متن باز است)، اما کمی زمان نیاز است تا بتوانند سهم بازار را از امثالی مانند WordPress بگیرند.

پایگاه‌های داده CMS

یکی دیگر از مشخصات زبان برنامه‌نویسی یک CMS خاص همچنین این است که از کدام پایگاه‌های داده پشتیبانی می‌کند یا به چه منابع خارجی نیاز دارد.PHP به خوبی از MySQL پشتیبانی می‌کند، البته CMSهایی که از MySQL استفاده می‌کنند، گاهی می‌توانند با PostgerSQL یا SQLite نیز کار کنند.

همچنین، DNN CMS نیز از Microsoft SQL Server پشتیبانی می‌کند، در حالی که Alfresco از پایگاه داده‌های پروژه‌ای و سازگار با جاوا (مانند اوراکل و db2) پشتیبانی می‌کند. در انتها، پایگاه داده‌ای که برای یک CMS استفاده می‌کنید می‌تواند همان پایگاه داده‌ای باشد که محیط هاستینگ شما فراهم می‌کند.

یک حساب کاربری هاستینگ برای وبلاگ شما، تقریبا همیشه برای شما MySQL را با ارمغان می‌آورد، در حالی که شرکت شما ممکن است از هیچ چیز جز اوراکل استفاده نکنید.

یک پایگاه داده برای اکثر CMSها بیشتر محتوا را ذخیره می‌کند، به استثنای فایل‌های برنامه (قالب‌های صفحه، افزونه‌ها و غیره)، رسانه (تصاویر و ویدئو) و تنظیمات خاص. اما متن درون یک صفحه خاص و همچنین مسیرهای فایل‌های رسانه و URL سایت، گاهی در جداول پایگاه داده ذخیره می‌شوند.

وب سرور CMS

در نهایت، CMS یک برنامه اینترنتی است و از این رو به یک وب سرور نیاز دارد. Apache به واسطه برخورداری از ماژول‌های مختلف، می‌تواند از همه ۴ زبان بیان شده در بالا و حتی زبان‌های دیگری نیز پشتیبانی کند.

اخیرا وب سرورهای جدید‌ی مانند Nginx و lightpd در حال محبوب شدن هستند و همچنین مجموعه‌های مختلف از زبان‌ها به واسط افزونه‌ها در وب سرورها پشتیبانی می‌شوند.

وب سرور فایل‌های سایت را اجرا می‌کند. این نوع‌های فایل (PHP.، JSP. و غیره) معمولا فقط علامت‌گذاری‌های HTML با کدهای ترکیبی از زبان‌های برنامه‌نویسی دیگر هستند. وقتی وب سرور صفحه را پردازش می‌کند، هر کد برنامه‌نویسی شده‌ای که پیدا کند را با کمک ماژول یا افزونه‌های آن زبان، اجرا می‌کند.

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

محیط و عملکرد وب سرور CMS

محیط و عملکرد وب سرور CMS

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

وقتی در بخش‌های زیر چند درخواست از یک CMS را بررسی می‌کنیم، به خاطر داشته باشید که اجرای یک "فایل PHP" ممکن است به معنای اجرای تعداد زیادی فایل باشد نه فقط یک فایل.

CMS در عمل

ساده‌ترین روش برای توضیح یک CMS این است که چند نمونه عملیات را در نظر بگیرید و برای هر کدام مراحلشان را بررسی کنید. همان‌طور که در بالا گفته شد، این فرآیندها با یک درخواست برای یک صفحه آغاز می‌شوند و با ارسال چند فایل HTML (و CSS / Javascript) توسط وب سرور به سمت مرورگر پایان می‌یابند.

اما در این بین چند مرحله وجود دارند که در ادامه بررسی می‌کنیم. فرض می‌کنیم CMS ما بر اساس PHP نوشته شده است.

درخواست یک صفحه

ساده‌ترین تعامل با یک CMS این است که یک کاربر درخواست باز شدن یکی از صفحات آن CMS را داشته باشد. برای مثال، URLی را در نظر بگیرید که در دایرکتوری آن آدرس هیچ فایلی وجود نداشته باشد. وقتی مرورگر کاربر یک URL درخواست می‌کند، وب سرور یکی از فایل‌های PHP در CMS (مانند فایل index.php) را اجرا می‌کند.

مراحل درخواست صفحه

مراحل درخواست صفحه

صفحه PHP با تطابق دادن URL با متاداده و پرس و جوی صفحه CMS از پایگاه داده، درخواست را پردازش می‌کند (دوباره می‌گوییم، هیچ فایلی در موقعیت URL وجود ندارد).

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

ورود

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

مراحل Log in

مراحل Log in

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

مراحل Log in 

مراحل Log in 

به روز رسانی یک صفحه

به روز رسانی صفحه در یک CMS در کل نیاز به دسترسی به صفحه مدیریت آن CMS، ایجاد تغییر در محتوای صفحه و ذخیره یا انتشار مجدد آن صفحه دارد. برای مثال، WordPress حاوی صفحه wp-admin / post.php می‌باشد.

ابتدا سیستم بررسی می‌کند تا ببیند آیا کاربر وارد سیستم شده است یا خیر. حالا اگر کاربر وارد شده باشد، بررسی می‌شود که آیا کاربر مدیر است یا خیر.

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

مراحل به روز رسانی

مراحل به روز رسانی

کاربر می‌تواند با این کنترل‌ها تعامل داشته باشد (به عنوان مثال می‌تواند متن را تغییر دهد یا تصاویر هدر را جایگزین کند) و وقتی کارش تمام شد روی کلید “Save” یا “publish” کلیک کند. در این مرحله، صفحه مدیریت مقادیر وارد شده جدیدی به دست می‌آورد و آن‌ها را در پایگاه داده به روز رسانی می‌کند.

مراحل به روز رسانی

مراحل به روز رسانی

CMSها باعث می‌شوند انتشار در اینترنت امکان‌پذیر باشد

اگرچه CMSها از درون بسیار پیچیده هستند، اما در ظاهر ابزارهایی مانند WordPress باعث می‌شوند انتشار در اینترنت برای کاربران غیر فنی آسان‌تر شود.

شخصی که می‌خواهد یک وبلاگ ساده راه‌اندازی کند، می‌تواند یک حساب کاربری هاستینگ ارزان ثبت‌نام کند، روی چند کلید کلیک کند و در عرض تنها چند دقیقه یک CMS آماده در اختیار داشته باشد. اگر شخص حاضر باشد کمی بیشتر هزینه کند، شرکت هاستینگ حتی می‌تواند به روز رسانی‌ها و نگهداری از CMS را نیز مدیریت کند.

منبع: makeuseof

 مطالب مرتبط

بهترین قالب‌های رایگان HTML5 و CSS3
۹ چیز که باید در مورد HTML5 بدانید
ایجاد یک فرم HTML و تکمیل خودکار فرم‌ها
آموزش زبان HTML (مقدماتی)
تعامل با فایل‌ها در HTML5
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات