Gadījuma izpēte moduļa izvēles mākslā
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 manai izvēlei, iespējams, būs nepieciešama 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.
& # 34; Salīdzinājums & # 34; PDF moduļu lapa
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, kad pdf.js izskatās tik daudz stilīgi.
Arī otrā projekta lapas apskatā es augšpusē redzēju lielo treknrakstu paziņojumu: š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 inovatīvs veids, kā Drupal rīkoties ar Media Atoms ."
Š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ība ar šiem tukšu lodziņu vārdu veidiem: mezgls , objekts , funkcija ... Jo vispārīgāks ir 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 koncentrētos tikai uz mediju demonstrēšanu , 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 atzīmēju (ar iekšēju dusmu), ka ar vairāk nekā 16 000 instalāciju Shadowbox varētu būt jaudīgāka alternatīva tajā pašā telpā. Man vajadzēja skatī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 pretstatā Drupal moduļa aprakstam PDF faili Shadowbox bibliotēkai nav 100% atbalstīti. Oops! Laba lieta, ko es pārbaudīju.
Divi pretendenti: & # 34; PDF & # 34; un & # 34; PDF lasītājs & # 34;
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 Reader 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ētāja līdzdalības veicējs (-i). 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 Reader tika atzīmēts kā Aktīvi uzturēts, 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 tendence uz PDF Reader , jo šķita, ka tai ir vairāk iespēju (piemēram, Google Docs) nekā PDF . Tāpēc es nolēmu vispirms izmēģināt PDF failu , lai to novērstu.
PDF fail: obligāta kompilācija?
Tomēr, kad es instalēju PDF un lasīju README.txt, es atklāju problēmu, kuru esmu redzējis, bet projektā esmu ignorējusi. Šķiet, ka šim modulim kāda iemesla dēļ ir nepieciešams manuāli apkopot pdf.js. Lai gan projekta lapā tika ieteikts, ka tas nav obligāti nepieciešams, README.txt ierosināja, ka tas bija.
Tā kā PDF Reader izmantotu tieši tādu pašu bibliotēku, neprasot šo soli, vispirms es nolēmu to izmēģināt. Ja tas nedarbosies, es vienmēr varētu atgriezties PDF un mēģināt manuāli kompilēt pdf.js.
PDF lasītājs: veiksme! Kārtot pēc.
Tāpēc, beidzot, es mēģināju PDF Reader . Šis modulis nodrošina jaunu logrīku, lai parādītu lauku Fails. Jūs pievienojat faila lauku vēlamajam satura tipam un uzstādiet logrīka veidu uz PDF Reader. 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:
- Google Docs lasītājs labi strādāja kā iegultā, taču, kad es noklikšķināju uz tā, lai pārietu uz pilnekrāna režīmu, es izveidoju Google dokumentu lapu, kas atvainojās, ka mana likmes ierobežojums ir pārsniegts. 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.
- Opcija pdf.js strādāja lieliski ... Firefox un Chrome. Bet, kad es apkrāptu pārlūkprogrammu Internet Explorer, lodziņš parādījās tukšs. Acīmredzot šī problēma ir pati pdf.js, nevis PDF Reader modulis. Es domāju, ka es būtu gaidījis to, ņemot vērā, ka Mozilla ir izstrādājis pdf.js, un Internets ir ... pati. Tomēr es biju vīlusies, ka es nedomāju, ka apstiprinu, ka pdf.js visur ir droši strādājis visās pārlūkprogrammās.
- Ieslēgšanas opcija bija visuzticamākā. 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ūkprogrammas 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 Reader ar opciju Ievietot displeju. Šī 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.