دو افزونه برای BlogEngine.Net

توسط کامیار چهارشنبه 24 آذر 1389 11:46

For non-Persian Readers:

 

This Article is about my two statistical BlogEngine Extensions/Widgets: Top Posts and LiveViewsCount. You can find the download links for the latest versions of both extensions at the end of this article.
I couldn't find any extension/widget that fulfills all my requirements for a "Most Popular Posts" widget. So I developed my own, Thanks to BE's flexible plugin architecture.
The LiveViewsCount extension/widget shows you what posts are currently being read in your blog. Something that I couldn't find any similar one on the web. So you'll get a total views and a live stats for each post.
Note: To be able to use LiveViewsCount extension/widget, you should set "enableSessionState" value to true in your web.config (line 51 in BlogEngine 1.6.0). Otherwise a runtime error will occur.
Below, You'll find some screenshots of each plugin. The rest of this article is kind of in-detail description for these plugins (It's in Persian, You can navigate to this link to view a google-translated version. Although, screenshots will suffice to give you the idea of what these extensions are like. Also, the widgets' setting areas are shown).
P.S. Please check this page for periodical updates.
P.P.S. If you have used these extensions in your blog, please let me know in the comments section.
P.P.P.S. If you found these extensions userful, please consider spreading the word by sharing this link. Thanks.
RELEASE NOTES:
LiveViewsCount Extension v1.1
now contains a setting key for determining the extension's cache timout. Now you can play with the extension's cache timeout in the extenion's settings page to gain better live stats for authenticated users. 
Top Posts Extension v1.1 now identifies prefetch calls from Mozilla Firefox just like LiveViewsCount. It identifies these prefetch calls and gives you more exact stats. Download link updated.
LiveViewsCount Extension v2.0 The extension has been rewritten from the ground up. now works much faster (by using xmlreader and singleton pattern) and provides additional useful information about current readers (User Host, Agent, Referrer). Check out the last screenshot for the new features.
Note: If you are upgrading from a previous version, delete LiveViews.xml from your storage location (Default: /App_Data folder).
Top Posts Extension v2.0 No new feature has been added but like LiveViewsCount v2.0, has been rewritten for better performance.
LiveViewsCount Extension v2.1 Fixed a couple of rare runtime errors when the XML file was in use.
Top Posts Extension v2.1 Fixed the same bug as LiveViewsCount
LiveViewsCount Extension v2.2 Updated to support BlogEngine 2.0
Top Posts Extension v2.2 Updated to support BlogEngine 2.0

در این مقاله، به معرفی دو افزونه که برای BlogEngine نوشتم خواهم پرداخت. یکی افزونه Top Posts (برای نمایش محبوبترین مقالات) و دومی LiveViewsCount (چه مقالاتی در حال حاضر در حال خونده شدن هستن)

حدود دو ماه پیش که بعد از مدت زیادی بالاخره تصمیم گرفتم وبلاگ نویسی رو شروع کنم، شروع کردم به جستجو برای یک سولوشن تحت Net. برای بلاگ نویسی. مهمترین فاکتورهای من برای انتخاب، سادگی ایجاد تم و یک بستر مناسب برای نوشتن Plugin دلخواه بود. در نهایت بدون بررسی زیاد BlogEngine رو به دلیل محبوبیتش انتخاب کردم. بعد از دیدن سورس برنامه، و چند نمونه Plugin، نوشتن یک Plugin دلخواه برای این برنامه واقعا کاری لذت بخش و راحت بود. اما معرفی پلاگینها:

پلاگین Top Posts

نحوه نصب: فایل Top Posts الصاقی به این مقاله رو دانلود کنید. فایل TopPosts.cs رو در فولدر App_Code/Extensions و Widget رو هم به فولدر Widgets کپی کنید.

چندین نمونه Extension و Widget برای مشخص کردن محبوبترین پستها برای BlogEngine در اینترنت وجود داره. اما برای من، هر کدوم، معایبی داشتن. یکی باعث بوجود اومدن مشکلاتی در Performance می شد، یکی امکانات مناسبی نداشت، یکی با Windows Live Writer به مشکلات عجیبی برخورد میکرد و …

