Студија на случај во изборот на модул на уметност
Неодамна, клиентот ме замоли да додадам нова функција на Drupal-страницата на компанијата: прикажете PDF датотеки во прелистувачот. Додека ги пребарував опциите на drupal.org, сфатив дека ова беше совршена шанса да го документирам мојот вистински процес на донесување одлуки, бидејќи избрав нов модул . Јас секогаш велам да одберете модули мудро , но сега можете да видите како мислам дека ова функционира во реалниот живот.
Дефинирајте што сакате
Првиот чекор е да се дефинира што сакаш. Во мојот случај, сакав:
- Способност за преглед на PDF-датотеки во веб-прелистувач, сличен на овој пример. Клиентот ќе испрати PDF-документи на билтенот на компанијата, а посетителите ќе можат лесно да ги читаат.
- Веб-страницата е Друпал 7 , па модулот треба да одговара на таа голема верзија . (Друпал 7 е надвор веќе некое време, па ако модул програмер не излезе со верзијата на Друпал 7 сепак, веројатно нема.)
- Иако клиентот не го прецизираше ова, сакав да избегнам да се потпирам на трети лица. За видеа, среќен сум што ја објавувам содржината на YouTube или Vimeo, а потоа го вметнувам на Друпал, но за PDF-ите, не мислам дека можната екстра изложеност ќе ги надмине потенцијалните нервози, оштетувања и трошоци. Сепак, јас бев отворен за трети лица услуга, ако тоа беше единствената опција.
- И покрај мојата желба да избегнам услуга од трети лица, знаев дека мојот избор најверојатно ќе бара библиотека на Javascript од трета страна. Иако ова ќе додаде дополнителен чекор за идните надградби, обично се чувствувам подобро за да ја користам мојата сопствена копија од библиотека, наместо да се потпирам на трети лица.
- Сакав да го задржам модулот како лесен и специфичен. Не сакав да се вклучам со некој радикално нов начин на ракување или организирање на медиумски датотеки. Сакав нешто повеќе како Colorbox, кој ги зголемува сликите за подобро гледање, но останува целосно независен од тоа како ќе одберете да управувате со сликите. Имав чувство дека оваа библиотека ќе биде pdf.js, но бев отворен за други можности.
- Како и обично, сакав да ги следам општите упатства за избор на Друпал модул. Во суштина, изберете модул кој веќе е во употреба од неколку илјади луѓе (ако е можно) за некое време, со минимум зависности, што се чини дека го одржува активен инвеститор кој планира да продолжи да го поддржува проектот во иднина и не ' т бара лиценца такса.
Пребарај на Drupal.org
Со овие цели на ум, следниот чекор беше едноставно пребарување на Drupal.org. Време е да се фрлиме во топчето на модната доброта.
& # 34; Споредба & # 34; Страница за PDF модули
Мојата прва станица беше (или требаше да беше), оваа страница: споредба на модулите на PDF прегледувачот. Друпал.орг има одлична традиција на страници за документирање кои ги прикажуваат добрите и лошите страни на различни модули во истиот простор. Има централна листа на страници за споредба, но тие исто така се посеани низ целата страница.
Страницата за споредба со PDF содржи четири модули за гледање на PDF. Јас ќе ги покривам тука, како и неколку други што ги најдов од пребарувањето. Ќе почнам со кандидатите кои решив да ги прескокнете.
Сега ајде да истражуваме во спецификите за тоа зошто овие модули не (или најчесто не работат) за овој проект.
Прегледувач на датотеки
Прегледувач на датотеки ја користи интернет-архивата BookReader, која ме заинтригира, бидејќи сум наркоманија од Интернет-архива. Секој пат кога ќе одам таму, се чувствувам страв од страв и се преплавам на планините на книги што можам да ги извлечам од етер.
Тоа се рече, демонстрационата локација изгледаше малку грда за мене. Јас би можел да живеам со тоа, но јас се сомневав дека мојот клиент ќе, кога pdf.js изгледа многу повеќе стилски.
Исто така, на вториот поглед на страната на проектот, го видов големиот задебелен оглас на врвот: Овој модул е официјално преместен во PDF модул . Доволно фер. Со помалку од 400 инсталации, спојувајќи се со популарниот PDF модул (кој ќе го покриеме за момент), изгледа како добар потег. Никогаш не преземајте модул кој е споен / преместен / напуштен.
Форматот на датотеката на Google Viewer
Форматот на датотеки на Google Viewer е она што звучи како: начин да се користат Google Docs за да вметнете прикази на датотеки во вашата веб-страница. Иако ми се допадна флексибилноста на Google Docs, една од моите цели беше да останам независна од која било услуга од трети страни.
Исто така, овој модул имаше помалку од 100 инсталации.
Прегледувач на документи на Ајакс
Иако "AJAX" е општ говор на Javascript, Ajax Document Viewer испадна да се потпре на одредена услуга од трети страни. Само околу 100 инсталации. Продолжува...
Скалд PDF
Scald PDF имаа само 40 инсталации, но морав да погледнам, бидејќи тоа беше јасно дел од еден поголем проект наречен (да) Scald. Како што објасни страницата на Scald проектот: " Scald е иновативно преземање како да се справат со медиумските атоми во Друпал".
Оваа реченица покренала две огромни црвени знамиња: "иновативни" и зборот "Медиуми" поврзан со "Атом". "Атом" беше очигледно регрутиран збор за "нешто", што го направи тоа само црвено знаме. Друпал има навика за овие празни кутии вид на зборови: јазол , ентитет , функција ... Поопшто зборот, толку повеќе убедливо промените може да биде.
Додека дојдов, моите сомневања беа потврдени. Ги прочитав возбудените тврдења за тоа како Скалд во основа ќе открие како се ракував Медиумите на мојот сајт.
Сега, вистината е дека Друпал Медиумското ракување може да користи некои нови откритија. Скалд не е единствениот амбициозен проект во овој простор. Сепак, со помалку од 1000 инсталации досега, не сакав да влезам на приземје.
Секако, во ова време следната година, Скалд би можел да биде следниот Погледи . Тоа би капело. Но, тоа исто така може да биде напуштено, со (мала) трага на скршени сајтови оставени да плачат.
За сега, сакав да се држим со многу помалку амбициозно и опасно решение. Само прикажете PDF датотеки, ве молиме. Тоа е сè што прашував.
Shadowbox
Shadowbox ме изненади: тврдеше дека е единствено решение за прикажување на сите видови на медиуми, од PDF датотеки до слики на видео. Ова не беше толку мирно како Скалд, бидејќи тоа само ќе се фокусира на прикажување медиуми без воведување на нови нови концепти како "Медиумски атоми". Но, веќе го сакам Colorbox, како што споменав. Не сакав да ја преиспитам таа одлука.
Сепак, јас забележав (со внатрешен стон) дека со над 16.000 инсталира, Shadowbox би можел да биде помоќна алтернатива во истиот простор. Морав да погледнам.
Модулот Shadowbox Друпал е во основа мост на библиотека на Javascript, Shadowbox.js, па затоа ја проверив веб-страницата на библиотеката. Таму, открив две причини да продолжам:
- Библиотеката бара лиценца за комерцијална употреба. Цената е разумна, но се обидувам да избегнувам софтвер со отворен код кој не е слободен .
- Внимателното пребарување на ЧПП открива дека, спротивно на описот на страницата на модулот Друпал, PDF датотеките не се 100% поддржани од библиотеката Shadowbox. Упс. Добра работа што ја проверив.
Двете кандидати: & # 34; PDF & # 34; и & # 34; PDF Reader & # 34;
Откако ги отстранив останатите, сега дојдов до два очигледни кандидати: PDF и PDF Reader
Овие два проекти имале клучни сличности:
- И двата имале речиси 3.000 инсталации, далеку повеќе од алтернативите (освен Shadowbox).
- Двете ја користеа истата надворешна библиотека на Javascript, pdf.js.
Што е со разликите?
PDF Reader, исто така, има опција за интеграција на Google Docs. Во овој конкретен случај, мислев дека мојот клиент би можел да го сака тоа, па ми се допадна да ја имам можноста.
Во меѓувреме, PDF беше означен како Барање ко-одржувач (и). Тоа би можело да биде знак дека инвеститорот наскоро ќе го напушти проектот, но од друга страна, најновата посветеност беше пред една недела, па барем инвеститорот сè уште беше активен.
Од друга страна, PDF Reader беше означен како Активно одржуван, но најновата посветеност беше пред една година.
Без јасен победник, решив да ги тестирам и двете.
Тестирање на кандидати
Ги тестирав и двата модули на копија од мојата страница во живо. (Независно колку е појасен модулот кој се појавува, никогаш не го пробајте прво на веб-страницата во живо. Вие би можеле да ја скршите целата страница.)
Бев пристрасен кон PDF Reader , бидејќи се чинеше дека има повеќе опции (како што се Google Docs) од PDF . Па решив прво да пробам PDF , за да го извадам од патот.
PDF Fail: Потребна компилација?
Меѓутоа, кога инсталирав PDF и прочитав README.txt, открив проблем што го видов, но игнорирав на страницата на проектот. Поради некоја причина, овој модул изгледа дека бара рачно да компајлирате pdf.js. Иако страницата на проектот сугерираше дека ова не е задолжително потребно, README.txt сугерираше дека е.
Бидејќи PDF Reader ќе ја користи истата библиотека без да го бара овој чекор, решив прво да го пробам. Ако не функционира, секогаш може да се вратам во PDF и да се обидам рачно да компајлирам pdf.js.
PDF читач: успех! На некој начин.
Значи, конечно, се обидов PDF читач . Овој модул обезбедува нов елемент за прикажување на полето "Датотека". Додавате поле за датотеки до саканиот тип на содржина и наместете го типот на додаток во PDF читач. Потоа, ќе креирате јазол од овој тип и ќе го вчитате вашиот 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 во кутија на веб-страницата. Мојот Firefox сè уште претпочита да работи pdf.js, но мислам дека ова е поставување на прелистувачот. Во секој случај, се додека некој посетител имал Firefox или PDF прегледувач како Adobe Reader, PDF-от ќе се прикаже.
Така, на крајот, моето решение беше да го користам PDF Reader со опцијата за вметнување на екранот. Оваа опција ќе ми дозволи да приложим PDF во Друпал јазол и сигурно ќе го прикажам на Друпал веб-страницата.
За жал, понекогаш "сигурен" не е доволен. По сето ова пребарување, јас мораше да се разгледа на трети лица услуга по сите.