Windows Azure ตอนที่ 4 การติดตั้ง WordPress, การปรับแต่ง PHP และการตั้งค่าในการขยายระบบบน Windows Azure Web Sites

จากตอนที่แล้ว “Windows Azure ตอนที่ 3 การติดตั้ง Drupal บน Windows Azure Web Sites” นั้น จะไม่ขอพูดในบางส่วนที่เป็นการอธิบายซ้ำซึ่งอยู่ในขั้นตอนที่ 1 – 30 ซึ่งจะใช้การตั้งค่าที่เหมือนกัน (ใช้ในการอ้างอิงได้ทุก CMS ของ PHP ด้วยซ้ำไป)

โดยจากขั้นตอนที่ 1- 30 จากบทความที่แล้ว เราจะมีข้อมูลดังต่อไปนี้

  • FTP host name , username และ password สำหรับการ FTP/FTPS เข้าไปวางไฟล์
  • Endpoint Information (MySQL hostname) และ Access Credentials (username และ password) ของฐานข้อมูล MySQL จาก cleardb

เมื่อเราได้ข้อมูลครบก็ทำการโอนย้ายไฟล์ของ WordPress ที่ดาวน์โหลดได้จาก wordpress.org/download

image

สำหรับการ FTP ไปวางไฟล์ ถ้าไม่ใช้ client ที่ติดมากับ Windows ก็ใช้สามารถใช้ client ของเจ้าอื่นๆ ได้ อย่างตัวอย่างนี้ก็ใช้ CuteFTP 9.0 ในการอัพโหลดไฟล์ได้เช่นกัน

โดยนำไฟล์ไปวางไว้ที่ /site/wwwroot

2013-09-30_160404

ทำการเข้าหน้าแรกของตัวเว็บที่ติดตั้งไฟล์ WordPress จากข้อที่แล้ว

2013-09-30_160450

นำข้อมูล Endpoint Information (MySQL hostname) และ Access Credentials (username และ password) ของฐานข้อมูล MySQL จาก cleardb มากรอกในหน้า database connection details นี้

2013-09-30_160551

สั่ง Run the install เพื่อติดตั้งฐานข้อมูลลง cleardb

2013-09-30_160650

เมื่อติดตั้งฐานข้อมูลเรียบร้อยแล้ว ก็กำหนดข้อมูลต่างๆ ของเว็บที่ทำจาก WordPress รวมไปถึง Username และ Password สำหรับเข้าไปจัดการ WordPress เสียก่อน

2013-09-30_160736

เมื่อกำหนดค่าเรียบร้อยก็ให้เข้าระบบ Dashboard ลอง WordPress ได้ทันที

2013-09-30_160827

2013-09-30_160920

 

การปรับแต่ง PHP บน Windows Azure Web Sites

1. การเปิดสร้าง rewrite rules เพื่อใช้ Custom URL ของ WordPress

เข้าไปที่ Dashboard ของ WordPress แล้วเลือกเมนู Settings และไปเมนูชื่อ Permalink

เสร็จแล้วตั้งค่า Permalink ได้ตามที่ต้องการ เสร็จแล้วกด Save

2013-09-30_174545

เมื่อ FTP เข้าไป จะเห็นว่าตัว WordPress จะสร้าง web.config ขึ้นมาให้ โดยภายในจะมี rewrite rules ที่เราตั้งไว้

2013-09-30_174800

โดยภายหลังจากสร้างไฟล์แล้ว ถ้าเราต้องการปรับแต่ง rewrite rules เพื่อใช้ Custom URL ก็สามารถทำผ่านไฟล์ web.config ได้ทันที

 

การเพิ่ม PHP Extension ใน Windows Azure Web Sites

ใน Windows Azure Web Sites นั้นเป็นระบบปฎิบัติการ Windows Server 2012 และระบบให้บริการเว็บ Microsoft Internet Information Services 8.0 (IIS 8.0) ซึ่งทำงานร่วมกับ PHP ที่ Compile ผ่าน MSVC9 x86 และทำงานผ่าน FastCGI API อีกทั้งยังทำงานแบบ Non Thread Safety ไว้ด้วย

การเข้าไปหา extension ใน https://downloads.php.net/pierre/ นั้นจึงต้องใช้ extension ที่เป็น nts ที่ย่อมาจาก Non Thread Safety และเป็นการ Compile แบบ VC9 x86 เช่นกัน

