นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน
อ่าน: 57
ความเห็น: 0

วิธีการติดตั้ง Extension J2XML และการนำเข้าข้อมูลสำหรับ Joomla 3.9.19 [C]

บทความนี้เป็นส่วนหนึ่งของบทความเรื่อง "การอัพเกรด Joomla เวอร์ชั่นเก่าให้เป็น Joomla เวอร์ชั่นปัจจุบันด้วย J2XML" ดังนั้นเพื่อความเข้าใจที่ครบถ้วนสมบูรณ์ขอให้อ่านบทความข้างต้นก่อนเป็นอันดับแรก

วิธีการติดตั้ง Extension J2XML และการนำเข้าข้อมูลสำหรับ Joomla 3.9.19 มีวิธีการดังต่อไปนี้

1. สำหรับการนำเข้าข้อมูลจาก Joomla 1.5.x และ Joomla 2.5.x จำเป็นต้องติดตั้งไฟล์ที่ใช้งานจำนวน 2 ไฟล์ คือ

1.1 Extension J2XML 3.7.207 สามารถดาวน์โหลดได้ที่ https://www.eshiol.it/files/j2xml37/pkg_j2xml-3.7.207.zip
1.2 Plugin J2XML - Importer 1.5 สำหรับการนำเข้าข้อมูลจาก Joomla 1.5.x จำเป็นต้องติดตั้ง Plugin นี้ด้วย สามารถดาวน์โหลดได้ที่ https://www.eshiol.it/files/plg_j2xml_importer15/plg_j2xml_importer15-3.7.31.78.zip

 

2. เมื่อดาวน์โหลดมาแล้วให้ทำการติดตั้งโดยมีขั้นตอนดังนี้ 

2.1 ไปที่ Extensions -> Manage -> Install


2.2 ที่ Tab Upload Package File ลากไฟล์มาวาง หรือกดที่ปุ่ม Or browse for file เพื่อทำการเลือกไฟล์ที่ต้องการติดตั้ง


2.3 หากแสดงคำว่า Installation of the package was successful. แสดงว่าสามารถติดตั้งได้สำเร็จ


*2.4 หากเป็นการนำเข้าข้อมูลจาก Joomla 1.5.x ต้องติดตั้ง Plugin J2XML - Importer 1.5 ด้วยโดยติดตั้งเหมือนกับขั้นตอน 2.1 - 2.2 จนเสร็จ


3. จากนั้นให้ไปที่ Components -> J2XML

 

จะพบกับหน้า Control Panel

 

4. แต่ก่อนที่จะนำเข้าข้อมูล ให้ไปปรับการตั้งค่าของ J2XML ก่อน โดยไปกดที่ Options ด้านขวาบน

 

5. จะแสดงหน้าให้ปรับแต่ง J2XML Options ที่ Tab Content มีส่วนที่ต้องปรับดังนี้

  • Keep Ids ให้เปลี่ยนจาก No เป็น Yes เพื่อเก็บค่า ID เดิมของ Articles และ Categories ไว้


หมายเหตุ การเก็บค่า ID เดิมของ Articles และ Categories จะมีประโยชน์ในกรณีที่มีการอ้างอิงเว็บไซต์ของเราด้วย ID ทีเว็บไซต์อื่น ๆ ไปก่อนหน้านี้แล้ว เช่น http://ccpr.cc.psu.ac.th/cc-news/1521.html หากมีการย้ายข้อมูลไปเว็บไซต์ใหม่ Link ดังกล่าวก็จะไม่กระทบกับการเรียกเว็บไซต์ในภายหลังเนื่องจากยังคงได้เป็น ID เดิมคือ 1521

 

6. เริ่มต้นการนำเข้าข้อมูล

การนำเข้าโครงสร้างข้อมูล ขั้นตอนนี้ต้องดำเนินการสำหรับข้อมูลที่มาจาก Joomla 1.5.x เนื่องจากในเวอร์ชั่น 1.5 โครงสร้างจะมี Section แล้วมี Category ไว้ภายใต้ Section อีกชั้นหนึ่ง แต่หลังจากเวอร์ชั่น 2.5 ออกมา มีการปรับปรุงโครงสร้างใหม่ ได้ตัด Section ออก เหลือแค่ Category เท่านั้น ดังนั้นโครงสร้างจากเวอร์ขั่น 1.5 ค่อนข้างแตกต่างจากเวอร์ชั่น 2.5 และ 3 จึงต้องมีขั้นตอนการนำเข้าโครงสร้างข้อมูลด้วย แต่หากเป็นข้อมูล Joomla 2.5.x อาจจะไม่จำเป็นต้องทำขั้นตอนนี้ สามารถข้ามไปทำในขั้นตอนการนำเข้าข้อมูลเว็บไซต์ได้เลย

6.1 ให้กดปุ่ม Open เลือกไฟล์ที่ต้องการนำเข้า


