ایجاد فایل های RSS و نحوه استفاده از آنان ( بخش دوم )


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

مثال : ایجاد RSS با استفاده از یک بانک اطلاعاتی
در این مثال قصد د اریم اطلاعات را از یک بانک اطلاعاتی اکسس خوانده و به صورت یک فایل XML با فرمت RSS ذخیره نمائیم .


فرضیات :



  • بانک اطلاعاتی نمونه : RSS.mdb
  • جدول حاوی لینک های مورد نظر: XMLlink
  • جدول XMLLink در بانک اطلاعاتی rss.mdb دارای لی اوت زیر است . اسامی فیلدها در جدول XMLlink مشابه اسامی مورد نیاز یک فایل RSS 2.0 در نظر گرفته شده اند .























    اندازه


    نوع


    نام فیلد



    Date/Time


    PubDate


    100


    Text


    Title


    100


    Text


    Link


    Memo


    Description


ایجاد یک فایل RSS

مرحله اول : تایپ کد زیر با استفاده از یک ویرایشگر
اسکریپت های زیر یک فایل RSS 2.0 را با توجه به اطلاعات موجود در بانک اطلاعاتی RSS.mdb ایجاد و آن را با نام RSS.XML در فهرست ریشه وب مورد نظر ذخیره می نماید.




 


مرحله دوم : پس از ذخیره کد فوق در فایلی با نام MakeRss.aspx و اجرای آن ، فایل RSS.xml ایجاد می گردد .


توضیحات :




  • به منظور بازیابی رکوردهای موجود در بانک اطلاعاتی و ایجاد یک فایل RSS از ساختار تکرار While استفاده شده است .



  • به منظور نوشتن رکوردهای بازیابی شده در فایل RSS از کلاس StreamWriter دات نت استفاده شده است . بنابراین لازم است که از System.IO در ابتدای برنامه استفاده شود . ( " Import Namespace="System.IO )



  • namespace فوق کلاس های StreamReader و StreamWriter را به منظور خواندن و نوشتن در فایل های text ارائه می نماید.



  • کلاس StreamReader دارای متدهای متفاوتی به منظور خواندن فایل های text است :







Dim FileReader As StreamReader

FileReader = File.OpenText(path)
FileLine = FileReader.ReadLine()
FileContents = FileReader.ReadToEnd()

FileReader.Close()




  • FileReader متغیری است که به عنوان یک شی StreamReader تعریف شده است . متد openText فایل موجود در مسیر مشخص شده را به شی FileReader نسبت می دهد . متد ReadLine یک خط از فایل text را بدون در نظر گرفتن کاراکتر Line-break ، می خواند. با استفاده از متد ReadToEnd تمامی محتویات فایل با لحاظ نمودن کاراکترهای line-break ، خوانده می شوند. از متد close پس از اتمام کار و به منظور بستن فایل استفاده می گردد .




  • کلاس StreamWriter دارای متدهای متفاوتی به منظور نوشتن در فایل های text است :







Dim FileWriter As StreamWriter

FileWriter = File.CreateText(path)
FileWriter = File.AppendText(path)
FileWriter.WriteLine(text)
FileWriter.Write(text)

FileWriter.Close()




  • FileWriter متغیری است که به عنوان یک شی StreamWriter تعریف شده است . متد CreateText فایل text موجود در آدرس Path را به شی FileWriter نسبت می دهد . متد فوق در صورتی که فایل موجود نباشد آن را ایجاد و در صورت موجود بودن فایل بر روی آن بازنویسی می نماید .متد AppendText خطوطی را به یک فایل موجود اضافه می نماید . متد WriteLine یک رشته متن به همراه یک کاراکتر Line-break را به فایل text اضافه می نماید. متد Write یک رشته متن را بدون لحاظ نمودن یک کاراکتر Line-break به فایل text اضافه می نماید . از متد close پس از اتمام کار و به منظور بستن فایل استفاده می گردد .



  • در ابتدا، گره ریشه > و اطلاعات مربوط به لینک به سایت ، تعریف شده اند .



  • برای هررکورد بازیابی شده از بانک اطلاعاتی یک گره ایجاد شده است . گره فوق دارای سه گره فرزند به اسامی , ")
    FileWriter.WriteLine("http://www.srco.ir/")
    FileWriter.WriteLine("Software ,Hardware ,Network ")

    While DBReader.Read()
    FileWriter.WriteLine("")
    FileWriter.WriteLine("" & DBReader("PubDate") & "")
    FileWriter.WriteLine("")
    FileWriter.WriteLine("" & DBReader("Link") & "")
    FileWriter.WriteLine("" & DBReader("Description") & "")
    FileWriter.WriteLine("
    ")
    End While

    FileWriter.WriteLine("")
    FileWriter.WriteLine("")
    FileWriter.Close()

    DBReader.Close()
    DBConnection.Close()
    Response.Redirect("http://www.srco.ir/RSS.xml")

    End Sub


    تهیه شده در شرکت سخا روش - 1382

آشنایی با RSS

مقدمه

امروزه با توجه به استفاده روز افزون از اینترنت و همچنین افزایش تعداد پایگاههای اطلاع رسانی که ارائه دهنده اخبار ، اطلاعات تخصصی و... می باشند ، نیاز به اشتراک گذاشتن اطلاعات بیش از پیش احساس می گردد. اما به اشتراک گذاشتن اطلاعات ، بدون داشتن بستر فنی واحد و در عین حال استانداردی یکسان قابل انجام نخواهد بود . یکی از معمول ترین راههای استفاده مشترک از اطلاعات , قالب RSS می باشد که خود امروزه به عنوان یک استاندارد معرفی می گردد . برای پیاده سازی RSS ، از زبان XML استفاده می شود که هم بوسیله بسیاری از زبانهای برنامه سازی پشتیبانی می گردد و هم سکوهای مختلف (Platform) برداشت یکسانی از آن دارند .

Really Simple Syndication ) RSS ) چیست ؟

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

