Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
~GSoC2010: msankhala's RSSFeed support
Google Summer of Code 2010 application for Expert Labs
Create a Plugin that extend the Thinktank functionality by providing the RSS feed. Using this plugin content from thinktank could be distributed immediately. This extension will generate the regularly changing content of thinktank instance as RSS Feed so that it can be provided whoever wants it.
Its goal is to provide additional functionality to the present thinktank. The present working model of thinktank does not support the RSS Feed. With the help of this plugin the thinktank would be able to provide syndicated content. It would help the thinktank to expose their newly posted content. Like the other commercial web site and blogs thinktank would be able to provide RSS Feed.
What is RSS?
RSS also known as rich site summary or real simply syndication. RSS Feeds provide webmasters and content providers an avenue to provide concise summaries to prospective readers. Thousands of commercial web sites and blogs now publish content summaries in an RSS feed. Each item in the feed typically contains a headline; article summary and link back to the online article.
Benefits to Thinktank:
RSS Feed will benefit the thinktank to expose their sites content over the internet and will informe the people who subscribe for it to get the news about the new post.
Benefit to the Webmaster:
1.) Provide fresh and relevant content on their website, which encourages users to return.
2.) Constantly changing content means that search engine spiders will visit more frequently.
3.) Automate content delivery.
Benefit to Web Surfers:
1.) Easily locate information.
2.) Classify and categorize information in an easy to navigate manner.
Difference between RSS Feed and RSSCloud:
This is like the difference between checking your email every once in awhile and get new emails pushed to you as soon as they arrive. The subscription method of RSSCloud works more like Instant Messaging than the old method of polling feeds for updates each time you fire up your feed reader.So while Twitter, Facebook and the major search engines battle it out in providing real-time information services to web users.
A subscriber initially pulls the Atom or RSS feed in the conventional way, i.e. by requesting it from the feed server. The subscriber then inspects the feed, and if it references a hub, the subscriber can subscribe to the feed URL topic on that hub. The subscriber runs a server so that hubs can directly notify it when any of its subscribed topics have updated.
Publishers expose their content as Atom or RSS feeds, but with the inclusion of hub references. They post notifications to those referenced hubs whenever they publish something. Thus, when a publication event occurs, the publisher calls its hubs and the hubs call their subscribers.
Whenever any new content is posted on thinktank site then the site administrator will be able to generate the RSS Feed using this plugin. This plugin would fatch the data from database of thinktank and will generate the xml file. RSS feeds are composed in XML, which is a very simple markup language. Similar to HTML, XML uses tags to identify fields. Webmasters can easily parse the RSS feed and dynamically create web pages that contain headlines and summaries. The feeds will continuously update, supplying a steady stream of automatically generated fresh content.
This Plugin will maintain the tables in database for the detail of the feed document and the item displayed in that document. A script will fatch the document detail and the items and create the XML content.
• Notify to the subscribed users:
This plugin would make able to thinktank to send mail to the subscribed user for the RSS
Feed whenever any new RSS Feed is generated.
• RSS validator:
This is a validator for syndicated feeds. If the validator finds any problems in your feed, it will give you messages for each type of problem and highlight where the problem first occurs in your feed. There are many third party tools to check the RSS Feed validity. [http://www.w3.org/QA/Tools/]. Any of the RSS validator tool can be added to this plugin which check the validity of generated RSS Feed.
Rough timeline for the project:
• April 26 to May 24:
1) Being familiar with mentor and community, with Thinktank code, coding convention.
2)Learn how to make thinktank plugin
3)setting up development environment and version control system.
• May 24 to July 24 june:
Start coding to make proposed plugin and modify the required files according to need.
• June 24 to July 12:
integrate the plugin with other component.
• June 12 to July 16:
make the first evolution version.
• July 16 to August 9:
make the change according to mentor guide and others feedback.
• August 9 to August 19: Final release.
I am B.tech third year student of College of Engineering & Technology, Bikaner, Rajasthan(India). My Branch is computer science Engineering(CSE).I have keen desire to work with open source project. I want to gain knowledge and improve my skills. I want to use the power of open source. I have engaged with FOSS from last one year. I have knowledge of several content management system like joomla, drupal, xoops and I have worked with them. I have quite knowledge of C, C++, java, Php and Mysql.I have experience of working in linux ; from last one and half year I am working in linux. I have made the library management project at my college level. This project is made in C++ . The whole coding is done by me. I have good command over C and C++ file handling. I use irc, mailing lists and know the basic project and coding convention so I can start early with coding. I take Summer of Code as an opportunity to get engaged in open source project and gain the knowledge. I would like to work with this organization even after Gsoc and want to contribute.
Sample code for RSS:
I have simply created a sample RSS example code which fatch the information from database and generate the XML content. This is simple php script which you can look at