6.2 จากนั้นให้กดปุ่ม Import เพื่อนำเข้าข้อมูล


6.3 เมื่อกดปุ่ม Import แล้วนำเข้าข้อมูลโครงสร้างสำเร็จจะแสดง Message ดังภาพ


6.4 หากพบ Warning ประมาณว่า Category ... successfully imported without the original id [1 -> 49]. คือ นำเข้าข้อมูลสำเร็จแต่ไม่ได้ใช้ ID เดิม จะถูกเปลี่ยนไปใช้ ID อื่นแทน เนื่องจาก ID ดังกล่าวมีอยู่แล้ว ตรงนี้เป็นเพียงแค่ข้อความเตือนไม่ได้มีปัญหาอะไร (Joomla 3 จะมีการใช้ Category ID 1-7 ไว้แล้วในระบบตั้งแต่เริ่มต้น)


การนำเข้าข้อมูลผู้ใช้ ขั้นตอนนี้เป็นการนำเข้าข้อมูลผู้ใช้ โดยมีขั้นตอนดังนี้

6.5 ให้กดปุ่ม Open เลือกไฟล์ที่ต้องการนำเข้า


6.6 จากนั้นให้กดปุ่ม Import เพื่อนำเข้าข้อมูล

 
6.7 เมื่อกดปุ่ม Import แล้วนำเข้าข้อมูลผู้ใช้สำเร็จจะแสดง Message ดังภาพ


6.8 หากพบ Error ประมาณว่า User ... not imported. An error occurred. คือ นำเข้าข้อมูลไม่สำเร็จ เมื่อดูจาก Warning ประกอบ จะมีการแจ้งว่าผู้ใช้มีการใช้อีเมลซ้ำกัน หรือมีการระบุอีเมลไม่ถูกต้อง ก็ให้ไปจัดการเปลี่ยนเป็นอีเมลอื่นแทน


การนำเข้าข้อมูลเว็บไซต์ ขั้นตอนนี้เป็นการนำเข้าข้อมูลเว็บไซต์ โดยมีขั้นตอนดังนี้

หมายเหตุ ขั้นตอนนี้สำหรับข้อมูลที่มาจาก Joomla 2.5.x จะเป็นการนำเข้าข้อมูลโครงสร้าง และข้อมูลเว็บไซต์ในคราวเดียวกันเนื่องจากเวอร์ชั่น 2.5 กับเวอร์ชั่น 3 มีโครงสร้างที่ใกล้เคียงกัน

6.9 ให้กดปุ่ม Open เลือกไฟล์ที่ต้องการนำเข้า


6.10 จากนั้นให้กดปุ่ม Import เพื่อนำเข้าข้อมูล

 
6.11 เมื่อกดปุ่ม 
Import แล้วนำเข้าข้อมูลเว็บไซต์สำเร็จจะแสดง Message ดังภาพ


6.12 แต่หากพบ Error ประมาณว่า Article [1036 -> 1032] ... not imported with the following error: Another article from this category has the same alias (remember it may be a trashed item). จะหมายถึงเนื้อหานี้ไม่สามารถนำเข้าข้อมูลได้เนื่องจากมีการใช้ Alias* ซ้ำกัน วิธีการแก้ไขคือก่อนที่จะส่งออกข้อมูลต้องไปแก้ไข Alias ของแต่ละเนื้อหาให้ไม่ซ้ำกันซะก่อน แล้วจึงค่อยนำเข้าข้อมูลใหม่


*Alias คือ ชื่อที่จะแสดงแทนชื่อหน้าข้อมูลเว็บเพจที่เราสร้างขึ้น หากเราตั้งชื่อ Alias เป็นอะไร ก็จะไปปรากฏที่แถบแสดง URL บนเบราเซอร์ และไว้ใช้ในการอ้างอิงการเรียกเว็บเพจขึ้นมาแสดง เช่น เราตั้ง Alias ที่ Article ID 1521 ว่า "ccpsu" ที่เบราเซอร์ก็จะแสดง http://ccpr.cc.psu.ac.th/cc-news/1521-ccpsu.html จะเห็นมีคำว่า ccpsu ติดไปด้วย วิธีนี้เป็นการทำ SEO (Search Engine Optimization) เพื่อทำให้เว็บไซต์ของเราติดอยู่ในอันดับต้นของการค้นหา เหมาะสำหรับการทำโฆษณาในเชิงธุรกิจ หากต้องการศึกษาเรื่อง SEO เพิ่มเติมสามารถอ่าน และศึกษาได้จากเว็บไซต์นี้ครับ https://www.joomlahitz.com/seo

 

7. หลังจากนำเข้าข้อมูลเรียบร้อยแล้ว เมื่อลองไปดูที่เมนู Content -> Articles จะพบว่าข้อมูลเว็บไซต์ได้ถูกนำเข้าไปในระบบโดยถ้าสังเกตจะพบว่าแม้แต่ Author, Date Created และ Hits ก็ยังเป็นค่าจากเว็บไซต์เดิมทุกประการ

 

