Sunday, July 4, 2010

සින්ඩිකේටරයක් සෑදීම

20 comments
තීර්ථ යාත්‍රාවේ ලියවෙන පළමු තාක්ෂණික ලිපිය හින්දා පොඩි පෙරවදනක් ලියන්න හිතුනා. ඒ තමයි මම තීර්ථ යාත්‍රාවේ තාක්ෂණික ලිපි ලියන්න හේතුව.
ප්‍රධානම හේතු දෙකයි.

1 දැනුම බෙදාගැනීම (දැනුම වැඩි වෙන්නේ බෙදාගත්තහම මිසක් බදාගත්තහම නෙමෙයිනේ)
2 දන්නා දේ නිවැරදි දැයි දැනගැනීමට (මම සාවද්‍ය යමක් පළකල හොත් බොහෝදුරට සයිබර් අවකාශයේ කවුරුන් හෝ එය නිවැරදි කරාවි ඒ වගේම එයට අලුත් දේවලුත් එකතු කරාවි)



මම මෙතන සින්ඩිකේටරයක් කියල අදහස් කලේ මොකද්ද කියලා අමුතුවෙන් කියන්න දෙයක් නැහැනේ. හැමෝම වගේ ඒ ගැන දන්නවා. දළ වශයෙන් කිව්වොත්  වෙබ් අඩවියක යවත්කාලීන කිරීම් පිළිඹඳව අවදියෙන් ඉඳල නිශ්චිත කාල පරාසයකට සැරයක් අදාල අඩවි වල RSS ෆීඩ්ස් කියවල යාවත්කාලීන කිරීම් එක තැනක දක්වන වෙබ් Application එකක්නේ.  ඇත්තටම සින්ඩිකේටර්ස් මොනවටද පාවිච්චි කරන්නේ…..

* අපේ සිංහල බ්ලොග් කියවනය, ලාංකීය සිතිවිලි,කොත්තු, mobileLk සිංහල සංගමය වගේ communities පවත්වාගන්න.
* කවුරුහරි වෙබ් අඩවි කීපයක හිමිකරුවෙකුට තමන්ගේ සියලු වෙබ් අඩවිවල අලුත්ම තොරතුරුවල සාරාංශයක් එක තැනකින් ලබාදෙන්න අවශ්‍ය වුණාම.
*එහෙමත් නැත්තං තමන් දිනපතා කියවන අඩවි වල අලුත්ම ලිපි,තොරතුරු දැනගැනීමට පෞද්ගලික රීඩර් එකක් විදිහට උනත් පාවිච්චි කරන්න පුලුවන්.

පහුගිය කාලෙම සිංහල බ්ලොග් කියවනයට අමතරව තව ප්‍රධාන සින්ඩිකේටර්ස් කීපයක් සහ තව පරීක්ෂණ මට්ටමේ සින්ඩිකේටර්ස් කීපයක්ම හැදුනා.මාධව සහෝදරයා තමන්‍ගෙ අඩවි වල අලුත්ම තොරතුරු එකම තැනකින් ලබාදෙන්න සින්ඩිකේටරයක් හදපු බවත් බ්ලොග් එකේ ලියල තිබුනා(මතකයි ඒ වගේ).මටත් ලොකු ආසාවක් තිබුනා සින්ඩිකේටරයක් හදන්නේ කොහොමද කියලා දැනගෙන හදලා බලන්න.හැබැයි සිංහල බ්ලොග් කියවනය වගේ බ්ලොග් සින්ඩිකේට් කරමින් මහා පරිමාණයෙන් පවත්වාගන යන්න නෙවෙයි කරන්නේ කොහොමද කියලා බලන්න.පහුගිය දවසක සරල සින්ඩිකේටරයක් නිර්මාණය  (නිර්මාණයකටත් වඩා components reusing and customizing කිව්වොත් තමයි හරියටම හරි. ඒත් ඒක නිකං කැතයි වගේ ;-) )    කරල බැලුවා. මේ ගැන  සිංහල බ්ලොග් සටහනක් තාම ලියවිලා තියන බවක් නොදැක්ක නිසා ඒ උත්සාහය තීර්ථ යාත්‍රවේ ඒ උත්සහය ගැන සටහනක් තබන්න හිතුනා.

හරි දැන් කොහොමද වැඩේ කෙරෙන්න ඕනි

