Table of Contents
ด้านล่างเป็นรายการ “ของ” ที่ควรจะติดตั้งมาก่อน ถ้ามีปัญหาติดตั้งตรงไหนไม่ได้ก็ไม่เป็นไร ไว้มาทำตอนเจอก็ได้ แต่ถ้าติดตั้งมาก่อนจะทำให้เร็วมากขึ้น
ส่วนการสกัดข้อมูล
เครื่องคุณจะต้องติดตั้ง
- Ruby — ภาษา Ruby ให้ติดตั้งชุดโปรแกรมอื่น ๆ ที่เกี่ยวข้องด้วย เช่น irb (เป็น command-line interpreter ของ ruby)
- ใน Windows ให้ติดตั้งด้วย One-click Installer ให้ติดตั้งตัว ruby gems ที่มากับ installer เลยด้วย
- Ruby Gems — เป็นชุดสำหรับติดตั้ง library ต่าง ๆ ของ Ruby
- ถ้าคุณใช้ Ubuntu ให้ติดตั้งโดยตรง อย่าใช้ apt-get เพราะว่ามันจะมีปัญหาต่อไป เมื่อติดตั้งเสร็จแล้วจะได้โปรแกรม gems ชื่อ gem1.8
- Hpricot — สำหรับแกะเอกสาร xml/html ให้ติดตั้งผ่านทาง gem
ส่วนการ upload ข้อมูล
มีหลายทางเลือก ขึ้นกับว่าจะลุยไปใน database ด้วยอะไร
Ruby on Rails
ถ้าเราจะลุยไปใน database ของ drupal ด้วย Active Record ซึ่งเป็นส่วนหนึ่งของ Ruby on Rails เพราะฉะนั้น กรุณาติดตั้งโปรแกรมเหล่านี้มาด้วย
- Ruby on Rails ติดตั้งผ่านทาง gems โดยสั่ง
sudo gem install rails
- ให้ติดตั้ง driver สำหรับ MySQL บน Ruby มาด้วย
- ใน Debian หรือ Ubuntu ให้สั่ง:
sudo apt-get install mysql-client libmysql-ruby
- ใน Windows ให้สั่ง (รอเพิ่มเติม)
ตัวอย่างโปรแกรม
require 'rubygems' require 'active_record' ActiveRecord::Base.establish_connection(:adapter => "mysql", :host => "158.108.183.10", :username => "drupal", :password => "you-know-it", :database => "drupal", :encoding => 'utf8') class Node < ActiveRecord::Base self.inheritance_column = 'type_id' set_table_name "node" set_primary_key "vid" has_one :profile, :class_name => 'Profile', :foreign_key => 'vid' end class Profile < ActiveRecord::Base set_table_name "content_type_lect_profile" set_primary_key "vid" end nodes = Node.find(:all, :conditions => {:type => "lect_profile"}) nodes.each do |node| puts "#{node.vid} #{node.title}" puts node.profile.field_expertise_value puts node.profile.field_acad_position_value puts "-----------------------------" if node.vid==227 puts "Changing data for #{node.title}" node.profile.field_expertise_value = "Flying" node.profile.save end end