మార్చి 29, 2007

కూడలి లాంటి అగ్రిగేటర్ సెటప్ చెయ్యడం ఎలా ?

Posted in అగ్రిగేటర్, కూడలి, టెక్నాలజీ, ప్లానెట్, మాగ్పై ఆరెసెస్ వద్ద 3:55 సా. ద్వారా Praveen Garlapati

కూడలి ఒక ఫీడ్ అగ్రిగేటర్. అంటే వివిధ RSS ఫీడ్ల నుంచి సమాచారం సేకరించి మనకు చూపుతుందన్నమాట.
ఇలాంటి వెబ్ సైట్ లని ఎలా సెటప్ చెయ్యాలి ?

దీనికి ఎన్నో విధానాలు ఉన్నాయి, ఒక రెండు మూడు విధానాలు చెబుతాను.

– మొదటిది వర్డ్ ప్రెస్ ఉపయోగించి. వర్డ్ ప్రెస్ గురించి అందరికీ తెలిసిందే. ఇది ఒక బ్లాగింగ్ సాఫ్ట్‌వేర్. దీనిని ఇన్స్టాల్ చేసుకోవడం చాలా సులభం. వర్డ్‌ప్రెస్ కి ఎన్నో ప్లగిన్స్ ఉన్నాయి. వాటిలో FeedWordPress ఒకటి. దీనిని మీ ప్లగిన్స్ డైరెక్టరీ లోకి కాపీ చేస్కుంటే మీకు మీ అడ్మిన్ సెట్టింగ్స్ లో దీని సెట్టింగ్స్ కనిపిస్తాయి. Blogroll అనే మెనూ కింద మీకు Syndication అని ఒక మెనూ కనిపిస్తుంది. దాంట్లో కి వెళ్ళి మీరు మీ ఫీడ్ URL అందులో ఇస్తే చాలు. మీ ఫీడ్ వర్డ్ ప్రెస్ లో వచ్చేస్తుంది. అలా అక్కడ ఎన్నో ఫీడ్ల నుంచి పోస్టులను సేకరించి మీ వర్డ్ ప్రెస్ లో చూపించచ్చు. ఉదాహరణకి ఇది చూడండి. ఇందులో పనికొచ్చేదేమిటి అంటే మీ పోస్టులన్నీ ఎప్పటికీ ఆర్చైవ్ అవుతాయి. అంటే పాత పోస్టులు కూడా లభ్యమవుతాయి అన్నమాట. కానీ ఇందులో నష్టం ఏమిటి అంటే ఈ పోస్టులు కనక ఎక్కువ గా ఉంటే అది తీసుకునే డాటా సైజు. డాటా బేస్ సైజు పెరిగిపోతూ ఉంటుంది. ఇదెక్కడ ఉపయోగం అంటే మీకు వివిధ బ్లాగులున్నాయి అనుకోండి, వాటన్నిటినీ ఒకే చోట చేర్చచ్చు దీని ద్వారా.

– ఇలా కాక మీరు కూడలి లాంటి పద్ధతి వాడాలనుకున్నారనుకోండి కూడలి వాడేది ప్లానెట్ అనే సాఫ్ట్‌వేర్. ఇది ముందే సెట్ చేసుకున్న టైములో పోస్టులను అన్ని బ్లాగుల నుంచీ తెచ్చి ఒక చిన్న ఫైలులో పెట్టుకుంటుంది. దీనికి డాటాబేస్ అవసరం లేదు. దీనిని నడపడానికి పైథాన్ అవసరమవుతుంది. ఇది ఎంతో చక్కని ఉపకరణం. ఎందుకంటే సర్వర్ల మీద ఒతిడి తేదు. పోస్టులన్నీ ఒకేసారి తెచ్చి పెట్టుకుంటుంది లోకల్ గా, అదీ టెంపరరీ గా… అంటే ఎంచుకున్న టైం ఇంటర్వెల్ అయిపోగానే మళ్ళీ లోకల్ ఫైల్ ని అప్డేట్ చేసుకుంటుంది. దీంట్లో లాభమేమిటంటే ఎక్కువ స్పేస్ అవసరం లేదు. ఎప్పటికప్పుడు పాత పోస్టులు వెళ్ళి కొత్త పోస్టులకి దారిస్తాయి (River of feeds). అదే కాక ఇది అన్నిటినీ కలిపి కొత్త ఫీడ్ కూడా ఇస్తుంది. కానీ దీని నష్టం ఏమిటంటే పాత పోస్టులను ఆర్చైవ్ చెయ్యలేము.

– ఇక మీకు ఎక్కువ కస్టమైజేషన్ కావాలంటె మీరు Magpie RSS అనే ఒక PHP లైబ్రరీ వాడచ్చు.

దాన్నుపయోగించి స్క్రిప్ట్ రాయడం ఎంత సులభమో ఈ కింద చూడండి.

<?
header(‘Content-type: text/html; charset=UTF-8’) ;
require_once(‘rss_fetch.inc’);

$rss = fetch_rss(“http://praveengarlapati.blogspot.com/feeds/posts/default”);

if ( $rss ) {
echo “<strong>” . $rss->channel[‘title’] . “</strong><p>”
echo “<ul>”
foreach ($rss->items as $item)
{
$href = $item[‘link’];
$title = $item[‘title’];
$summary = $item[‘summary’];
echo “<p><a href=$href>$title</a></p><p>$summary</p><p></p>”
}
echo “</ul>”
}
else {
echo “Feed could not be retrieved ! ” .
“<br>Error Message: ” . magpie_error();
}

?>

ఇది చాలా బేసిక్ స్క్రిప్ట్. దీనికి డాటాబేస్ జోడించి పూర్తి అప్లికేషన్ గా రాయచ్చు. లేదా కూడలి మాదిరిగా ఎప్పటికప్పుడు ఫీడ్లు తెచ్చేటట్టుగా కూడా చేసుకోవచ్చు.

* ఇక పైన చెప్పిన వాటన్నిటికీ మీరు నేను ఇంతకు ముందు చెప్పిన Yahoo! Pipes ఉపయోగిస్తే మీరు ఎప్పుడూ ఒక ఫీడ్ నే ఉపయోగించచ్చు. Yahoo Pipes! లో కొత్త ఫీడ్లను జోడిస్తే సరిపోతుంది. మీకు కావలసిన కస్టమైజేషను, ఫిల్టరింగు అదీ కూడా అక్కడ సులభంగా చేసుకోవచ్చు.

* ఇలాంటి అగ్రిగేటర్లు సెటప్ చేసేటపుడు గుర్తుంచుకోవల్సిందేమిటంటే మీ స్క్రిప్టులు గానీ ప్రోగ్రాములు గానీ ఆ బ్లాగులు, ఫీడ్లు హోస్ట్ చేస్తున్న సర్వర్ల మీద ఎక్కువ ఒత్తిడి పెంచకూడదు. ఎందుకంటే బాండ్విడ్త్ కాస్ట్లీ మరి.