จากตัวอย่าง ทางผู้เขียนยกตัวอย่างการติดตั้ง extension ที่ชื่อว่า Memcache ลงบน PHP 5.3.19 บน Windows Azure Web Sites โดยเลือกชื่อว่า php_memcache-2.2.6-5.3-nts-vc9-x86.zip

2013-10-01_000520

ทำการแตกไฟล์ php_memcache-2.2.6-5.3-nts-vc9-x86.zip ออกมา จะได้ไฟล์ php_memcache.dll เสร็จแล้วนำไฟล์ไปวางไว้ที่ /site/wwwroot/bin

2013-09-30_181824

เข้าไปที่ Dashboard แล้วไปที่ CONFIGURE

2013-10-01_001903

เลื่อนลงมาที่หัวข้อ app settings แล้วใส่ค่าดังต่อไปนี้

KEY ใส่ค่าเป็น PHP_EXTENSIONS

VALUE ใส่ค่าเป็น bin\php_memcache.dll

ถ้าหากมีการกำหนดค่าของ extension มากกว่า 1 ตัวให้ใช้ comma (,) ขั้นไปเรื่อยๆ เช่น

bin\php_memcache.dll,bin\php_mongo.dll

โดยไฟล์ extension.dll ต้องอยู่ใน directory “/site/wwwroot/bin” เพื่อความสะดวกในการจัดการ

2013-09-30_181747

เมื่อตั้งค่าเรียบร้อยแล้วให้กด Restart

2013-09-30_182337

รอจนกว่าสถานะ Restart จะสำเร็จ

2013-09-30_182321

เมื่อแสดงผล phpinfo ใหม่อีกครั้ง extension ที่ใส่ลงไปจะมาให้เราเห็นใน phpinfo

2013-09-30_181846

ลองทำสอบใช้งานได้ตามโค้ด้านล่างก็จะสามารถใช้งานได้

2013-10-01_002648

 

การปรับแต่งค่า PHP.ini ใน Windows Azure Web Sites แบบ global setting

ในบางครั้ง ค่าเริ่มต้นของ phpconfig ที่ Windows Azure Web Sites ให้มา อาจจะไม่เพียงพอ หรือไม่เหมาะสม เช่นการแสดงผลความผิดพลาดที่ปิดไว้ หรือขนาดไฟล์ที่ให้รองรับการอัพโหลดเข้ามาที่ Windows Azure Web Sites เพียง 20MB ที่น้อยเกินไป เป็นต้น เราสามารถตั้งค่าพวกนี้ใหม่ได้ด้วยการใช้ไฟล์ชื่อ .user.ini โดยอัพโหลดเข้าไปไว้ใน /site/wwwroot เพื่อให้ Windows Azure Web Sites ใช้ค่าในไฟล์ดังกล่าวแทนค่าเริ่มต้นของระบบ

image

จากตัวอย่างได้ทดลองเปิดการแจ้งเตือนความผิดพลาด และเพิ่มขนาดไฟล์ที่รองรับการอัพโหลดเป็น 100MB ด้วยการตั้งค่าด้านล่าง

; User Settings
display_errors=On
upload_max_filesize=100M

เมื่อตั้งค่าเรียบร้อยแล้วก็ Restart ตัว Windows Azure Web Sites เพื่อให้ระบบอ่านค่าใหม่อีกครั้ง

2013-09-30_182836

2013-09-30_182911

 

ลักษณะการขยายระบบบน Windows Azure Web Sites

การเข้าไปปรับแต่งเรื่องการขยายระบบบน Windows Azure Web Sites นั้นสามารถทำได้ที่ หน้า Portal ของ Windows Azure โดยเข้าไปที่ Dashboard ของ Web Sites นั้นๆ แล้ว ไปที่เมนู SCALE เพื่อเลือกตัวเลือกรูปแบบสำหรับการขยายระบบ ซึ่งใน Windows Azure Web Sites นั้นจะมีรูปแบบสำหรับการขยายระบบอยู่ 3 รูปแบบคือ Free, Shared และ Standard