8. เช่นเดียวกับ Category เมื่อลองไปดูที่เมนู Content -> Categories จะพบว่าโครงสร้างทั้งหมดได้ถูกนำเข้าไปในระบบโดยสังเกตได้ว่า Article ทั้งหมดจะถูกจัดเก็บไว้ภายใต้ Category เดิมทุกประการตามที่ J2XML ได้จัดการไว้ให้

 

9. หลังจากนำเข้าข้อมูลเสร็จเรียบร้อย ลองเปิดหน้าแรกของเว็บไซต์เพื่อดูผลลัพธ์ ก็พบว่าเว็บไซต์แสดงข้อมูลได้ แต่อาจจะมีภาพที่ไม่แสดงอยู่ เนื่องจากเรายังไม่ได้ย้ายรูปภาพประกอบของเว็บไซต์เดิมมาด้วย

หมายเหตุ โดยปกติรูปภาพทั้งหมดค่าเริ่มต้นของ Joomla จะอยู่ใน Directory ที่ชื่อว่า images เพราะฉะนั้นให้เราย้ายข้อมูลใน images ทั้งหมดในเว็บไซต์เดิมไปยังเว็บไซต์ใหม่ ด้วยช่องทางใดช่องทางหนึ่ง เช่น ผ่านทาง FTP เป็นต้น

 

10. จากนั้นให้ติดตั้ง Template, Extension ตามที่ต้องการเพิ่มเติม เพื่อปรับแต่งเว็บไซต์ให้ดูสวยงาม เท่านี้ก็เป็นอันเสร็จสิ้นการย้ายข้อมูลมาเป็น Joomla ปัจจุบันเรียบร้อยแล้ว

 

ตัวอย่างเว็บไซต์ที่ได้ทดลองย้ายข้อมูล

Joomla 1.5   Joomla 3.9.19
http://oldhost.psu.ac.th/~ccpr2      http://lily.psu.ac.th/~ccpr
Joomla 2.5     Joomla 3.9.19
http://oldhost.psu.ac.th/~ffso       http://lily.psu.ac.th/~ffso 

 

อธิบายเพิ่มเติม

- กรณีการนำเข้าข้อมูลเว็บไซต์แล้วพบว่าไม่สามารถนำเข้าข้อมูลได้เพราะ Alias ซ้ำนั้น ส่วนใหญ่ปัญหานี้เกิดจากการคัดลอกบทความเดิมมาเพื่อปรับปรุงแก้ไขแล้วไม่ระบุ Alias ใหม่ที่เป็นการสื่อถึงเนื้อหาใหม่ หากระบุถูกต้องตามหลักการจะไม่พบปัญหานี้ หรือแม้กระทั่งหากไม่ระบุ Alias ตอนสร้างเนื้อหาใหม่เลยก็ตาม ก็จะไม่เกิดปัญหาเช่นกันเพราะระบบของ Joomla จะไม่ปล่อยค่า Alias ให้เป็นค่าว่าง เมื่อบันทึกสร้างเนื้อหาใหม่จะมีการนำวันเวลาของเครื่องไปสร้างเป็น Alias ให้อัตโนมัติ เช่น 2009-09-10-02-15-09.html เป็นต้น

วิธีการแก้ไข Alias ที่ซ้ำกันในระบบ ได้รวบรวมวิธีการแก้ไขเอาไว้แล้ว โดยเขียนเป็นบทความ สามารถไปดูวิธีการได้ที่ link ด้านล่าง

กรณีการนำเข้าข้อมูลผู้ใช้ เมื่อลองทดสอบเข้าใช้งานด้วยบัญชีที่ถูกนำเข้ามาจะพบว่าไม่สามารถเข้าได้ เมื่อตรวจสอบจะพบว่าการนำเข้าไม่ได้มีการ Assign สิทธิ์มาให้ด้วย ต้องไปกำหนดเองอีกครั้ง ตรงนี้ไม่แน่ใจว่าเป็น Bug หรือ ความตั้งใจของผู้พัฒนา J2XML แต่โดยส่วนใหญ่ผู้ใช้ในระบบ Backend สำหรับจัดการเว็บไซต์จะมีไม่มาก จึงไม่เป็นปัญหาในการจัดการสิทธิ์เพิ่มเติมในภายหลัง

 

อ้างอิง

https://www.eshiol.it
https://www.joomlahitz.com/seo

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): Joomla 3  Migration
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 17 มิถุนายน 2563 09:44 แก้ไข: 22 มิถุนายน 2563 13:01 [ แจ้งไม่เหมาะสม ]
ดอกไม้
เป็นคนแรกที่ให้กำลังใจ
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น
คุณต้องทำการเข้าระบบก่อนแสดงความเห็น