در نهایت، یک Extension و یک Widget نوشتم. این پلاگین اطلاعات زیر رو در اختیار شما قرار میده:

  1. نمایش آمار محبوبترین پستها: همونطور که در این سایت هم ازش استفاده شده.
    TopPosts-1
  2. نمایش آمار دقیق(بدون توجه به زمان Cache) به مدیر بلاگ: اگر به عنوان مدیر بلاگ وارد بلاگتون بشید، در ابتدای هر پست، تعداد کل بازدیدهای صورت گرفته از اون پست تا همون لحظه رو بدون توجه به مقادیر Cache شده به شما نشون میده.
    TopPosts-2
  3. امکان نمایش/عدم نمایش تعداد بازدیدها به کاربران: شما می تونید تعداد نمایش پستها رو در Widget به تمام کاربران نشون بدین یا این اطلاعات رو فقط برای خودتون قابل نمایش کنید. می تونید در صفحه تنظیمات Widget، این عمل رو انجام بدین.
    TopPosts-3

پلاگین LiveViewsCount

نکته مهم: برای استفاده از این پلاگین باید مقدار enableSessionState رو داخل Web.config برابر true قرار بدید (در نسخه 1.6.0، خط 51 در فایل web.config)

نحوه نصب: درست مانند پلاگین Top Posts هست.

نتونستم هیچ پلاگینی در اینترنت پیدا کنم که به من نشون بده در حال حاضر، کاربرانی که دارند از سایت دیدن می کنند در حال خوندن چه مقاله ای هستند. براین همین، این Widget و Extension رو نوشتم. امکانات این پلاگین مشابه پلاگین بالا هست:

  1. نمایش آمار پستهایی که هم اکنون در حال خوانده شدن هستند.
    LiveView-1
  2. نمایش آمار دقیق(بدون توجه به زمان Cache) به مدیر بلاگ: اگر به عنوان مدیر بلاگ وارد بلاگتون بشید، در ابتدای هر پست، تعداد افرادی که در حال مشاهده اون پست هستند رو بدون توجه به مقادیر Cache شده به شما نشون میده. البته اگر کاربری از صفحه رو ببنده، یا غیر فعال بمونه، بعد از 10 دقیقه، از لیست خوانندگان خارج میشه.
    LiveView-2
  3. امکان نمایش/عدم نمایش تعداد بازدیدها به کاربران: شما می تونید تعداد نمایش پستها رو در Widget به تمام کاربران نشون بدین یا این اطلاعات رو فقط برای خودتون قابل نمایش کنید. می تونید در صفحه تنظیمات Widget، این عمل رو انجام بدین.
    LiveView-3

مورد آخری که باید بهش اشاره کنم، وجود یک باگ احتمالی در برنامه BlogEngine.Net هست که باعث میشه آمار نادقیق باشند. هنگام استفاده از Firefox و مشاهده یک پست، تابع Post_Serving برای یک پست غیر مرتبط هم صدا زده میشه. این مورد رو در سایت BlogEngine.Net در CodePlex در این آدرس گزارش کردم که هنوز جوابی داده نشده. برای رفع اشکال موقت، به بخش Settings (در حالت فارسی: تنظیمات) برین و گزینه Show post navigation links (در حالت فارسی، گزینه “نمایش لینک صفحه بندی ارسالها”) رو غیر فعال کنید.

UPDATE: در جواب گزارشم، آقای Ben Amada از تیم BlogEngine.Net اشاره کردن که این یک “خصوصیت” Firefox به نام Prefetch هست. در حقیقت وقتی شما صفحه ای رو باز می کنید، Firefox برخی از لینکهای خاص اون صفحه رو قبل از بازدید Load می کنه تا اگر بعدا خواستید اون لینک رو بینید، سریعتر بارگزاری بشه. برای اطلاعات بیشتر به این لینک در سایت Mozilla مراجعه کنید. فایل الصاق شده همراه با fix برای این مورد و رفع یک باگ جزئی آپدیت شد.

UPDATE 2: این دو افزونه در سایت رسمی BlogEngine.Net در این آدرس قرار گرفتن. از آقای Ben Amada خیلی متشکرم.

نسخه ها:
LiveViewsCount Extension نسخه 1.1
دارای قابلیت تنظیم مقدار Cache timout هست. شما میتونید برای اینکه اطلاعاتی که به admin نمایش داده میشه رو دقیقتر کنید، با مقدار Cache Timout در صفحه تنظیمات Extension بازی کنید. لینک دانلود آپدیت شد.

Top Posts Extension نسخه 1.1، مثل LiveViewsCount، درخواستهای Prefetch از طرف Firefox رو تشخیص میده و اونهارو شمارش نمی کنه. در نتیجه، آمار دقیقتری بهتون میده. لینک دانلود، آپدیت شد.

LiveViewsCount Extension نسخه 2.0 برای کارایی بیشتر (با استفاده از xmlreader و الگوی طراحی Singleton) دوباره از صفر نوشته شده. همچنین اطلاعات مفیدی مثل User Agent، User Host و آدرس ارجاع دهنده رو در مورد خوانندگان کنونی به شما نشون میده.

