เมื่อเร็ว ๆ นี้ลูกค้าได้ขอให้ฉันเพิ่มคุณลักษณะใหม่ลงในไซต์ Drupal ของ บริษัท : แสดงไฟล์ PDF ในเบราเซอร์ ขณะที่ฉันเรียกดูตัวเลือกใน drupal.org ฉันตระหนักว่านี่เป็นโอกาสที่ดีในการจัดทำเอกสารกระบวนการตัดสินใจของฉันขณะที่ฉันเลือกโมดูลใหม่ ฉันมักจะบอกว่าจะเลือกโมดูลอย่างชาญฉลาด แต่ตอนนี้คุณสามารถดูว่าฉันคิดอย่างไรกับสิ่งนี้ในชีวิตจริง
กำหนดสิ่งที่คุณต้องการ
ขั้นตอนแรกคือการกำหนดสิ่งที่คุณต้องการ ในกรณีของฉันฉันต้องการ:
- ความสามารถในการดูไฟล์ PDF ในเว็บเบราเซอร์ซึ่งคล้ายกับตัวอย่างนี้ ลูกค้าจะอัปโหลดไฟล์ PDF ของจดหมายข่าวของ บริษัท และผู้เข้าชมจะสามารถอ่านได้ง่าย
- ไซต์นี้เป็น Drupal 7 ดังนั้นโมดูลจะต้องตรงกับเวอร์ชันหลักนั้น (Drupal 7 ได้รับการออกสักครู่ตอนนี้ดังนั้นหากผู้พัฒนาโมดูลไม่ได้ออกมาพร้อมกับ Drupal 7 รุ่นยังพวกเขาอาจจะไม่.)
- แม้ว่าไคลเอ็นต์ไม่ได้ระบุสิ่งนี้ แต่ฉันก็อยากหลีกเลี่ยงการพึ่งพาบริการของบุคคลที่สาม สำหรับวิดีโอฉันยินดีที่จะโพสต์เนื้อหาลงใน YouTube หรือ Vimeo แล้วฝังลงในไซต์ Drupal แต่สำหรับไฟล์ PDF ฉันไม่คิดว่าการเปิดรับภาพที่เป็นไปได้อาจเกินดุลถึงปัญหาเรื่องความยุ่งยากและค่าใช้จ่ายที่อาจเกิดขึ้น อย่างไรก็ตามฉันเปิดให้บริการของบุคคลที่สามหากเป็นทางเลือกเดียว
- แม้ว่าฉันต้องการหลีกเลี่ยงการบริการของบุคคลที่สาม แต่ฉันก็รู้ว่าทางเลือกของฉันอาจต้องใช้จาวาสคริปต์ของบุคคลที่สาม ห้องสมุด . แม้ว่าจะเป็นการเพิ่มขั้นตอนเพิ่มเติมในการอัปเกรดในอนาคต แต่โดยทั่วไปแล้วฉันรู้สึกดีขึ้นในการใช้สำเนาห้องสมุดของตัวเองแทนที่จะใช้บริการของบุคคลที่สาม
- ฉันต้องการให้โมดูลมีน้ำหนักเบาและเจาะจงมากที่สุด ฉันไม่ต้องการมีส่วนเกี่ยวข้องกับวิธีการใหม่ ๆ อย่างสิ้นเชิงในการจัดการหรือจัดระเบียบไฟล์มีเดีย ฉันต้องการบางอย่างมากขึ้นเช่น Colorbox ซึ่งจะขยายภาพเพื่อการรับชมที่ดีขึ้น แต่ยังคงเป็นอิสระอย่างสมบูรณ์ต่อวิธีที่คุณเลือกที่จะจัดการไฟล์ภาพ ฉันมีลางสังหรณ์ที่ห้องสมุดนี้จะเป็น pdf.js แต่ฉันก็เปิดกว้างสำหรับความเป็นไปได้อื่น ๆ
- ตามปกติฉันต้องการทำตามหลักเกณฑ์ทั่วไปสำหรับการเลือกโมดูล Drupal โดยทั่วไปเลือกโมดูลที่มีอยู่แล้วในการใช้งานโดยไม่กี่พันคน (ถ้าเป็นไปได้) สักระยะหนึ่งโดยมีการพึ่งพาอย่างน้อยที่สุดซึ่งดูเหมือนว่าจะได้รับการดูแลโดยนักพัฒนาที่ใช้งานซึ่งวางแผนที่จะสนับสนุนโครงการต่อไปในอนาคตและไม่ได้เป็น ' t ต้องมีค่าธรรมเนียมใบอนุญาต
ค้นหาใน Drupal.org
ขั้นตอนต่อไปคือการค้นหาง่ายๆใน Drupal.org เวลาที่จะกระโดดลงไปในหลุมบอลของโมดูลดี
หน้า "เปรียบเทียบ" สำหรับโมดูล PDF
จุดแรกของฉันคือ (หรือควรจะเป็น) หน้านี้: การเปรียบเทียบโมดูล PDF viewer Drupal.org มีประเพณีที่ดีเยี่ยมในหน้าเอกสารซึ่งแสดงถึงข้อดีและข้อเสียของโมดูลต่างๆในพื้นที่เดียวกัน มีรายการเปรียบเทียบของหน้าเว็บกลาง แต่มีการโรยหน้าทั่วทั้งไซต์
หน้าการเปรียบเทียบ PDF รวมโมดูลผู้อ่าน PDF สี่รูปแบบ ฉันจะครอบคลุมพวกเขาที่นี่เช่นเดียวกับคนอื่น ๆ ที่ฉันพบจากการค้นหา ฉันจะเริ่มต้นกับผู้สมัครที่ฉันตัดสินใจที่จะข้ามไป
ตอนนี้ขอเจาะลึกรายละเอียดของเหตุผลที่โมดูลเหล่านี้ทำ (หรือส่วนใหญ่ไม่ได้) ทำงานในโครงการนี้
File Viewer
File Viewer ใช้ Internet Archive BookReader ซึ่งทำให้ฉันรู้สึกทึ่งเพราะฉันเป็นคนขยันขันแข็งใน Internet Archive ทุกครั้งที่ฉันไปที่นั่นฉันรู้สึกเกรี้ยวกราดของความกลัวและครอบงำที่ภูเขาของหนังสือที่ฉันสามารถดึงออกมาจากอีเทอร์
ที่ถูกกล่าวว่าเว็บไซต์สาธิตดูเล็กน้อยน่าเกลียดกับฉัน ฉันอาจจะอยู่กับมัน แต่ฉันสงสัยว่าลูกค้าของฉันจะเมื่อไหร่pdf.js ดูทันสมัยมากขึ้น
นอกจากนี้ในการดูหน้าโครงการครั้งที่สองผมเห็นการประกาศตัวหนาที่ด้านบน:โมดูลนี้ถูกย้ายไปยังโมดูล PDF อย่างเป็นทางการแล้ว. พอใช้ได้ ด้วยการติดตั้งน้อยกว่า 400 ครั้งการควบรวมกับโมดูล PDF ที่เป็นที่นิยมมากขึ้น (ซึ่งเราจะกล่าวถึงในช่วงเวลาหนึ่ง) ดูเหมือนจะเป็นการเคลื่อนไหวที่ดี อย่าดาวน์โหลดโมดูลที่ถูกผสาน / ย้าย / ละทิ้ง
ตัวจัดรูปแบบไฟล์ Google Viewer
Google Viewer File Formatter คือสิ่งที่ดูเหมือน: วิธีใช้ Google เอกสารเพื่อฝังการแสดงไฟล์ในหน้าเว็บของคุณ แม้ว่าฉันจะชอบความเก่งกาจของ Google เอกสารเป้าหมายหนึ่งของฉันก็คือการคงความเป็นอิสระจากบริการของบุคคลที่สาม
นอกจากนี้โมดูลนี้มีการติดตั้งไม่ถึง 100 รายการ
โปรแกรมดูเอกสาร Ajax
แม้ว่า "AJAX" เป็นคำจาวาสคริปต์ทั่วไป Ajax Document Viewer จึงหันมาพึ่งพาบริการของบุคคลที่สาม มีการติดตั้งเพียงประมาณ 100 รายการ กำลังเดินทางไป…
Scald PDF
Scald PDF มีการติดตั้งเพียง 40 ครั้ง แต่ต้องดูเพราะเป็นส่วนหนึ่งของโครงการขนาดใหญ่ที่ชื่อว่า Scald (ใช่) ในฐานะหน้าโครงการ Scald อธิบายว่า " Scald เป็นนวัตกรรมในการจัดการอะตอมของสื่อ ใน Drupal "
ประโยคนั้นยกธงสีแดงขนาดใหญ่ 2 อัน ได้แก่ "นวัตกรรมใหม่" และคำว่า "Media" จับคู่กับ "Atom" "อะตอม" เป็นคำที่ใช้สำหรับ "สิ่งของ" ซึ่งทำให้เป็นธงสีแดงทั้งหมดด้วยตัวเอง Drupal มีใจชอบสำหรับคำพูดที่ว่างเปล่าเหล่านี้: ปม , เอกลักษณ์ , ลักษณะ … ยิ่งคำศัพท์มากเท่าใดการเปลี่ยนแปลงอาจมีมากขึ้นเท่านั้น
ขณะที่ฉันเลื่อนลงสงสัยของฉันได้รับการยืนยัน ฉันอ่านการกล่าวอ้างที่น่าตื่นเต้นว่า Scald จะปรับปรุงวิธีจัดการสื่อในไซต์ของฉันอย่างไร
ตอนนี้ความจริงก็คือการจัดการสื่อของ Drupal อาจใช้การปรับปรุงใหม่ Scald ไม่ใช่โครงการที่มีความทะเยอทะยานเพียงอย่างเดียวในพื้นที่นี้อย่างไรก็ตามด้วยการติดตั้งน้อยกว่า 1000 ครั้งฉันไม่ต้องการเข้าชั้นล่าง
แน่นอนว่าในปีหน้า Scald อาจเป็น Views ถัดไป ที่จะหิน แต่อาจเป็นซอฟต์แวร์ที่ละทิ้งไปด้วยเส้นทางเล็ก ๆ ของเว็บไซต์ที่ไม่ได้รับอนุญาตให้ทิ้งไว้
ตอนนี้ผมอยากจะใช้วิธีแก้ปัญหาที่เต็มไปด้วยความทะเยอทะยานและเสี่ยงมาก เพียงแค่แสดงไฟล์ PDF โปรด นั่นคือทั้งหมดที่ฉันต้องการ
Shadowbox
Shadowbox ทำให้ฉันประหลาดใจ: อ้างว่าเป็นโซลูชันเดียวในการแสดงสื่อทุกประเภทตั้งแต่ไฟล์ PDF ไปจนถึงภาพวิดีโอ นี้ไม่ได้เป็นกวาดเป็น Scald เนื่องจากมันจะมุ่งเน้นไปที่ แสดง สื่อโดยไม่ต้องแนะนำแนวคิดใหม่ทั้งหมดเช่น "อะตอมของสื่อ" แต่ฉันชอบ Colorbox เหมือนที่ได้กล่าวมาแล้ว ฉันไม่ได้ต้องการคิดทบทวนเรื่องนี้
อย่างไรก็ตามฉันได้ทราบ (กับคร่ำครวญภายใน) ที่มีมากกว่า16,000 การติดตั้ง Shadowbox อาจเป็นทางเลือกที่มีประสิทธิภาพมากขึ้นในพื้นที่เดียวกัน ผม มี ไปดู
โมดูล Drupal ของ Shadowbox นั้นเป็นสะพานที่ห้องสมุด Javascript, Shadowbox.js ดังนั้นฉันจึงตรวจสอบจากเว็บไซต์ของห้องสมุด ที่นั่นฉันค้นพบเหตุผลสองประการที่จะต้องดำเนินการต่อไป
- ไลบรารีต้องมีค่าธรรมเนียมใบอนุญาตสำหรับการใช้งานเชิงพาณิชย์ ค่าธรรมเนียมนี้มีเหตุผลพอสมควร แต่ฉันพยายามหลีกเลี่ยงซอฟต์แวร์โอเพ่นซอร์สที่ไม่เสียค่าใช้จ่าย
- การค้นหาอย่างรอบคอบของคำถามที่พบบ่อยพบว่าตรงกันข้ามกับคำอธิบายในหน้าโมดูล Drupal ไฟล์ PDF คือ ไม่ 100% สนับสนุนโดยไลบรารี Shadowbox อุ่ย สิ่งที่ดีที่ฉันได้ตรวจสอบ
Two Contenders: "PDF" และ "PDF Reader"
หลังจากกำจัดส่วนที่เหลือตอนนี้ฉันมาถึงสอง contenders ชัดเจน: PDF และ PDF Reader
ทั้งสองโครงการมีความคล้ายคลึงกันที่สำคัญ:
- ทั้งสองมีการติดตั้งเกือบ 3,000 ครั้งมากกว่าทางเลือกอื่น ๆ (ยกเว้น Shadowbox)
- ทั้งสองใช้ห้องสมุด Javascript เดียวกันภายนอก
pdf.js.
สิ่งที่เกี่ยวกับความแตกต่าง?
เครื่องอ่าน PDF มีตัวเลือกสำหรับการผสานรวม Google Docs ในกรณีนี้ฉันคิดว่าลูกค้าของฉันอาจชอบที่ฉันจึงชอบมีตัวเลือก
ในขณะเดียวกัน, รูปแบบไฟล์ PDF ถูกทำเครื่องหมายเป็นการหาผู้ร่วมดูแลรักษา (s). นั่นอาจเป็นสัญญาณว่านักพัฒนาซอฟต์แวร์จะละทิ้งโครงการ แต่ในทางกลับกันการกระทำครั้งล่าสุดเมื่อสัปดาห์ที่แล้วดังนั้นอย่างน้อยนักพัฒนาซอฟต์แวร์ก็ยังคงใช้งานอยู่
ในทางกลับกัน, เครื่องอ่าน PDF ถูกทำเครื่องหมายเป็นรักษาไว้อย่างแข็งขันแต่การกระทำล่าสุดคือหนึ่งปีที่ผ่านมา
หากไม่มีผู้ชนะที่ชัดเจนฉันตัดสินใจที่จะทดสอบทั้งสองอย่าง
ทดสอบคู่แข่ง
ฉันทดสอบทั้งสองโมดูลในสำเนาเว็บไซต์ที่ใช้งานจริงของฉัน (ไม่ว่าหน่วยของแข็งและไม่มีอันตรายจะปรากฏขึ้นอย่าลองใช้ไซต์ออนไลน์เป็นครั้งแรกคุณสามารถทำลายไซต์ทั้งหมดของคุณได้)
ฉันมีความลำเอียงต่อ เครื่องอ่าน PDF เนื่องจากดูเหมือนว่าจะมีตัวเลือกมากขึ้น (เช่น Google เอกสาร) กว่า รูปแบบไฟล์ PDF . ดังนั้นฉันจึงตัดสินใจลอง รูปแบบไฟล์ PDF แรกเพื่อให้มันออกไปจากทาง
PDF Fail: ต้องการการคอมไพล์หรือไม่?
อย่างไรก็ตามเมื่อติดตั้งแล้ว รูปแบบไฟล์ PDF และอ่านREADME.txtฉันค้นพบปัญหาที่ฉันเห็น แต่ไม่สนใจในหน้าโครงการ ด้วยเหตุผลบางประการโมดูลนี้น่าจะต้องการให้คุณคอมไพล์pdf.js ด้วยมือ แม้ว่าหน้าโครงการแนะนำว่าไม่จำเป็นต้องREADME.txt แนะนำมัน
ตั้งแต่ เครื่องอ่าน PDF จะใช้ห้องสมุดเดียวกันแน่นอนโดยไม่ต้องมีขั้นตอนนี้ฉันตัดสินใจที่จะลองก่อนเลย ถ้าไม่ได้ผลฉันก็สามารถกลับไปได้ รูปแบบไฟล์ PDF และพยายามคอมไพล์ด้วยตนเองpdf.js.
PDF Reader: ความสำเร็จ! เรียง
ดังนั้นในที่สุดฉันก็พยายาม เครื่องอ่าน PDF . โมดูลนี้มีวิดเจ็ตใหม่สำหรับการแสดง aไฟล์ สนาม คุณเพิ่มฟิลด์ไฟล์ลงในประเภทเนื้อหาที่คุณต้องการและตั้งค่าประเภทวิดเจ็ตเครื่องอ่าน PDF. จากนั้นให้คุณสร้างโหนดประเภทนี้และอัปโหลดไฟล์ PDF ของคุณ PDF ปรากฏอยู่ใน "ช่อง" ในหน้าเว็บ
คุณสามารถลองใช้ตัวเลือกการแสดงผลแบบต่างๆได้โดยการแก้ไขประเภทเนื้อหาอีกครั้งและเปลี่ยนการตั้งค่าการแสดงผลสำหรับฟิลด์
ฉันพบว่าตัวเลือกการแสดงผลแต่ละข้อมีข้อดีและข้อเสีย:
- Google Docs reader ทำงานได้ดีในรูปแบบฝัง แต่เมื่อฉันคลิกไปที่หน้าจอแบบเต็มหน้าจอฉันก็พบหน้า Google เอกสารซึ่งขอโทษว่าเกินขีด จำกัด อุ่ย บางทีนี่อาจจะน่าเชื่อถือมากขึ้นถ้าฉันติดตั้่งโมดูลกับบัญชี Google Apps ที่จ่ายเงิน แต่ฉันไม่ได้สนใจในการค้นหาเนื่องจากฉันแน่ใจว่าลูกค้าของฉันไม่ต้องการแสดงผล
- pdf.js ทำงานได้อย่างเยี่ยมยอด … ใน Firefox และ Chrome แต่เมื่อฉันยิง Internet Explorer กล่องปรากฏว่างเปล่า เห็นได้ชัดว่านี่เป็นปัญหากับ
pdf.jsตัวเองไม่ใช่ เครื่องอ่าน PDF โมดูล. ฉันคิดว่าฉันควรจะได้คาดหวังนี้ให้ที่pdf.jsได้รับการพัฒนาโดย Mozilla และ Internet Explorer คือ … ตัวเอง ยังคงฉันรู้สึกผิดหวังที่ฉันไม่ได้คิดที่จะยืนยันว่าpdf.jsทำงานได้อย่างน่าเชื่อถือในทุกเบราว์เซอร์ตั้งแต่แรก - ฝัง เป็นตัวเลือกที่น่าเชื่อถือที่สุด นี้จริงวิ่ง Adobe Reader ในช่องบนหน้าเว็บ Firefox ของฉันยังคงต้องการใช้งาน
pdf.jsแต่ฉันคิดว่านี่เป็นการตั้งค่าเบราเซอร์ ทั้งสองวิธีตราบเท่าที่ผู้เข้าชมมี Firefox หรือโปรแกรมดู PDF เช่น Adobe Reader PDF จะแสดงขึ้น
ดังนั้นในที่สุดการแก้ปัญหาของฉันคือการใช้ เครื่องอ่าน PDF กับฝัง ตัวเลือกการแสดงผล ตัวเลือกนี้จะช่วยให้ฉันสามารถแนบ PDF กับโหนด Drupal และแสดงหน้าเว็บ Drupal ได้อย่างเชื่อถือได้
แต่น่าเสียดายที่บางครั้ง "เชื่อถือได้" ไม่เพียงพอ หลังจากการค้นหาทั้งหมดนี้ฉันต้องพิจารณาบริการของบุคคลที่สามหลังจากทั้งหมด