1) අදාල අඩවි වල යාවත්කාලීන කිරිම් කියවන බොට් කෙනෙක් ඕනෑ.
2) හොස්ට් කරන්න තැනක් ඕනෑ.
3) යාවත්කාලීන කිරීම් සින්ඩිකේටරයට එකතු කෙරෙන්න ඕනෑ.

සිංහල බ්ලොග් කියවනයේ ගුග්ල් සමූහයේ රවුමක් ගහද්දි wordpress paltform එක ගැන සටහනක් තිබිච්චි නිසා මම යොමුවුනේ wordpress පැත්තටම තමයි. හරි හරි වැල්වටාරම් පැත්තකින් තියල වැඩේ කෙරුන හැටි කියල ඉන්නම්.

-------------------------------------------------------------------------------------
යොදාගත්තේ
* Self Hosted Wordpress paltform එක
* FeedWordpress කියන  wordpress ප්ලගිනය.

මුලින්ම කලේ නිකන් හොස්ට්න් දෙන සර්වරයක wordpress platform පිහිටුවාගැනීම. මේක ආකාර දෙකකට කරන්න පුලුවන්.
1) Manually Wordpress පිහිටුවාගැනීම.

[යාවත්කාලීන කිරීම 06 /ජූලි/ 2010]
Manually Wordpress පිහිටුවාගැනීම ගැන විස්තර සහිත හොඳ ලිපි දෙකක් මේ ලිපියට කමෙන්ට් කරපු නාමිලගේ අඩවියේ තිබෙනවා

රිමෝට් සර්වරයක පිහිටුවාගැනීම - මෙතනින් බලන්න
ලෝකල් හොස්ට්ගේ ඉඳගන වැඩ දාන්න කැමති අය -මෙතනින් බලන්න
[/යාවත්කාලීන කිරීම]

2) දැන් ෆ්‍රී හොස්ටින් දෙන ගොඩක් සර්වර් automatic script installation පහසුකම සපයලා තියන නිසා පහසුවෙන්ම පිහිටුවාගන්න පුලුවන්  (මම කලේ එහෙම)
පොඩි ටෙස්ට් බ්ලොග් පාරක් දාල බැලුවා……හ්ම් ඔය පෙන්නන්නේ ලස්සනට
                      ????????? ? ? ????   (සිංහල පෙන්වන්නේ ප්‍රශ්නාර්ථ විදිහට)
මේකට ප්‍රතිකර්මයක් විදිහට මම කලේ  root directory එකේ තිබෙන  wp-config.php ගොනුවේ පහත පේලි දෙක
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

කමෙන්ට් කිරීමයි
//define('DB_CHARSET', 'utf8');
//define('DB_COLLATE', '');

දැන් හරි. නියමාකාරයෙන් සිංහල යුනිකෝඩ් පෙන්වනවා.

[යාවත්කාලීන කිරීම 06 /ජූලි/ 2010]
මෙය විසඳීමට වඩා හොඳ ක්‍රමයක් ශාකුන්තල සහෝදරයා කමෙන්ටුවකින් දැන්වූවා.ඔහුගේ කමෙන්ටුව එලෙසින්ම උපුටා දක්වනවා

define('DB_CHARSET', 'utf8');
මේ පේළිය අත්‍යාවශ්‍යයි.
database එක හදනකොට collation එක utf8_general_ci හරි utf8_unicode_ci වලට දාන්න. මේ collations දෙකේ වෙනසකට තියෙන්නෙ sorting සම්බන්ධ කාරණාවක් විතරයි.
ඔයාගෙ ක්‍රමය පාවිච්චි කළොත් database එකේ තියෙන දත්ත වෙනින් වැඩකට පාවිච්චි කරන්න බැරි වෙනවා.

[/යාවත්කාලීන කිරීම]
ඊළඟට කලේ FeedWordpress ප්ලගිනය පිහිටුවාගැනීමයි . එය මෙතනින් ලබාගතහැකියි.

සැලකිය යුතුයි : FededWordpress ප්ලගිනය wordpress 3.0 සමඟ වැඩ නොකරන බවයි දක්වා කිබුනේ.
[යාවත්කාලීන කිරීම 06/ ජූලි / 2010]
FeedWordpress ප්ලගිනය wordpress 3.0 සමඟ හොඳින් ක්‍රියාත්මක වන බව ව්‍යාපෘති නිවස්න පිටුවේ දක්වා ඇත
[/යාවත්කාලීන කිරීම] 