NewLiveViewsCount

Top Posts Extension نسخه 2.0 امکان جدیدی اضافه نشده. اما مثل LiveViewsCount نسخه 2، برای کارایی بیشتر دوباره نوشته شده.
LiveViewsCount Extension نسخه 2.1 یک باگ نادر که منجر به یک runtime error میشد (زمانی که فایل XML در آن واحد در بیش از یک جا فراخوانی میشد)، برطرف شد.
Top Posts Extension نسخه 2.1 باگ ذکر شده برای LiveViewsCount نسخه 2.1، در این نسخه از Top Posts هم برطرف شد.


Top Posts Extension نسخه 2.2 نسخه مخصوص BlogEngine 2.0

LiveViewsCount Extension نسخه 2.2 نسخه مخصوص BlogEngine 2.0

 

 

 

IDevCenter

برچسب ها: , , , ,

BlogEngine.Net | Tools

نظرات (10) -

وب سایت ها
وب سایت ها Iran
1390/02/02 03:47 ب.ظ #

بعد از کلیک روی لینک این Extension در سایت بلاگ انجین فکر نمی کردم این پست و این افزونه کاربردی به زبان شیرین پارسی نوشته باشه ...

کامیار عزیز سپاسگذارم

موفق باشید دوست من ...



پاسخ به این نظر

admin
admin Iran
1390/02/22 05:13 ب.ظ #

ممنونم دوست عزیز.
برام بسیار ارزشمند هست که شما از این Extension استفاده می کنید.

پاسخ به این نظر

سعید افشاری
سعید افشاری Iran
1390/07/01 05:00 ب.ظ #

از خوندن مقالاتت لذت می برم.

پاسخ به این نظر

کامیار
کامیار Iran
1390/07/03 09:59 ب.ظ #

ممنونم سعید جان. باعث افتخارمه.

پاسخ به این نظر

Alton
Alton United States
1390/07/13 01:12 ق.ظ #

Amazing! Thank you so much! I always wanted to create at my website the like.

پاسخ به این نظر

admin
admin Iran
1390/07/13 03:12 ق.ظ #

Glad you liked it Alton. Have fun Smile

پاسخ به این نظر

ジャケット
ジャケット Japan
1390/12/11 07:57 ق.ظ #

Thank you for the information that provided.

پاسخ به این نظر

fabry19dice
fabry19dice France
1390/12/12 03:48 ب.ظ #

i have load extensions top posts but blogengine give me ERROR PAGE
i use BlogEngine.NET 2.5.0.6 How can i resolve the problem?

پاسخ به این نظر

business directory
business directory Iran
1391/02/04 08:12 ق.ظ #

Hello to you in Iran! Nice blog!

پاسخ به این نظر

Cheap Replica Rolex Watches Store
Cheap Replica Rolex Watches Store Thailand
1391/02/11 01:33 ب.ظ #

<a href="www.buycheapreplicarolex.com/">Replica Rolex Watches Stores</a>
<a href="www.buycheapreplicarolex.com/">Cheap Replica Rolex For Sale</a>
<a href="www.buycheapreplicarolex.com/">Swiss Made Rolex Replica Watches</a>
<a href="www.buycheapreplicarolex.com/">Cheap Replica Rolex For Sale</a>
<a href="www.buycheapreplicarolex.com/">Replica Rolex For Cheap</a>
<a href="www.cheapsuprasshoessale.com/">Cheap Supra Shoes Sale</a>
<a href="www.cheapsuprasshoessale.com/">Supra Shoes Online Sale</a>

پاسخ به این نظر

ارسال نظر




  Country flag
biuquote
  • نظر
  • پیش نمایش زنده
Loading


نقل قول

"قانون اول عدم اطمینان گیلب: کامپیوترها غیر قابل اعتماد هستند اما انسانها بیشتر غیر قابل اعتمادند"
-

آرشیو ماهیانه

تقویم مقالات

<<  ۱۳۹۱ ارديبهشت  >>
شیدسچپج
۲۶۲۷۲۸۲۹۳۰۳۱۱
۲۳۴۵۶۷۸
۹۱۰۱۱۱۲۱۳۱۴۱۵
۱۶۱۷۱۸۱۹۲۰۲۱۲۲
۲۳۲۴۲۵۲۶۲۷۲۸۲۹
۳۰۳۱۱۲۳۴۵

نمایش ارسالها در تقویم بزرگ