1. Free – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ และให้เราใช้งาน CPU เพียง 1 Core โดยเป็นการให้ใช้งานในรูปแบบแชร์ทรัพยากรในการประมวผล ซึ่งจะให้ใช้งานฟรีโดยให้ระยะเวลาในการประมวลผลเพียง 1 ชั่วโมงต่อวันเท่านั้น และไม่สามารถขยายการใช้งานออกไป ด้วยการเพิ่มอินสแตนซ์ไม่ได้

2013-09-30_171614

2. Shared – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ และให้เราใช้งาน CPU เพียง 1 Core โดยเป็นการให้ใช้งานในรูปแบบแชร์ทรัพยากรในการประมวผล ซึ่งจะให้ใช้งานโดยให้ระยะเวลาในการประมวลผลเพียง 4 ชั่วโมงต่อวันเท่านั้น (240 นาที) แต่สามารถขยายการใช้งานออกไปด้วยการเพิ่มอินสแตนซ์ได้มากทีสุดถึง 6 อินสแตนซ์ หรือทำให้ทำงานประมวลผต่อเนื่องได้ 24 ชั่วโมงเลยทีเดียว (4 ชั่วโมง x 6 อินสแตนซ์)

การเลื่อนปรับค่าทำได้ที่หน้า SCALE ด้วยการเลือก WEB SITE MODE ไปที่ SHARED แล้วไปเลื่อนปรับ INSTANCE COUNT ที่ด้านล่างตามจำนวนที่ต้องการ

2013-09-30_171647

3. Standard – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ โดยเป็นการจอง Virtual Machine เป็นอินสแตนซ์ตามจำนวนและความสามารถที่ต้องการไว้เพียงระบบเดียวโดยคิดระยะเวลาการใช้งานเป็นชั่วโมงหรือนาที โดยขึ้นอยู่กับคุณสมบัติและความสามารถที่ได้เลือกขอใช้บริการ

สำหรับตัวเลือก Standard นี้จะมีตัวเลือกคุณสมบัติของ Virtual Machine ดังนี้

COMPUTE INSTANCE NAME

VIRTUAL CORES

RAM

Small

1

1.75 GB

Medium

2

3.5 GB

Large

4

7 GB

การเลือกปรับค่าทำได้ที่หน้า SCALE ด้วยการเลือก WEB SITE MODE ไปที่ STANDARD แล้วไปเลื่อนปรับ INSTANCE SIZE ตามคุณสมบัติที่ต้องการ

image

เมื่อเราเลือก Web Sites ตัวใดตัวหนึ่งเป็น Standard แล้ว เราสามารถเลือกให้ Web Sites อื่นๆ ที่เรามีอยู่ มาใช้งานอินสแตนซ์นี้ร่วมได้ด้วย

2013-10-01_011214

เมื่อเราเลือกแล้วว่าจะให้ Web Sites ตัวไหนบ้างใช้งาน Standard ที่เรากำหนด ก็มาถึงขั้นตอนการกำหนดการขยายระบบตามโหลดของหน่วยประมลผล หรือช่วงเวลาที่เรากำหนดได้อัตโนมัติ หรือการทำ Autoscale

 

การกำหนดขยายระบบแบบแปร่ตามการโหลดของหน่วยประมวล

จากภาพตัวอย่างจะเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) ระหว่าง 1 – 4 อินสแตนซ์ขึ้นมาตามโหลดของตัว Virtual Machine ที่มีอยู่ โดยใช้การวัดจากการโหลดของหน่วยประมวลผลที่ Virtual Machine โดยตั้งค่าให้อยู่ระหว่าง 60 – 80% ความหมายของตัวต่ำสุด-สูงสุดคือ

1. ถ้าโหลดต่ำกว่า 60% ก็จะทำการลดอินสแตนซ์ลงจนถึงค่า INSTANCE COUNT ที่ตั้งไว้

2. ถ้าโหลดสูงถึง 80% จะสร้างอินสแตนซ์เพิ่มขึ้นมาเรื่อยๆ แต่ไม่เกินค่า INSTANCE COUNT ที่ตั้งไว้ จนกว่าโหลดจะลงมาในระดับต่ำกว่า 80%

image

 

การกำหนดขยายระบบแบบแปร่ตามช่วงเวลาที่ตั้งไว้

2013-09-30_171826

สิ่งแรกที่ต้องทำก่อนคือตั้งค่าเวลาที่จะใช้ในการขยายระบบ เพื่อกำหนดช่วงเวลา โดยไปที่ “set up schedule times

