این روزها، پروژه FeedRoll

January 2, 2009 at 07:31 pm

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

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

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

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

لیست بلاگرول اینجا هر 15 دقیقه رفرش می‌شه خروجی فید بلاگرول من هم اینجاست. این‌ها همه رو گفتم برای این که بگم با گسترش کاربرد فید‌ها تگ pubDate خیلی مهمه. خیلی‌ها هنوز آیتم‌های فیدشون این برچسپ رو نداره یا مقدارش معتبر نیست!