وب‌نوشت, علم و فناوری, عمومی

بهینه‌سازی و افزایش هوشمندی سایت

استفاده از تاکسونومی و فولکسونومی برای طبقه‌بندی محتوای سایت

سعید علی‌حسینی

تکسونومی (آرایه‌شناسی یا آرایه‌بندی یا رده‌بندی) و فولکسونومی (رده‌بندی مردمی) روشی برای طبقه‌بندی صفحه‌ها و محتوای سایت و ماژول‌ها برای هوشمندسازی بیشتر سایت و ساده‌ترکردن کار کاربران در جستجو و دسترسی به اطلاعات مورد نظرشان از طریق ایجاد رابطه تعاملی چندگانه بین داده و کاربراست.
تکسونومی به‌عنوان "علم و عمل طبقه‌بندی" تعریف می‌شود - ویکی‌پدیا، در حالی که فولکسونومی به‌عنوان "برچسب‌گذاری مشارکتی" - ویکی‌پدیا تعریف می‌شود. معمولاً طبقه‌بندی به تمرین استفاده از دسته‌بندی‌های سلسله مراتبی بر روی محتوا توسط «ویرایشگر محتوا» اشاره دارد، در حالی که فولسونومی به تمرین برچسب‌گذاری آزاد محتوا توسط کاربران اشاره دارد.

Defining Taxonomies
Taxonomy is defined as “the practice and science of classification” – Wikipedia, while Folksonomy is defined as “collaborative tagging” – Wikipedia. Usually, taxonomy refers to the practice of using hierarchical categories applied to the content by a “content editor”, while folksonomy refers to the practice of free-form tagging of content by users.

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

برچسب‌گذاری محتوا هم برای نویسندگان/کاربران CMS و هم برای بازدیدکنندگان سایت در دسترس است. ضمن این که DNN یک طبقه‌بندی (یا تکسونومی) ساختاریافته را ارائه می‌دهد، با یک ویژگی برچسب‌گذاری نیز همراه است که بر اساس فولکسونومی است. به‌جای یک ساختار ثابت که توسط مالک/مدیر سایت تعیین شده باشد، کاربران نیز این آزادی را دارند که برچسب‌های خود را برای کلاسه‌بندی و دسته‌بندی محتوا تعریف کنند.

راه‌های نمایش فهرست تگ‌های صفحه

برای نمایش تگ‌های اختصاص داده شده به یک ماژول یا یک صفحه، باید از دو خط کد زیر برای اشاره به کنترل یا اسکرین‌آبجکتِ تگز استفاده کرد:

<%@ Register TagPrefix="dnn" TagName="TAGS" Src="~/Admin/Skins/Tags.ascx" %>
<dnn:TAGS id="PageTags" runat="server" />

چند روش برای این کار وجود دارد:

روش اول) درج کد اسکین آبجکت در کانتینر ماژول

ایجاد یک کانتینر (با کپی فایل یک کانتینر موجود در صفحه اسکین) در فایل اکسلورر و کپی دو خط کد بالا در فایل کد ascx کانتینر. سپس انتخاب این کانتینر برای یک ماژول مثل Text/Html؛ افزودن تگ‌های موردنظر در تنظیمات صفحه؛ و سپس تگ‌های صفحه در این ماژول نمایش داده خواهند شد. با این روش، تگ‌های خود ماژول نمایش داده نمی‌شوند؛ اما به هنگام کلیک روی یکی از تگ‌ها و هدایت به صفحه جستجو برای نمایش صفحات و ماژول‌های حاوی آن تگ، نام ماژول و فهرست تگ‌های آن نیز در فهرست نتایج جست‌وجو نمایش داده خواهد شد.

روش دوم) درج کد اسکین‌آبجکتِ تگز در اسکین صفحه

