مدیریت محتوای وب سایت بصورت ایستا

این یه تجربه پراکنده دیگه!

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

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

در اینجا من یکم در مورد مزایا و معایب این سیستم‌ها میگم و یه معرفی کوتاه سرنخ وار از این سیستم‌ها میدم و امیدوارم به درد کسی بخوره:

بزرگترین مزیت این سیستم اینه که صفحات ایستا به شدت با سرعت خوبی نشون داده شده و سربار اضافی روی سرور ندارن. از این مزیت که بگذریم یکی دیگه از بهترین نکات اینه که صفحات بصورت فایل‌هایی ذخیره میشن که می‌تونن ورژن گذاری بشن و نحوه تغییراتشون با استفاده از نرم‌افزارهای مانند GIT و Subversion و … ثبت بشن و تمامی نسخه‌هاشون در دسترس باشه.

اما بزرگترین ایرادشون هم اینه که کارهایی که نیاز به محاسبه زمان اجرا داره، مثل گذاشتن کامنت، یا پیاده‌سازی یک سایت خرید آنلاین و از این دست کارها رو نمیشه به راحتی و خوبی انجام داد. که معمولا این سیستم‌ها راه‌حل‌هایی برای حل برخی از این مشکلات دارن اما معمولا این راه‌حل‌ها وابسته به سرویس‌هایی هستن که سایت‌های دیگه ارائه میدن هست.

خب حالا نوبت به اسم این سیستم ها میرسه:

  • Jekyll/Octopress: یک سیستم نوشته شده با استفاده از زبان ruby که الان صفحات مربوط به پروژه های سایت گیت هاب با استفاده از این تکنولوژی تولید و نگهداری می‌شن. یکی از خوبی‌های این سیستم اینه که میشه کامنت‌ها رو بصورت ایستا مدیریت کرد.
  • Pelican: سیستمی است که تو سایت کرنل لینوکس مورد استفاده قرار گرفته و به زبان python نوشته شده. این سیستم امکانات بسیاری داره و طرفداران زیادی رو برای خودش جمع کرده.
  • Blosxom: یکی دیگه از این سیستم ها که به زبان Perl نوشته شده و یکی از خوبیاش اینه که همه جا قابل اجراست. یکی از ویژگی‌های خوب این سیستم قدرت زیاد برای نوشتن افزونه‌ها برای بهبود کارایی سیستم فعلی است.
  • Second Crack با استفاده از زبان PHP نوشته شده و جوری طراحی شده که صفحات با استفاده از dropbox قابل میزبانی باشه.
  • Blacksmith یکی از جدید ترین سیستم‌های موجود هست که با استفاده از Node.js استفاده کرده

منبع این نوشته اینجاست.

 

داشتن یا نداشتن وبسایت شخصی مساله این است؟

خب مساله داشتن وبلاگ و سایت و داشتن یه جایی که آدم بتونه کارهای متفاوتی بکنه (از نوشتن بلاگ، تا معرفی خودش و گذاشتن رزومش تا کارهای دیگه که ممکنه نیازمندش باشه) همیشه واسه من وجود داشته و داره.

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

بعد از مدتها کلنجار رفتن با این مورد میخوام نتایجی که خودم بهش رسیدم رو بگم شاید به درد کسی هم خورد. از نظر من در وحله اول از سیستم‌هایی که بزرگان (آدمهایی که تجربه کافی در حوزه وب دارن) یا همگان استفاده میکنن نقطه شروع خوبیه. یعنی اگه فلان آدم خفن (گیک) داره از وردپرس استفاده میکنه یا خیلی‌ها ازش استفاده میکنن پس واسه یک فرد مبتدی هم خوبه. اما اگه زیادی به این ماجرا فکر کرده باشید و زیاد عملیاتی کاری انجام نداده باشید همیشه انواع سوالات «اگه نشد و …» تو ذهنتون نقش میبنده که هنوز هم تو ذهن من نقش میبنده. که به نظر من قابل اغماضه.

همین!

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

اشتراک فایل با bittorrent sync

توی پست قبلم در مورد جایگزین های سرویس ذخیره سازی فایل در فضای ابری (Cloud) مثل Dropbox یه مطلب نوشتم. حالا یکی از خواننده‌ها بسیار معدود این بلاگ گفته بود اگه با bittorrent sync کار کردم تجربم رو بنویسم. من هم که عمرا بتونم به یه چنین درخواستی جواب نه بدم به همین خاطر الان دارم مینویسم

کل راه اندازی خیلی خیلی ساده بود. تست من روی لپ تاپم با سیستم فدورا ۱۸ نسخه ۶۴ بیتی و یه پی سی قدیمی که کار فایل سرور خونه رو انجام میده با سیستم عامل اوبونتو ۱۲٫۰۴ نسخه ۶۴ بیتی تست کرد. تنها کاری که کردم از سایت اصلی فایل مربوطه رو دانلود کردم و اجرا کردم. تنها نکته قابل اشاره اینه که شاید توی لینوکس این فایل‌(btsync) دسترسی اجرایی نداشته باشن که شما باید این دسترسی رو براشون ایجاد کنید.

با انجام این کار روی آدرس http://my_ip_adress:8888/gui سرویس btsync اجرا شده و آماده است.

صفحه اصلی btsync

صفحه اصلی btsync

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

انتخاب فولدر btsync

انتخاب فولدر btsync

خب حالا کافیه همین کار رو در سمت دیگه (کامپیوتر دومتون) انجام بدید و این دفعه بجای زدن دکمه generate کافیه که secret که در کامپیوتر اول درست کردید رو اینجا هم وارد کنید. و کار تمامه

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

تنظیمات اولیه btsync

تنظیمات اولیه btsync

Selection_004

تنظیمات پشرفته btsync