2013-09-30_171906

การตั้งค่า Set up schedule times นั้นมีตัวเลือก

1. Different scale settings for day and night – ให้สามารถแยกระหว่างเวลาทำงการ (day) กับเวลาเลิกทำการ (night)

2. Differnet scale settings for week days and weekends – ให้แยกเวลาระหว่างวันทำการ (weekdays; วันจันทร์-ศุกร์) กับวันหยุด (weekends; วันเสาร์-อาทิตย์)

3. Time ตั้งเวลาว่าเวลาทำการจะเริ่มต้นเมื่อไหร่

4. Time zone กำหนด Time zone ที่ใช้อ้างอิง

2013-09-30_172213

จากตัวอย่างเมื่อผมเลือกทั้งหมด โดยกำหนดว่าเวลาทำการคือ 8:00 ถึง 20:00 เป็นเวลาทำการ และเลือกตั้งให้ขยายระบบแยกกันระหว่างเวลาทำการ เวลาเลิกการ วันทำการและวันหยุด โดยเมื่อเราตั้งเสร็จแล้ว ที่ EDIT SCALE SETTINGS FOR SCHEDULE จะมีตัวเลือกเพิ่มมา 3 ตัวเลือก คือ Week Day, Week Night และ Weekend

Week Day (วันทำการจันทร์-ศุกร์ เวลา 8:00 – 20:00) จะเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 4 อินสแตนซ์ขึ้นมาคงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172445

Week Night(วันทำการจันทร์-ศุกร์ เวลา 20:01 – 7:59) จะลดอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) ลงเหลือจำนวน 1 อินสแตนซ์คงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172508

Weekend (วันทำการเสาร์-อาทิตย์ เวลา 00:00 – 23:59) จะปรับอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) กลับมาที่จำนวน 2 อินสแตนซ์คงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172549

จากตัวอย่างข้างตอนสำหรับการขยายระบบทั้งแบบแปร่ตามโหลดของหน่วยประมวลผลและแบบแปร่ตามช่วงเวลา เราสามารถนำมาผสมกันเพื่อใช้ในการตั้งค่าขยายระบบแปร่ตามช่วงเวลาและขยายระบบแปร่ตามหน่วยประมวผลได้พร้อมๆ กันด้วย

 

การตั้งค่าขยายระบบแบบแปร่ผันตามโหลดของหน่วยประมวลและแปร่ตามช่วงเวลา

ทำการตั้งค่าเวลาที่จะใช้ในการขยายระบบ เพื่อกำหนดช่วงเวลา

1. ไปที่ “set up schedule times” ตามข้อที่ปรับแต่งเรื่องช่วงเวลาในการขยายระบบเสียก่อน

2013-09-30_172213

2. แล้วเลือก Week Day, Week Night และ Weekend ตามช่วงเวลาที่ต้องการปรับขยายระบบ

3. เลือก SCALE BY METRIC โดยเลือกที่ CPU จะมีตัวเลือก TARGET CPU ขึ้นมาเพิ่มเติมจาก INSTANCE COUNT ที่มีอยู่ก่อนแล้ว

Week Day (วันทำการจันทร์-ศุกร์ เวลา 8:00 – 20:00)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 2 – 6 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_172700

Week Night(วันทำการจันทร์-ศุกร์ เวลา 20:01 – 7:59)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 1 – 2 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_172833

Weekend (วันทำการเสาร์-อาทิตย์ เวลา 00:00 – 23:59)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 1 – 4 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_173237

จากทั้งหมดที่ได้กล่าวมาในชุดบทความ Windows Azure นี้ มุ่งเน้นเรื่องราวการทำความเข้าใจระบบประมวลผลแบบกลุ่มเมฆ รูปแบบบริการต่างๆ ของ Windows Azure การคิดราคา และยกตัวอย่างการนำเว็บไซต์ขึ้นสู่ระบบ Windows Azure โดยมุ่งเป็นตัวอย่างในการขยายระบบอย่างง่ายเพื่อความเข้าใจในขั้นตอนการสร้าง ปรับแต่ง และนำระบบขึ้นบนบริการย่อยที่ชื่อ Windows Azure Web Sites ทำให้เห็นการติดตั้งเว็บไซต์ที่มีตัวช่วยให้สามารถรองรับโหลดขนาดใหญ่ อีกทั้งยังมีความฉลาดในการขยายตัวเองได้ตามรูปแบบที่ได้ตั้งค่าไว้ด้วย