අනතුරුව සර්වරයේ    /wp-content/plugins/ ඩිරෙක්ටරියට FeedWordpress ප්ලගිනය අප්ලෝඩ් කලා.
ඉන්පසුව වර්ඩ්ප්‍රෙස් ඇඩ්මින් පැනලයේ  Plugins  වෙතට ගොස් FeedWordpress ඇක්ටිව් කලා.හරියට සියලුම දෑ සිදුවුනානම් අඩ්මි්න පැනලයේ පහළම කෙලවරේ Syndication ලෙස අලුත් අංගයක් දකින්නට ලැබේවි.

දැන් ප්‍රධාන වැඩකොටස අවසානයි. අනතුරුව තිබෙන්නේ සින්ඩිකේට් කිරීම සඳහා අඩවි ඇතුලත් කිරීම හා අවශ්‍ය පරිදි FeedWordpress වින්‍යාසගත කිරීමයි.

අලුතින් අඩවි ඇතුලත් කිරීම සඳහා Syndicated Sources හි new Source යන්නට අවශ්‍ය අඩවියේ නම හෝ RSS ලිපිනය ලබාදීමෙන් පහසුවෙන්ම කරගැනීමට පුලුවන්. මදක් ඉහළින් ඇති update (පහත රූප බලන්න)
මඟින් අඩවි යාවත්කාලීන කිරීම කල හැකියි.

    Update කිරීමෙන් අනතුරුව සින්ඩිකේටරය පිරික්සීමෙන් පසු මට මගේ අවශ්‍යතාවයන් පරිදි වෙනස්කම් කීපයක් කිරීමට සිදුවුනා ඒ සඳහා  Appearance හි Theme Editor මඟින්
    index.php  
    archive.php
    single.php                
    search.php
      යන ගොනු සංස්කරණය කිරීමෙන් අවශ්‍ය ප්‍රතිඵල ලබාගත හැකිවුනා.

        1) ලිපියේ සාරාංශයක් පමණක් දැක්වීම
                     
       <div class="entry">
      <?php the_content('Read the rest of this entry &raquo;'); ?>
      </div>
      යන කේතය 

      <div class="entry">
      <?php if (is_syndicated()) :
      
      $text = get_the_content(); $text = strip_tags($text);
      if (strlen($text) > 255) :
      $text = substr($text, 0, 450).'...';
      endif;
      print $text;
      else :
      the_content('Read the rest of this entry &raquo;');
      endif; ?>
      </div>



      ලෙස වෙනස් කිරීමයි. ගුරු පාටින් ඇති අගය වෙනස් කිරීමෙන් අවශ්‍ය සාරාංශ ඡේදයේ අගය වෙනස් කර ගත හැකියි.

      2) සින්ඩිකේට් ලිපියක් විවෘත වීමේදී වෙනත් වින්ඩෝවක විවෘත කිරීම


       <?php while (have_posts()) : the_post(); ?>
      
      <div <?php post_class() ?>>
      <h3 id="post-<?php the_ID(); ?>"><a href="<?php
      the_permalink() ?>" rel="bookmark" title="Permanent
      Link to <?php the_title_attribute(); ?>"><?php 
      the_title(); ?></a></h3>

      යන කේතයේ <a href….හි   target atribute   ”blank” ලෙස වෙනස් කිරීම

      <?php while (have_posts()) : the_post(); ?>
      
      <div <?php post_class() ?>>
      <h3 id="post-<?php the_ID(); ?>"><a href="<?php 
      the_permalink() ?>" rel="bookmark" title="Permanent 
      Link to <?php the_title_attribute(); ?>" 
      target="_blank"><?php the_title(); ?></a></h3>

      3) සින්ඩිකේට් වන මූලාශ්‍රය දැක්වීම


       <?php while (have_posts()) : the_post(); ?>


      කියන කේතයට පසු අවශ්‍ය තැනට

      <?php if (is_syndicated()) : ?>
      <p>මූලාශ්‍රය :
      <a href="<?php the_syndication_source_link(); ?>"><?php the_syndication_source(); ?></a>.</p>
      <?php endif; ?>

      යන කේතය එකතු කලා.

      4) යම් කාල සීමාවක‍ට වරක් සින්ඩිකේට් වන අඩවි ස්වයංක්‍රීයව පරීක්ෂා කර යාවත්කාලීන කිරීම

       මේ සඳහා ක්‍රම දෙකක් යෝජනා කරන්න පුලුවන්.
      1) cron tab ගොනුව සංස්කරණය හරහා නව cron job schedule කිරීමෙන්
      මේ සඳහා  http request යැවීමට සිදුවෙනවා සින්ඩිකේට් වන අඩවියේ url එක වෙතට. නමුත් මට මේ දේ තාම කරබැලීමට හැකිවුනේ නැහැ.හේතුව මේ සඳහා crontab ගොනුව සංස්කරණය කිරීමට අවශ්‍ය වුනත් මම සින්ඩිකේටරය තැනු සර්වරය ඒ සඳහා ඉඩ ලබා නොදීම.නොමිලයේ වෙබ් හොස්ටින් ලබා දෙන බොහොමක් සර්වර මේ සඳහා ඉඩ ලබා දෙන්නේ නැහැ.

      cronjob සඳහා ඉඩ ලබාදෙන සර්වර් කීපයක් මෙතනින් ලබාගත හැකියි. මම තාම අත්හදාබැලීමක් නොකල නිසා ඒ ගැන සටහනක් මා දැන්ම තබන්නේ නැහැ.

      [යාවත්කාලීන කිරීම 06 /ජූලි/ 2010]
      2) FeedWordpress ප්ලගිනයේ අභ්‍යන්තර සැකසුම් භාවිතයෙන්.
       මෙමගින් වඩා පහසුවෙන් කටයුත්ත සිදුකරගැනීමට හැකිවුනා. සර්වරයේ cron job සඳහා ඉඩලබාදුන්ත් නොදුන්නත් සින්ඩිකේටරයේ ස්වයංක්‍රීය යාවත්කාලීන කිරීම් සිදුකරගැනීමට පුලුවන්.ඒ සඳහා මම Syndication හි Feeds & Updates යන්න තෝරා එහි
      updates හි automatically checks for updates after page load යන විකල්පය තෝරාගත්තා.
      update scheduling යන්නට අවශ්‍ය කාල ප්‍රමාණය ලබා දුන්නා. (පහත රූප බලන්න)

      අවවාදයයි : නිරන්තර පරීක්ෂාකිරීම් සඳහා අඩු කාල පරතර ලබාදීමෙන් වලකින්න. මන්ද ඔබේ සර්වරය dedicated එකක් නොවේනම් හා Free සර්වරයක් නම් සර්වර් පරිපාලකයන් විසින් ඔබගේ ගිණුම අත්හිටුවීමට ඉඩ ඇත.


      [/යාවත්කාලීන කිරීම]


      අත්හදාබැලීමෙන් අනතුරුව මෙම ලිපිය කීප වතාවක්ම යාවත්කාලීන වේවි. මොකද FeedWordpress හි සියලුම සැකසුම් මම තාම අත්හදා නොබැලූ නිසා.

      ලිපිය දැනට මෙතනින් නිමයි.අන්තර්ගතයෙන් කාටහරි ප්‍රයෝජනයක් වුණානම් එය මගේ සතුටයි. ලිපිය පිළිඹඳ අදහස් වගේම ඔබේ දැනුමත් කමෙන්ටුවකින් බෙදාගෙන්න අමතක කරන්න එපා.

      වැඩි විස්තර ලබාගැනීමට පිවිසෙන්න  FeedWordpress ව්‍යපෘතියේ වෙබ් අඩවියට
      ප.ලි සින්ඩිකේටරය සෑදීම සඳහා අවශ්‍ය කේත සහ විස්තර සියල්ල ලබාගත්තේ අන්තර්ජාල ගවේෂනයකිනි.

      20 comments:

      1. ඕක drupal දාගෙන aggreator හරහාඅත් කරගන්න පුලුවන් . ලිපිය දැම්ම් එක නම් හොඳයි , ගොඩක් දෙනෙක් මේකෙන් යමක් දැනගනියි !!

        ReplyDelete
      2. HODAI NIYAMAI .MAMATH HEUWE ME LIPIYAKMAI.THANK GODAK.

        ReplyDelete
      3. Admin : Trix HunterJuly 4, 2010 at 9:07 PM

        feed wordpress wordpress 3.0 ekka weda..

        ReplyDelete
      4. This comment has been removed by the author.

        ReplyDelete
      5. @ හිඟන්නා

        විදි කීපයක්ම ඇති.මට මුලින්ම හමුවුනේ වර්ඩ්ප්‍රෙස් කෙරුවාව.Drupal වල aggreator ගැන මම දැනගත්තේ ඔයාගෙ කමෙන්ටුවෙන්.ගොඩක් ස්තුතියි.....

        @ TL LANKA WEB
        ස්තුතියි ප්‍රතිචාරයට.ප්‍රයෝජනයක් වුනානම් ඒ ගැන සතුටු වෙනවා

        @ Admin : Trix Hunter
        මම wordpress 3.0 හි අත්හදා බැලුවේ නම් නැහැ.නමුත් බොහොමත්ම ස්තුතියි දැනුම් දුන්නට

        ReplyDelete
      6. define('DB_CHARSET', 'utf8');
        මේ පේළිය අත්‍යාවශ්‍යයි.

        database එක හදනකොට collation එක utf8_general_ci හරි utf8_unicode_ci වලට දාන්න. මේ collations දෙකේ වෙනසකට තියෙන්නෙ sorting සම්බන්ධ කාරණාවක් විතරයි.

        ඔයාගෙ ක්‍රමය පාවිච්චි කළොත් database එකේ තියෙන දත්ත වෙනින් වැඩකට පාවිච්චි කරන්න බැරි වෙනවා.

        ReplyDelete
      7. කියල දුන්නට ස්තූතියි බන්z.. මගෙ අඩවියෙ WORDPRESS දාන හැටි මුල ඉදලා තියෙනව..දන්නේ නැති අය බලන්න ;)

        ReplyDelete
      8. @ ශාකුන්තල

        බොහොම ස්තුතියි ශාකු...... නොදන්න දෙයක් කියල දුන්නට. ලිපියේ යාවත්කාලීන කිරීමේ දී අදාල වෙනස්කම් සිදුකලා.

        @ නාමිල

        වෙල්කම් වේවා! ඔන්න මම ලින්ක් එකක් දැම්මා

        ReplyDelete
      9. maath meka try karala balanna onea ..kiyala dunnata thankz ;)

        ReplyDelete
      10. @ namila007

        උත්සාහ කරල බලන්න.අලුත් දේවල් හෙම හම්බුනොත් අමතක නොකර මටත් කියන්න.
        කමෙන්ටුවට ස්තුතියි.

        ReplyDelete
      11. ඇටනැතිමුදලිJuly 9, 2010 at 10:40 PM

        වල්බල්ලා තෝ SBU එක කඩාකප්පල් කරන්න සින්ඩි හදන හැටි උගන්නවනව නේද?

        ReplyDelete
      12. @ ඇටනැතිමුදලි
        ප්‍රථමයෙන් ඔබ ගැන සතුටු වීමට කාරණා කීපයක්ම තිබේ.

        Mollusca වංශයට අයත් එනම් පිටකොන්දක් රහිත අපෘෂ්ඨවංශික ජීවී ගණයට අයත් ජීවියෙකු වන ඔබට මිනිසුන්ගේ බසක් වන සිංහල කතාකිරීම‍ට සහ ලිවීමට හැකියාව තිබීමත් , බහුතර ලාංකිකයන්ට අන්තර්ජාල පහසුකම් නොමැති යුගයක් ඔබ වැනි අපෘෂ්ඨවංශිකයන් අන්තර්ජාලය භාවිතාකිරීමත්,ඔබ සිංහල වියුනු සටහන් කියවීමත්, එබඳු පුදුමාකාර ජීවියෙකු මගේ බ්ලොග් අඩවියට පිවිසීමත්ය...

        මට ඔබේ කමෙන්ටුව මකා දැමීමට හෝ පලකර නොසිටීමට හැකියාව තිබුනත් ඔබ වැනි පුදුමාකාර ජීවියෙකුගේ කමෙන්ටුව රලු වුවත් පල කිරීම මට සතුටකි

        ReplyDelete
      13. සෑහෙන්න තොරතුරු දෑනගත්තා ඔබට ස්තුතියි.

        ReplyDelete
      14. නුවන් අයියව සාදරයෙන් පිළිගන්නවා තීර්ථ යාත්‍රාවට....

        ReplyDelete
      15. mata meke " Read More " button eka dana hati kiyala dennako.

        ReplyDelete
      16. 1) ලිපියේ සාරාංශයක් පමණක් දැක්වීම
        යන කොටස කියවන්න..

        ReplyDelete
      17. ගොඩක් වැදගත් පෝස්ට් 1ක්...

        ReplyDelete

      අදහස්, උදහස්....

      .