Nesen klients lūdza man pievienot jaunu funkciju uzņēmuma Drupal vietnē: pārlūkprogrammā parādīt PDF failus. Kad es pārlūkoju drupal.org iespējas, es sapratu, ka tā bija lieliska iespēja dokumentēt manu faktisko lēmumu pieņemšanas procesu, jo es izvēlējos jaunu moduli. Es vienmēr saku, ka jāizvēlas moduļi gudri, bet tagad jūs varat redzēt, kā es domāju, ka tas darbojas reālajā dzīvē.
Definējiet to, ko vēlaties
Pirmais solis ir noteikt, ko vēlaties. Manā gadījumā es gribēju:
- Spēja skatīt PDF failus tīmekļa pārlūkprogrammā, līdzīgi kā šis piemērs. Klients varētu augšupielādēt uzņēmuma biļetenu PDF failus, un apmeklētāji varētu tos ērti lasīt.
- Vietne ir Drupal 7, tāpēc modulim vajadzētu saskaņot šo galveno versiju. (Drupal 7 jau ir ilgu laiku, tādēļ, ja moduļa izstrādātājs vēl nav iznācis ar Drupal 7 versiju, iespējams, tas nenotiks.)
- Lai gan klients to nav norādījis, es arī gribēju izvairīties paļauties uz trešās puses pakalpojumu. Attiecībā uz videoklipiem es labprāt ievietoju saturu YouTube vai Vimeo un pēc tam ievietoju to Drupal vietnē, taču PDF failiem es nedomāju, ka iespējamā papildu ekspozīcija atsver iespējamās grūtības, sabrukumu un izdevumus. Tomēr es biju atvērts trešās puses dienestam, ja tā būtu vienīgā iespēja.
- Neskatoties uz manu vēlmi izvairīties no trešās puses pakalpojuma, es zināju, ka mana izvēle, iespējams, prasīs trešās puses Javascript bibliotēka . Lai gan tas papildinātu papildu soli turpmākajos jauninājumos, es parasti jūtos labāk par manu bibliotēkas kopiju, nevis paļaujas uz trešās puses pakalpojumu.
- Es gribēju, lai modulis būtu pēc iespējas vieglāks un precīzāks. Es negribēju iesaistīties kādā radikāli jaunā veidā, kā rīkoties vai organizēt multivides failus. Es gribēju kaut ko vairāk, piemēram, Colorbox, kas palielina attēlus, lai tos labāk skatītos, taču joprojām ir pilnīgi neatkarīgi no tā, kā jūs izvēlaties pārvaldīt attēlu failus. Man bija grūti pateikt, ka šī bibliotēka būtu pdf.js, bet es biju atvērta citām iespējām.
- Kā parasti, es gribēju ievērot Drupal moduļa izvēles pamatnostādnes. Būtībā izvēlieties moduli, kuru jau vairākus tūkstošus cilvēku jau ir izmantojuši (ja iespējams), ar minimālu atkarību, ko, šķiet, saglabā aktīvs izstrādātājs, kurš plāno turpināt atbalstīt projektu nākotnē, un tas nenozīmē, t nepieciešama licences maksa.
Meklēt Drupal.org
Ņemot vērā šos mērķus, nākamais solis bija vienkārši Drupal.org meklēšana. Laiks pārcelt moduļa labestības lodgalvu.
PDF moduļu lapa "Salīdzinājums"
Mana pirmā pietura bija (vai vajadzēja būt), šajā lapā: PDF skatītāju moduļu salīdzinājums. Drupal.org ir lieliska dokumentācijas lapu tradīcija, kurā ir izklāstīti dažādu moduļu plusi un mīnusi vienā un tajā pašā vietā. Šeit ir centrālais salīdzināšanas lapu saraksts, taču tos arī pārklāj visā vietnē.
PDF salīdzināšanas lapā bija četri PDF skatītāju moduļi. Es viņus uzrunāju šeit, kā arī pāris pārējos, kurus es atklāju no meklēšanas. Es sākšu ar kandidātiem, kurus es nolēmu izlaist.
Tagad pievērsīsimies specifikai, kāpēc šie moduļi (vai lielākoties nav) strādāja pie šī projekta.
Failu skatītājs
Failu skatītājs izmanto Interneta arhīvu "BookReader", kas mani interesēja, jo es esmu interneta arhīvs. Katru reizi, kad es aizietu uz priekšu, es sajūtos bailēs un satricina kalnu grāmatiņus, kurus es varu noķert no ētera.
Tas nozīmē, ka demonstrācijas vieta man izskatījās mazliet neglīts. Es varētu dzīvot ar to, bet es šaubos par manu klientu, kadpdf.js izskatās tik daudz stilīgi.
Arī otrā projekta projekta skatījumā es redzēju lielo treknrakstu augšdaļā:Šis modulis ir oficiāli pārvietots uz PDF moduli. Godīgi. Ar mazāk nekā 400 instalācijām, kas apvienojas ar populārāko PDF moduli (kuru mēs kādreiz aplūkosim), šķiet, ir labs solis. Nekad lejupielādējiet moduli, kas ir apvienots / pārvietots / pamesti.
Google skatītāja faila formāts
Google Viewer failu formāts ir tas, kas tas izklausās: veids, kā izmantot Google dokumentus, lai iegultu tīmekļa vietņu failu rādījumus. Lai gan man patika Google dokumentu daudzpusība, viens no maniem mērķiem bija palikt neatkarīgs no jebkura trešās puses pakalpojuma.
Arī šim modulim bija mazāk nekā 100 instalāciju.
Ajax dokumentu skatītājs
Lai gan "AJAX" ir vispārējs Javascript termins, Ajax Document Viewer izrādījās paļauties uz konkrētu trešās puses pakalpojumu. Tikai apmēram 100 instalāciju. Pāriet uz …
Scald PDF
Scald PDF bija tikai 40 instalācijas, bet man bija jāmeklē, jo tas bija nepārprotami daļa no lielāka projekta, ko sauca (jā) Skald. Kā paskaidroja "Scald projekta lapa": " Skalds ir novatorisks veids, kā rīkotiesMediju atomi Drupal. "
Šis teikums izteica divus milzīgus sarkanos karogus: "novatorisku uzņemšanu" un vārdu "Media", kas savienots ar "Atomu". "Atoms" acīmredzot bija atkārtota vārda "lieta", kas to padarīja par sarkanu karogu pats par sevi. Drupal ir saistīta ar šiem tukšu lodziņu vārdiem: mezgls , vienība , iezīme … Jo vispārīgāks ir tas vārds, jo plašākas pārmaiņas var būt.
Kad es ritoju, manas aizdomas tika apstiprinātas. Es izlasīju satrauktus apgalvojumus par to, kā Scald būtībā atkārtoti izgudroja, kā es savā vietnē rīkoju Media.
Tagad patiesībā Drupal Media apstrāde varētu izmantot dažus izgudrojumus. Skalds nav vienīgais vērienīgais projekts šajā telpā.Tomēr, līdz šim mazāk nekā 1000 instalāciju, es negribēju iekļūt pirmajā stāvā.
Protams, līdz šim laikam nākamajā gadā Skalds varētu būt nākamais skats. Tas būtu klints. Bet tas var arī būt nevainojams, ar (mazu) šķelto vietu taku, ko var raudāt.
Tagad es gribēju palikt ar daudz mazāk vērienīgu un bīstamu risinājumu. Lūdzu, vienkārši parādiet PDF failus. Tas viss man jautāja.
Shadowbox
Shadowbox mani pārsteidza: tas apgalvoja, ka tas ir vienīgais risinājums visu veidu plašsaziņas līdzekļu, sākot no PDF formāta un attēla uz video, parādīšanai. Tas nebija tik slaucošs kā Skalds, jo tas tikai koncentrētos uz attēlot plašsaziņas līdzekļi neieviešot pilnīgi jaunus jēdzienus, piemēram, "Media Atoms". Bet es jau kā Colorbox jau esmu pieminējis. Es negribēju pārdomāt šo lēmumu.
Tomēr es izdarīju piezīmi (ar iekšējo groan), ka ar vairāk nekā16,000 instalē, Shadowbox varētu būt jaudīgāka alternatīva tajā pašā telpā. Es bija paskatīties.
Moduļa Shadowbox Drupal pamatā ir tilts uz Javascript bibliotēku, Shadowbox.js, tāpēc es pārbaudīju bibliotēkas vietni. Tur es atklāju divus iemeslus:
- Bibliotēkai ir nepieciešama licences maksa komerciālai lietošanai. Maksa bija pietiekami pamatota, bet es cenšos izvairīties no brīvas avota programmatūras.
- Rūpīga meklēšana FAQ atklāja, ka pretēji aprakstam Drupal moduļa lapā ir PDF faili nē 100% atbalsta Shadowbox bibliotēka. Oops! Laba lieta, ko es pārbaudīju.
Divi pretendenti: "PDF" un "PDF Reader"
Atceraties pārējo, es tagad atnācu pie diviem acīmredzamiem sāncenšiem: PDF un PDF Reader
Šiem diviem projektiem bija galvenā līdzība:
- Abās bija gandrīz 3000 instalācijas, daudz vairāk par alternatīvām (izņemot Shadowbox).
- Abi izmantoja to pašu ārējo Javascript bibliotēku,
pdf.js.
Kā ar atšķirībām?
PDF lasītājs arī bija iespēja integrēt Google Docs. Šajā konkrētajā gadījumā es domāju, ka mans klients to varētu patikt, tāpēc man patika iespēja.
Tikmēr PDF tika atzīmēts kāMeklējat līdzīpašnieka (-u). Tas varētu būt zīme, ka izstrādātājs drīz pamet projektu, bet, no otras puses, pēdējā saistība bija pirms nedēļas, tāpēc vismaz izstrādātājs vēl bija aktīvs.
No otras puses, PDF lasītājs tika atzīmēts kāAktīvi uzturēta, bet pēdējā saistība bija pirms gada.
Bez skaidra uzvarētāja es nolēmu pārbaudīt abus.
Pretendentu pārbaude
Es testēju abus moduļus manas vietnes kopijā. (Neatkarīgi no tā, cik ciets un nekaitīgs ir modulis, vispirms nekad to neizmēģiniet tiešajā vietnē. Jūs varētu pārtraukt visu vietni.)
Man bija aizspriedumi pretī PDF lasītājs , jo šķita, ka tam ir vairāk iespēju (piemēram, Google Docs) nekā PDF . Tāpēc es nolēmu izmēģināt PDF pirmkārt, lai to izkļūtu no ceļa.
PDF fail: obligāta kompilācija?
Tomēr, kad es instalēju PDF un lasītREADME.txt, Es atklāju problēmu, kuru esmu redzējis, bet ignorējusi projekta lapā. Kāds iemesls šķiet, ka šis modulis prasa, lai jūs apkopotupdf.js manuāli. Lai gan projekta lapā tika ieteikts, ka tas nav obligāti nepieciešams,README.txt ka tas bija.
Kopš PDF lasītājs izmantojot to pašu bibliotēku, neprasot šo soli, vispirms es nolēmu to izmēģināt. Ja tas nedarbosies, es vienmēr varētu atgriezties pie PDF un mēģiniet manuāli apkopotpdf.js.
PDF lasītājs: veiksme! Kārtot pēc.
Tātad, beidzot, es mēģināju PDF lasītājs . Šis modulis nodrošina jaunu logrīku, lai parādītu aFails laukā. Jūs pievienojat faila lauku vēlamajam satura tipam un iestatiet logrīka veiduPDF lasītājs. Tad jūs izveidojat šāda veida mezglu un augšupielādēsit savu PDF. PDF formāts tiek ievietots lapas lodziņā.
Jūs varat izmēģināt dažādas displeja opcijas, rediģējot satura veidu vēlreiz un mainot displeja iestatījumus laukā.
Es atklāju, ka katram displeja variantam ir plusi un mīnusi:
- TheGoogle dokumenti lasītājs labi strādāja kā iegultā, bet, kad es noklikšķināju uz tā, lai pārietu uz pilnekrāna režīmu, es izveidoju Google dokumentu lapu, kas atvainojās, ka esmu pārsniegusi manu ātruma ierobežojumu. Oops! Varbūt tas būtu ticamāk, ja es pievienotu moduli maksājumu Google Apps kontam, taču es to neuztraucu uzzināt, jo es biju pārliecināts, ka manam klientam displejs nepatīk.
- Thepdf.js iespēja strādāja lieliski … par Firefox un Chrome. Bet, kad es apkrāptu pārlūkprogrammu Internet Explorer, lodziņš parādījās tukšs. Acīmredzot šī ir problēma
pdf.jspati nevis tā PDF lasītājs modulis. Es domāju, ka es būtu gaidījis to, ņemot vērā topdf.jsir izstrādājusi Mozilla un Internet Explorer ir … pati. Tomēr es biju vīlusies, ka es nedomāju, ka to apstiprinupdf.jsvisās pārlūkprogrammās vispirms ir droši strādājis. - Theiegult variants bija visticamākais. Tas faktiski vadīja Adobe Reader lodziņā tīmekļa lapā. Mans Firefox joprojām izvēlējās palaist
pdf.js, bet es domāju, ka tas bija pārlūka iestatījums. Katrā ziņā, ja vien apmeklētājam ir vai nu Firefox vai PDF skatītājs, piemēram, Adobe Reader, PDF displejs parādīsies.
Tādējādi galu galā mans risinājums bija izmantot PDF lasītājs ArIegult displeja opcija. Šī opcija ļaus man pievienot Drupal mezgla PDF failu un droši to parādīt Drupal mājas lapā.
Diemžēl dažkārt "ticami" nepietiek. Pēc visa šī meklēšanas man bija jāapsver trešās puses pakalpojums.