แก้ไข “call_user_func_array() expects parameter 1 to be a valid callback, non-static method XXX:init() should not be called statically” ใน plugin “Jetpack for WordPress”

จากปัญหา

The following errors were reported: call_user_func_array() expects parameter 1 to be a valid callback, non-static method xxx::init() should not be called statically

ใน plugin “Jetpack for WordPress” ซึ่งเกิดจากการเขียนโค้ดไม่ตรงกับ Strict standards ใน PHP ที่อยู่ๆ ก็มีการเขียนไป call ตัว static method ใน method ที่ไม่ใช่ static ทำให้เกิดข้อผิดพลาดดังกล่าว

ปัญหานี้จะเกิดกับ Class ของ module ใน plugins “Jetpack for WordPress” ทั้งหมด 4 ตัว (ณ ตอนนี้ที่ไล่หาดู) โดยมี Class ดังต่อไปนี้

  • Jetpack_Notifications
  • Jetpack_Post_By_Email
  • Jetpack_Subscriptions
  • Jetpack_Likes

การแก้ไขก็ง่ายๆ ไม่มีอะไรซับซ้อน (ถ้าเข้าใจ)

โดยเพิ่ม “public static” ไปหน้า function &init() ให้เป็น public static function &init() ในไฟล์ subscriptions.php, post-by-email.php, notes.php และ likes.php ซึ่งอยู่ใน wp-content/plugins/jetpack/modules

เพียงแค่นี้ก็จบปัญหาครับ

Updated to WordPress 2.5 ;)

เพิ่งเปลี่ยนมาเป็น WordPress 2.5 ได้สัก 3 ชั่วโมงแล้ว คือเริ่ม upgrade ตั้งแต่เที่ยง ๆ ของวันนี้ (จริง ๆ อยากทำตอนกลางคืน แต่ว่าช่วงนี้พลังงานร่างกายใช้ไปเยอะ เลยทำตอนที่สะดวกดีกว่า) มีการ upgrade ตัว plug-in และ theme หลายส่วนมาก ๆ ถ้าเพื่อน ๆ พี่ ๆ น้อง ๆ ท่านใดพบความผิดปกติ และข้อผิดพลาดให้ comment ไว้ใน entry นี้ก็ได้ หรืออีเมลมาก็ได้ครับ (หาได้จากหน้า About Me ครับ)

อีกเรื่องคือตอนนี้ผมไล่ลบ user บางส่วนที่ใช้ email ที่ไม่มีอยู่จริง ออกจาก userlist แล้วนะครับ

ต่อมาก็เรื่อง feature ใหม่ก็คือ notify via email และ gravatar ครับ ส่วน print page ตอนนี้แก้ bug ที่เข้ากันไม่ได้กับ wordpress 2.5 ไปได้แล้วครับผม ;)

Now !!! WordPress 2.3