الف)در تنظیمات صفحه مورد نظر (مثلا با نام صفحه: تست ماژول جدید)، ظاهر آن اسکین (مثلا مینیس) انتخاب شود
ب)در داخل صفحه، با کلیک روی تنظیمات صفحه وارد تنظیمات تم شوید
پ)از بخش Layouts ایجاد یک کپی از یکی از طرح‌های موجود، با نام: AlhsTagsPage
ایجاد تغییرات مورد نظر در طرح جدید؛ مثلاً افزودن یک سطر به انتهای آن برای نمایش تگ‌ها، افزودن یک پین با نام PaneTags، و ذخیره فایل؛
ت)درتنظیمات تم، از بخش Pages نام صفحه مورد نظر را پیدا کرده، و روی کلید تنظیمات آن کلیک کنید، از منوی بازشده گزینه Edit Options کلیک شود. در تب Content Layout نام طرح ایجادشده (AlhsTagsPage) انتخاب، و تنظیمات تم صفحه ذخیره شود.
فایل‌های طرح در فولدر httpdocs>Portals>_default>Skins>minis>Layouts>0 ایجاد می‌شود.

ث)در سرور سایت، از مسیر بالا، فایل با نام LayoutDB.Content.alhstagspage.ascx را باز کرده و کد افزودن اسکین آبجکت را در پین مربوطه اضافه می‌کنیم

<dnn:TAGS id="PageTags" runat="server"/>

کد کامل آن به صورت زیر خواهد شد:

<div class="panebox PaneTags" id="PaneTags" runat="server"><dnn:TAGS id="PageTags" runat="server" /></div></div>

ج) در مسیر httpdocs>Portals>_default>Skins>minis فایل با نام صفحه جدید (مشابه: page-91-تست-ماژول-جدید.ascx) ایجاد شده است. آن را باز می‌کنیم و کد افزودن اسکین آبجکت تگز را به آن اضافه می‌کنیم:

<%@ Register TagPrefix="dnn" TagName="TAGS" Src="~/Admin/Skins/Tags.ascx" %>

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

روش سوم) نمایش برچسب‌ها در حالت ایستا

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

آبجکت تگز دو ویژگی مفید برای سایت/کاربران دارد: 

  1. نمایش پویای برچسب‌ها (Taxonomies) وقتی تغییر و حذف/اضافه شوند
  2. امکان افزودن برچسب‌ها توسط کاربران واردشده به سایت (Folksonomies).

اما استفاده از اسکین‌آبجکتِ تگز اشکالاتی هم دارد:

  1. عدم تنظیم مجوزهای دسترسی: در حال حاضر امکان تنظیم مجوزهای درج برچسب و انتخاب نقش‌ها/کاربران مجاز به درج برچسب وجود ندارد؛ هرچند فقط کاربران واردشده به سایت می‌توانند برچسب جدید به یک صفحه اضافه کنند، اما این برچسب‌ها برای همه کاربران، واردشده و واردنشده به سایت، نمایش داده خواهد شد.
  2. نمایش نامرتب برچسب‌ها: هر برچسب در یک خط مجزا نشان داده می‌شود که بخصوص در حالتی که تعداد زیادی برچسب داشته باشیم، توازن محتوای سایت را بهم می‌ریزد. این اشکال با دو روش قابل رفع است: الف) استفاده از استایل شیت یا CSS که با بروزرسانی اسکین باید دوباره تنظیم شود؛ ب)تغییر کدهای کنترلِ تگز که با بروزرسانی dnn باید دوباره تغییر داده شود.

سیاست‌های مدیریت و کاربست برچسب‌ها

برای استفاده از امتیازات برچسب‌ها، و مواجهه با نواقص آبجکتِ تگز، می‌توان سیاست‌های زیر را انتخاب کرد:

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

نمایش فهرست ایستای برچسب‌ها

الف)درج یک ماژول Text/Html در صفحه
ب) تعریف پیوند برای هر یک از برچسب‌های موردنظر و ارجاع به صفحه (نتایج جست‌وجو) با تعیین پارامتر Tag در آدرس پیوند، به‌صورت زیر:

/نتایج-جستوجو?tag=اهداف
/نتایج-جستوجو?tag=تست ماژول
http://alhs.ir/نتایج-جستوجو?tag=تست ماژول

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

مدیریت برچسب‌ها

مدیریت برچسب‌ها یا تگز، از نوار تنظیمات سایت، بخش (واژگان یا Vocabularies) انجام می‌شود. البته مدیریت برچسب‌ها در محصول تجاری ایوک Evoq نسبت به dnn عملکرد بهتری ارائه می‌دهد و مثلاً آمار استفاده و داشبورد هم در این مورد ارائه می‌دهد.

Resources: