מקרה מבחן אמנות בחירת מודול
לאחרונה, לקוח ביקש ממני להוסיף תכונה חדשה לאתר דרופל של החברה: להציג קבצי PDF בדפדפן. כאשר דפדפתי באפשרויות ב- drupal.org, הבנתי שזו הזדמנות מושלמת לתעד את תהליך קבלת ההחלטות שלי בפועל, כאשר בחרתי מודול חדש. אני תמיד אומר לבחור מודולים בתבונה , אבל עכשיו אתה יכול לראות איך אני חושב שזה עובד בחיים האמיתיים.
הגדרת מה שאתה רוצה
הצעד הראשון הוא להגדיר את מה שאתה רוצה. במקרה שלי, רציתי:
- היכולת להציג קבצי PDF בדפדפן אינטרנט, בדומה לדוגמה זו. הלקוח יעלה מסמכי PDF של עלון החברה, והמבקרים יוכלו לקרוא אותם בקלות.
- האתר הוא דרופל 7 , ולכן המודול צריך להתאים את הגרסה העיקרית . (דרופל 7 כבר בחוץ לזמן מה, אז אם מפתח המודול לא יצא עם גרסה דרופל 7 עדיין, הם כנראה לא.)
- למרות הלקוח לא ציין את זה, אני גם רוצה להימנע מהסתמכות על שירות של צד שלישי. עבור קטעי וידאו, אני שמח לפרסם את התוכן ל- YouTube או ל- Vimeo ולאחר מכן להטביע אותו באתר דרופל, אך עבור קובצי PDF, לא חשבתי שהחשיפה הנוספת האפשרית תעלה על הטרחה, השבירה וההוצאות הפוטנציאליות. עם זאת, הייתי פתוח לשירות צד שלישי אם זה היה האופציה היחידה.
- למרות הרצון שלי להימנע משירות של צד שלישי, ידעתי שהבחירה שלי תחייב ספריית Javascript של צד שלישי. למרות שזה יוסיף צעד נוסף על שדרוגים עתידיים, אני בדרך כלל מרגיש טוב יותר על הפעלת עותק משלי של ספרייה ולא להסתמך על שירות של צד שלישי.
- רציתי לשמור על מודול קל ו ספציפי ככל האפשר. אני לא רוצה להסתבך עם כמה חדש באופן קיצוני של טיפול או ארגון קבצי מדיה. רציתי משהו יותר כמו Colorbox, אשר מגדיל תמונות לצפייה טובה יותר, אבל נשאר עצמאי לחלוטין של איך אתה בוחר לנהל את קבצי התמונה. היתה לי הרגשה שהספרייה הזאת תהיה pdf.js, אבל הייתי פתוחה לאפשרויות אחרות.
- כרגיל, רציתי לעקוב אחר ההנחיות הכלליות לבחירת מודול דרופל. בעיקרון, לבחור מודול זה כבר בשימוש על ידי כמה אלפי אנשים (אם אפשר) לזמן מה, עם מינימום של תלויות, זה נראה מתוחזק על ידי מפתח פעיל אשר מתכנן לשמור על תמיכה בפרויקט אל העתיד, לא דורשים דמי רישוי.
חיפוש ב- Drupal.org
עם מטרות אלה בחשבון, הצעד הבא היה חיפוש פשוט על Drupal.org. זמן לקפוץ לתוך הבור כדור טוב של מודול.
& # 34; השוואה & # 34; דף עבור מודולי PDF
התחנה הראשונה שלי היתה (או היה צריך להיות), דף זה: השוואה של מודולי הצופה PDF. Drupal.org יש מסורת מצוינת של דפי תיעוד אשר מתאר את היתרונות והחסרונות של מודולים שונים באותו שטח. יש רשימה מרכזית של דפי השוואה, אבל הם גם מפוזרים בכל האתר.
בדף ההשוואה PDF כללו ארבעה מודולים הצופה PDF. אני אכסה אותם כאן, כמו גם כמה אחרים מצאתי מ חיפוש. אני אתחיל עם המועמדים החלטתי לדלג.
עכשיו בואו להתעמק לתוך הפרטים של מדוע מודולים אלה עשה (או בעיקר לא) לעבוד עבור פרויקט זה.
מציג קבצים
File Viewer משתמש באינטרנט ארכיון BookReader, אשר סקרן אותי כי אני נרקומן ארכיון באינטרנט. בכל פעם שאני הולך לשם, אני מרגישה דגדוגים של פחד ומציפה בהרי ספרים שאני יכולה לקטוף מהאתר.
עם זאת, אתר ההפגנה נראה לי קצת מכוער. אני יכול לחיות עם זה, אבל אני בספק אם הלקוח שלי היה, כאשר pdf.js נראה הרבה יותר מסוגנן.
כמו כן, על מבט שני בדף הפרויקט, ראיתי את ההודעה מודגש גדול בראש: מודול זה הועבר מודול PDF רשמית . מספיק הוגן. עם פחות מ 400 התקנות, מיזוג עם מודול PDF פופולרי יותר (אשר נדון רגע), נראה כמו מהלך טוב. לעולם אל תוריד מודול שמוזג / הוזז / נטוש.
Google Viewer קובץ מעצב
Google Former File Formatter הוא איך זה נשמע: דרך להשתמש ב- Google Docs כדי להטביע תצוגות של קבצים בדף האינטרנט שלך. למרות שאהבתי את הרב-תכליתיות של Google Docs, אחת המטרות שלי הייתה להישאר עצמאית מכל שירות של צד שלישי.
כמו כן, מודול זה היה פחות מ -100 התקנות.
מציג מסמכים אייאקס
למרות ש- "AJAX" הוא מונח כללי של Javascript, מסתבר ש- Ajax Document Viewer מסתמך על שירות מסוים של צד שלישי. רק כ -100 התקנות. ממשיך הלאה...
Scald PDF
Scald PDF היו רק 40 התקנות, אבל הייתי צריך להסתכל, שכן היה ברור חלק בפרויקט גדול יותר שנקרא (כן) Scald. כפי שסקר את דף הפרויקט Scald: " Scald הוא חדשני לקחת על איך להתמודד עם אטומי מדיה בדרופל".
משפט זה הרים שני דגלים אדומים ענקיים: "חדשני לקחת" ואת המילה "מדיה" יחד עם "Atom". "אטום" היה ברור מילה מחדש עבור "דבר", מה שעשה אותו דגל אדום לבד. לדרופל יש נטייה לסוג של מילים ריקות מסוג זה: הצומת , הישות , התכונה ... ככל שהמילה תהיה כללית יותר, כך ניתן יהיה לשנות את השינויים.
כשגלגלתי למטה, אישרו את חשדותי. קראתי תביעות נרגשות של איך סקאלד היה בעצם מחדש את אופן הטיפול שלי מדיה באתר שלי.
עכשיו, האמת היא כי דרופל של התקשורת הטיפול יכול להשתמש כמה reinventing. Scald הוא לא רק פרוייקט שאפתני בחלל הזה. עם זאת, עם פחות מ 1000 התקנות עד כה, לא רציתי להיכנס בקומת הקרקע.
בטח, לפי הפעם הבאה בשנה הבאה, Scald עשוי להיות הבא צפיות . זה היה רוק. אבל זה יכול להיות גם לנטוש, עם (קטן) שובל של אתרים שבורים שנותרו לבכות.
לעת עתה, רציתי להיצמד לפתרון שאפתני ומסוכן הרבה פחות. רק להציג קבצי PDF, בבקשה. זה כל מה ששאלתי.
קופסת צללים
Shadowbox הפתיע אותי: הוא טען שהוא פתרון יחיד להצגת כל סוגי המדיה, ממסמכי PDF לתמונות לווידאו. זה לא היה גורף כמו סקאלד, שכן זה היה רק להתמקד בהצגת התקשורת מבלי להציג מושגים חדשים לגמרי כמו "אטומי מדיה". אבל אני כבר אוהב את Colorbox, כפי שציינתי. לא רציתי לחשוב מחדש על ההחלטה.
עם זאת, שמתי לב (עם גניחה פנימית) כי עם מעל 16,000 התקנות, Shadowbox יכול להיות חלופה חזקה יותר באותו מקום. הייתי צריך להעיף מבט.
המודול Shadowbox Drupal הוא בעצם גשר לספריית Javascript, Shadowbox.js, לכן בדקתי את אתר הספריה. שם גיליתי שתי סיבות להמשיך הלאה:
- הספריה דורשת דמי רישיון לשימוש מסחרי. התשלום היה סביר מספיק, אבל אני מנסה להימנע תוכנה קוד פתוח כי הוא לא בחינם .
- חיפוש זהיר של השאלות הנפוצות גילה כי, בניגוד לתיאור בדף מודול דרופל, מסמכי PDF אינם נתמכים על ידי הספרייה Shadowbox. אופס. דבר טוב בדקתי.
שני המתמודדים: & # 34; PDF & # 34; & # 34; PDF Reader & # 34;
לאחר ביטול כל השאר, עכשיו הגעתי שני מתמודדים ברור: PDF ו- PDF Reader
לשני הפרויקטים הללו היו קווי דמיון מרכזיים:
- שניהם היו כמעט 3,000 התקנות, הרבה יותר מאשר חלופות (למעט Shadowbox).
- שניהם השתמשו באותה ספריית Javascript חיצונית, pdf.js.
מה לגבי הבדלים?
ל- PDF Reader היתה גם אפשרות לשילוב של Google Docs. במקרה הספציפי הזה, חשבתי שהלקוח שלי יאהב את זה, אז אהבתי את האפשרות.
בינתיים, PDF היה מסומן כמו מחפשת שיתוף co (ים). זה יכול להיות סימן לכך היזם בקרוב לנטוש את הפרויקט, אבל מצד שני, ההתחייבות האחרונה היתה לפני שבוע, כך לפחות היזם היה עדיין פעיל.
מאידך, PDF Reader סומן כמתוחזק באופן פעיל, אך ההתחייבות האחרונה הייתה לפני שנה.
ללא זוכה ברור, החלטתי לבדוק את שניהם.
בדיקת המתמודדים
בדקתי את שני המודולים על עותק של האתר החי שלי. (לא משנה עד כמה מוצק ובלתי מזיק מודול מופיע, אף פעם לא לנסות אותו באתר חי.אתה יכול לשבור את כל האתר שלך.)
הייתי מוטה כלפי קורא PDF , כי נראה שיש לו יותר אפשרויות (כגון Google Docs) מאשר PDF . אז החלטתי לנסות PDF ראשון, כדי לקבל את זה מהדרך.
נכשל PDF: נדרשת קומפילציה?
עם זאת, כאשר התקנתי PDF ולקרוא README.txt, גיליתי בעיה שראיתי אבל התעלם בדף הפרויקט. מסיבה כלשהי, נראה כי מודול זה דורש כי אתה compile pdf.js ידנית. למרות דף הפרויקט הציע שזה לא בהכרח נדרש, הציע README.txt זה היה.
מכיוון ש- PDF Reader ישתמש באותה ספריה ללא צורך בשלב זה, החלטתי לנסות אותה תחילה אחרי הכל. אם זה לא עובד, אני תמיד יכול לחזור PDF ולנסות לקמפל ידנית pdf.js.
PDF Reader: הצלחה! בערך.
אז, סוף סוף, ניסיתי PDF Reader . מודול זה מספק רכיב widget חדש להצגת שדה קובץ. אתה מוסיף שדה קובץ לסוג התוכן הרצוי שלך ולהגדיר את סוג יישומון ל- PDF Reader. לאחר מכן, ליצור צומת מסוג זה ולהעלות את ה- PDF שלך. מסמך PDF מופיע מוטבע בתיבה "" בדף.
באפשרותך לנסות אפשרויות תצוגה שונות על-ידי עריכת סוג התוכן שוב ושינוי הגדרות התצוגה עבור השדה.
מצאתי כי כל אפשרות להציג היו היתרונות והחסרונות:
- הקורא של Google Docs עבד מצוין כשילוב, אבל כשלחצתי עליו כדי לעבור למסך מלא, הגעתי לדף של Google Docs שהתנצל על חריגה ממגבלת התעריף שלי. אופס. אולי זה יהיה אמין יותר אם אני מכור את המודול לחשבון Google Apps בתשלום, אבל לא טרחתי לגלות, כפי שהייתי די בטוח הלקוח שלי לא אוהב את התצוגה.
- האפשרות pdf.js עבדה להפליא ... ב- Firefox וב- Chrome. אבל כשפיטרתי את Internet Explorer, התיבה נראתה ריקה. כנראה, זו בעיה עם pdf.js עצמו, לא מודול PDF Reader . אני מניח שהייתי צריך לצפות את זה, בהתחשב בכך pdf.js פותחה על ידי Mozilla ו- Internet Explorer הוא ... עצמו. ובכל זאת, הייתי מאוכזב כי לא חשבתי לאשר כי pdf.js עובד אמין על פני כל הדפדפנים מלכתחילה.
- אפשרות ההטמעה היתה הכי אמינה. זה ממש רץ Adobe Reader בתיבה בדף האינטרנט. אתר שלי עדיין העדיף להפעיל pdf.js, אבל אני חושב שזה היה הגדרת הדפדפן. כך או כך, כל עוד המבקר היה או Firefox או מציג PDF כמו Adobe Reader, PDF היה להציג.
לכן, בסופו של דבר, הפתרון שלי היה להשתמש ב- PDF Reader עם אפשרות התצוגה. אפשרות זו תאפשר לי לצרף PDF לצומת דרופל, ובאופן אמין להציג אותו בדף האינטרנט של דרופל.
למרבה הצער, לפעמים "אמין" זה לא מספיק. אחרי כל החיפוש הזה, הייתי צריך לשקול שירות של צד שלישי אחרי הכל.