تاریخچه RSS

از شرکت Netscape به عنوان مبتکر RSS یاد می شود . بعد ها شرکت Userland توسعه و کنترل نسخه های RSS را بر عهده گرفت . اما همزمان با این شرکت ، یک گروه غیر تجاری نیز که مبنای کار خود را تعاریف اصلی ارائه شده از سوی Netscape قرار داده بود ، نسخه جدیدی برای RSS ارائه داد که این نسخه با استقبال Userland روبه رو نگردید . Userland به توسعه نسخه اصلی خود ادامه داد تا RSS 2.0 را ارائه کرد .

RSS 0.90

اولین بار Netscape برای پخش اخبار، مطالب و اطلاعات جدید خود، RSS را پایه گذاری کرد. این نسخه که RSS 0.90 نامیده می شد، در پایگاه my.netscape.com مورد استفاده قرار گرفت . نکته مهم در مورد این نسخه ، پشتیبانی آن از scriptingNews ( قدیمی ترین قالبی که بنگاههای خبری برای به اشتراک گذاشتن اخبار از آن استفاده می کردند ) می باشد .(3/15/1999)

RSS 0.91

Netscape نسخه جدید RSS را بر مبنای scriptingNews 2.0b1 ارائه داد . در این نسخه گامهای اصلی استاندارد سازی این قالب برداشته شد و بسیاری از تگ ( tag ) های قالب مورد استفاده قرار گرفت ( 7/10/1999 ) . پس از این Netscape کار برروی RSS را رها کرد و Userland با اعمال تغییراتی بر روی RSS 0.91 ، این نسخه را ارائه کرد (6/4/2000)

RSS 1.0

این نسخه که ارتباط چندانی با نسخه های قبلی RSS نداشت ، توسط یک گروه خصوصی و با هدایت Real Dornfest ارائه شد . این نسخه که به نسبت نسخه های قبلی از پیچیدگی های بیشتری برخوردار بود، توسط Userland به عنوان نسخه جدید RSS پذیرفته نشد .( 8/14/2000) .

RSS 0.92

در حقیقت این نسخه همان RSS 0.91 می باشد که تعدادی عناصر اختیاری به آن افزوده شده است . طراح آن Dave Winer طراح اصلی ScriptingNewsاز Userland می باشد(12/25/2000).
 

RSS 2.0

Dave Winer پس از ترک Userland این نسخه را طراحی کرد (9/18/2002) . سپس مشخصات RSS 2.0 توسط دانشگاه هاروارد و تحت مجوز پدید آورندگان آن منتشر گردید. (7/15/2003).
 

از چه نسخه ای از RSS استفاده کنیم ؟

پایگاه اطلاع رسانی Syndic8.com اعلام کرده است که بیش از 50 درصد از feed های موجود از RSS 0.91 استفاده می کنند ، تنها 25 درصد ، RSS 1.0 را مورد استفاده قرار می دهند و 25 در صد باقی مانده از قالب RSS 9.x و یا RSS 2.0 استفاده می کنند .
با این حال، گفتن این مطلب که کدامیک از این نسخه ها به نسبت دیگری در وضعیت بهتری قرار می گیرد ، کار چندان ساده ای نمی باشد و با توجه به اینکه امروزه نرم افزار های موجود، تمامی قالب ها را پشتیبانی می کنند، از این لحاظ مشکلی برای کاربران ایجاد نخواهد کرد. اما به واسطه اینکه RSS 2.0 آخرین نسخه ارائه شده می باشد و RSS 1.0 تنها نسخه ای است که از استانداردهای دیگر نسخه ها پیروی نمی کند ، ما از RSS2.0 استفاده و آن را توصیه می نماییم .


نحوه استفاده از RSS برای افراد عادی و مدیران پایگاههای اطلاع رسانی

• افراد عادی

همانطور که در تعریف RSS ذکر شده است ، برای مطالعه اطلاعات و اخبار از طریق RSS، احتیاج به نرم افزارهای خاصی می باشد که اصطلاحا گرد آور خبر
( News aggregators ) نامیده می شوند . این نرم افزار این امکان را به کاربران می دهد که کانال های مورد علاقه خود را ( پایگاههای اطلاع رسانی که مطالب خود را به صورت RSS نیز ارائه می دهند ) اضافه کرده و در یک بازه زمانی دلخواه ، آخرین تغییرات را مشاهده نمایند .
به همین منظور نرم افزارهای مختلفی ارائه شده اند که در بخش نرم افزار می توانید نام آن ها را مشاهده نمایید .


• مدیران پایگاههای اطلاع رسانی

مدیران پایگاههای اطلاع رسانی به دو صورت می توانند از RSS استفاده نمایند :
1- برای نقل اطلاعات و اخبار از پایگاههای دیگر
با استفاده از بخش " نقل اطلاعات RSS دیگران در پایگاه اطلاع رسانی "، مدیر سیستم می تواند از اطلاعات و اخبار سایتهای دیگر در پایگاه خود استفاده نماید .
2- برای ارائه اطلاعات و اخبار پایگاه خود در قالب RSS
با استفاده از بخش " ارائه RSS در پایگاه اطلاع رسانی "، مدیر سیستم می تواند اطلاعات و اخبار پایگاه خود را در این قالب در دسترس سایرین قرار دهد.

نرم افزار

نرم افزار های مختلفی برای جمع آوری و خواندن اطلاعات پایگاههای ارائه دهنده RSS وجود دارد که ما 3 نمونه از آنها را در اینجا کر می کنیم :

Source : http://www.radcom.ir