ตอนนี้ upgrade ตัว blog เป็น wordpress 2.3 แล้วครับ การเปลี่ยนแปลงครั้งนี้เล่นซะหมดแรงเหมือนกัน เพราะว่ามีเรื่องที่มัน conflict เยอะ ๆ มาก ๆ ตั้งแต่

  • Theme K2 ที่ใช้นั้นไม่ support เต็มที่ ทำให้ต้องโหลดตัว RC1 มาใช้แทน
  • ทำการ backup ข้อมูลก่อนทำการ upgrade เสมอ
  • สำหรับผมทำการลบ code เก่า ๆ โดยลบ wp-admin และ wp-include ออกไปทั้งหมด (ยกเว้น wp-includes/images เท่านั้น) ส่วนตัวอื่น ๆ ไม่ได้ลบโดยเฉพาะ wp-content นี่ห้ามลบเด็ดขาด
  • Convert Tag จาก Ultimate Tag Warrior มา builid-in Tag และทำการหน้ารวม Tag และ Tag Could ที่ต้องมาไล่หา manual ใน developer forum ของ WordPress และการ convert มานั้นแสนง่ายเพราะมี Tools สำหรับ Convert อยู่แล้ว โดยไปที่ Manage -> Import และเลือกว่าเราใช้ Tag engine ตัวไหน ระบบจะ detect และ import ให้เรา โดยทำตามขั้นตอนเพียง 4-5 ขั้นตอนเท่านั้น (สำหรับ Ultimate Tag Warrior)
  • แก้ไข plug-in Google Sitemap ไม่ให้มัน detect categories เพราะ Database Schema ที่ตัว plug-in ตัวนี้อ้างอิงอยู่นี้มีการเปลี่ยนแปลงภายในหลายส่วน ทำให้ plug-in ที่มีการอ้างอิงกับ Database Schema เก่า ๆ มีปัญหาไปด้วย ซึ่งรวมถึงตัวอื่น ๆ ด้วยแนะนำให้ตรวจสอบก่อนทำการ upgrade ครับ
  • ตอน upgrade Database นี้ Error หลายส่วน ทำให้ลิงส์ใน Blogroll มีปัญหากับตัว Link Categories ทำให้มัน หายหมดต้องไล่แก้ไขใหม่หมดเลย T_T
  • ระบบ Categories หลักใช้งานรวมกับระบบ Tags ทั้งหมด (ไม่ได้แยกกันอีกต่อไป) ซึ่งอยู่ในรูปแบบ Term และใช้ตาราง wp_blog_term_relationships เป็นตัวเชื่อมเอา โดยการแยกระหว่างตัวไหนเป็น Categories, Link Categories หรือ Tags อยู่ที่ wp_blog_term_taxonomy และ field ชื่อ taxonomy โดยที่ผมสังเกตตอนนี้แยกเป็น 3 ส่วนคือ post_tag, link_category และ category ส่วนพวกคำที่เป็น term ต่าง ๆ ถูกเก็บรวมกันไว้ที่ wp_blog_terms ทั้งหมด
  • จากที่ทดสอบดูระบบเร็วขึ้นพอสมควรเลย ไม่รู้คิดไปเองหรือเปล่า

เดี่ยวว่าง ๆ มาเล่าต่อนอนก่อนครับ พรุ่งนี้ไปงาน MSDN Thailand REMIX 07 ครับ (ลางาน 1 วันเพื่อการนี้โดยเฉพาะครับ)

ไปหล่ะครับ ;)

Welcome to New World —> WordPress 2.3

ขอเขียนก่อน เดี่ยว upgrade ทีหลัง ;)

เป็นการเปลี่ยนแปลงหลายอย่างเยอะพอสมควรเลยนะสำหรับ version นี้

ด้าน User Feature

  • Native tagging support เป็นการก้าวมาข้างหน้าครั้งใหญ่อีกครั้ง หลังจาก blogware ตัวอื่น ๆ เค้ามีระบบ tagging ที่ build-in มาให้กันหมดแล้ว แต่ WordPress ต้องลง plugin อย่าง Ultimate Tag Warrior, Jerome’s Keywords, Simple Tags หรือ Bunny’s Technorati Tag ซึ่งผมว่ามันเอามาใช้ Categories ได้ดีกว่ามาก
  • Update notification หลังจากที่ dashboard ช่วยในการแจ้งข่าวเรา แต่บางครั้งก็ทำให้ user ทั่วไป งง เพราะมักมีข่าวอื่น ๆ ปนเข้ามาทำให้ดูไม่เป็นเอกเทศสำหรับการแจ้ง update ตัว wordpress
  • Canonical URLs เป็นตัวทำ Clean URL แบบใหม่
  • Pending review ใช้ช่วยในการเขียน blog หลาย ๆ คน เป็นตัวช่วยในการ review ตัวเนื้อหาก่อน submit ขึ้น blog จริง ๆ
  • Advanced WYSIWYG เพิ่มส่วนแสดง feature ของ TinyMCE ที่ถูกปิดไว้ให้เอามาใช้ได้สะดวกขึ้น

ด้าน Developer Feature

  • Full and complete Atom 1.0 support
  • jQuery whis is 800% faster
  • Kickass taxonomy system
  • Hooks and filters you can now override the update system
  • The dashboard RSS feeds, the feed parser, and tons more than you could in 2.2
  • The new $wpdb->prepare() way of doing SQL queries

เดี่ยวขอ upgrade ระบบคืนนี้จะเล่าต่อว่ามันเปลี่ยนแปลงตรงไหนที่น่าประทับใจบ้างครับ

จาก WordPress 2.3