Tapaustutkimus moduulin valinnassa
Viime aikoina asiakas pyysi minua lisäämään uuden ominaisuuden yhtiön Drupalin sivustoon: näytä PDF-tiedostoja selaimessa. Kun tutustuin drupal.org-vaihtoehdoista, tajusin, että tämä oli täydellinen tilaisuus dokumentoida todellinen päätöksentekoprosessi, kun valitsin uuden moduulin . Sanon aina valita moduulit viisaasti , mutta nyt näet, miten mielestäni tämä toimii todellisessa elämässä.
Määritä mitä haluat
Ensimmäinen vaihe on määritellä, mitä haluat. Minun tapauksessani halusin:
- Kyky tarkastella PDF-tiedostoja web-selaimessa, samanlainen kuin tämä esimerkki. Asiakas lähettäisi yrityksen uutiskirjeen PDF-tiedostoja ja kävijät pystyvät lukemaan ne helposti.
- Sivusto on Drupal 7 , joten moduulin on vastattava kyseistä suurta versiota . (Drupal 7 on ollut jo jonkin aikaa, joten jos moduulin kehittäjä ei ole vielä julkaissut Drupal 7 -versiota, he todennäköisesti eivät.)
- Vaikka asiakas ei täsmentänyt tätä, halusin myös välttää luottamusta kolmannen osapuolen palveluun. Videota varten olen tyytyväinen voidessani lähettää sisältöä YouTubeen tai Vimeoon ja upottaa sen sitten Drupalin sivustoon, mutta PDF-tiedostojen osalta en usko, että mahdollinen ylimääräinen altistuminen olisi suurempaa kuin mahdolliset ongelmat, rikkoutuminen ja kustannukset. Olin kuitenkin avoin kolmannen osapuolen palvelulle, jos se oli ainoa vaihtoehto.
- Huolimatta halusta välttää kolmannen osapuolen palvelua, tiesin, että valintani edellyttäisi todennäköisesti kolmannen osapuolen Javascript- kirjastoa . Vaikka tämä lisäisi ylimääräistä askelta tuleville päivityksille, olen yleensä paremmin oppimassa omaa kopiota kirjastosta sen sijaan, että luotu kolmannen osapuolen palveluun.
- Halusin pitää moduulin mahdollisimman kevyt ja tarkka. En halunnut osallistua johonkin radikaalisti uudenlaiseen tapaan käsitellä tai järjestää mediatiedostoja. Halusin jotain enemmän Colorboxia, joka laajentaa kuvia paremman katselun takaamiseksi, mutta pysyy täysin riippumattomana siitä, miten valitset kuvatiedostojen hallinnan. Minulla oli varma, että tämä kirjasto olisi pdf.js, mutta olin avoin muille mahdollisuuksille.
- Kuten tavallista, halusin noudattaa Drupal-moduulin valintaa koskevia yleisiä ohjeita. Pohjimmiltaan valitaan moduuli, jota jo muutamat tuhannet ihmiset ovat käyttäneet (jos mahdollista) jonkin aikaa, ja vähäiset riippuvuudet vaikuttavat aktiivisen kehittäjän ylläpitämästä, joka aikoo jatkaa projektin tukemista tulevaisuudessa. t edellyttävät lisenssimaksua.
Hae Drupal.orgista
Näillä tavoitteilla mielessä seuraava askel oli yksinkertainen haku Drupal.org-sivustolla. Aika hyppäämään moduulin hyvyydestä.
& # 34; Vertailu & # 34; Sivu PDF-moduuleille
Ensimmäinen pysäytys (tai olisi pitänyt olla), tämä sivu: Vertailu PDF-katseluohjelmamoduulista. Drupal.orgilla on erinomainen perinne dokumentaatiosivuilta, jotka kuvaavat eri moduulien etuja ja haittoja samassa tilassa. Vertailusivuilla on keskeinen luettelo, mutta ne myös sprinkle koko sivuston.
PDF-vertailusivu sisälsi neljä PDF-katselumoduulia. Minä peitän heidät täältä, samoin pari muuta löytänyt etsimästä. Aloitan ehdokkaiden kanssa, jotka päätin hypätä.
Nyt selvitetään erityispiirteet siitä, miksi nämä moduulit (tai useimmiten eivät) toimineet tässä hankkeessa.
Tiedoston katseluohjelma
File Viewer käyttää Internet Archive BookReaderia, joka kiehtoi minua, koska olen Internet-arkiston junkie. Joka kerta, kun menen sinne, tunnen pelkkää pelkoa ja hukutan kirjoilla, joita voin irrottaa eetteristä.
Sanottiin, että mielenosoituskohde näytti minusta hieman ruma. Voin elää sen kanssa, mutta epäilen asiakkaani, kun pdf.js näyttää niin tyylikkäältä.
Myös projektisivun toisella tarkastelulla huomasin suuren rohkean ilmoituksen yläosassa: Tämä moduuli on siirretty PDF-moduuliin virallisesti . Ymmärrän kyllä. Vähemmän kuin 400 asennusta yhdistämällä suosittuun PDF-moduuliin (joka kattaa hetken) näyttää hyvältä. Älä koskaan lataa yhdistettyä / siirrettyä / hylättyä moduulia.
Google Viewer File Formatter
Google Viewer -tiedostomuodostaja on se, mitä se kuulostaa: tapa käyttää Google-dokumentteja upottamalla tiedostojen näyttöjä verkkosivustossasi. Vaikka halusin Google Docsin monipuolisuuden, yksi tavoitteistani oli pysyä riippumattomana kolmannen osapuolen palvelusta.
Lisäksi moduulissa oli alle 100 asennusta.
Ajax Document Viewer
Vaikka "AJAX" on yleinen Javascript-termi, Ajax Document Viewer osoittautui luotettavaksi tiettyyn kolmannen osapuolen palveluun. Vain noin 100 asennusta. Siirtyminen ...
Scald PDF
Scald PDF: llä oli vain 40 asennusta, mutta minun piti katsoa, koska se oli selvästi osa suurempaa projektia nimeltä (kyllä) Scald. Kuten Scald-projektisivu selitti: " Scald on innovatiivinen hanke siitä, miten käsitellä Media Atomeja Drupalissa."
Tuossa lauseessa nostettiin kaksi valtavaa punaista lippua: "innovatiivinen" ja sana "Media" yhdistettynä "Atomiin". "Atom" oli ilmeisesti repurposed sana "asia", joka teki siitä punainen lippu itsessään. Drupalilla on tällaisia tyhjiä laatikoita kaipaava suhde: solmu , kokonaisuus , piirre ... Yleisempää sanaa, sitä laajemmat muutokset voivat olla.
Kun vieritin alas, epäilykseni vahvistettiin. Luin innoissaan väitteitä siitä, miten Scald pohjimmiltaan paljastaa, miten käsittelin Mediaa sivustossani.
Nyt totuus on, että Drupalin Median käsittely voisi käyttää jonkinlaista keksimistä. Scald ei ole ainoa kunnianhimoinen projekti tässä tilassa. Kuitenkin alle 1000 asennusta toistaiseksi en halunnut päästä sisään pohjakerroksessa.
Toki ensi vuonna tällä kertaa Scald voisi olla seuraava katselu . Se olisi kovaa. Mutta se saattaa myös olla hylättyjä, ja (pieni) jäljelle jääneiden sivustojen jäljellä oleva itku.
Nyt halusin pitää kiinni paljon vähemmän kunnianhimoisesta ja vaarallisesta ratkaisusta. Näytä vain PDF-tiedostoja. Kaikki kysyin.
Varjolaatikko
Shadowbox yllätti minua: se väitti olevansa ainoa ratkaisu kaikentyyppisten medioiden näyttämiseen, PDF-tiedostoista videoihin. Tämä ei ole yhtä lakaista kuin Scald, koska se keskittyisi vain esittelemään mediaa esittämättä uusia kokonaisuuksia, kuten "Media Atomeja". Mutta minäkin pidän Colorboxista, kuten mainitsin. En halunnut käsitellä tätä päätöstä uudelleen.
Kuitenkin, huomasin (sisemmällä hurrulla), että yli 16 000 asennuksella Shadowbox voisi olla tehokkaampi vaihtoehto samassa tilassa. Minun täytyi katsoa.
Shadowbox Drupal -moduuli on periaatteessa silta Javascript-kirjastoon, Shadowbox.js, joten tarkistin kirjaston verkkosivut. Siellä löysin kaksi syytä jatkaa:
- Kirjasto vaatii lisenssimaksua kaupalliseen käyttöön. Palkkio oli kohtuullinen, mutta yritän välttää avoimen lähdekoodin ohjelmistoa, joka ei ole ilmainen .
- Usein kysyttyjen kysymysten huolellinen etsiminen paljasti, että toisin kuin Drupal-moduulisivulla on, Shadowbox-kirjasto ei tue 100-prosenttisesti PDF-tiedostoja. Oho. Hyvä asia, jonka tarkistin.
Kaksi vastaajaa: & # 34; PDF & # 34; ja & # 34; PDF-lukija & # 34;
Lopettanut loput, tulin nyt kahteen ilmeiseen kilpailijalle: PDF ja PDF Reader
Näillä kahdella hankkeella oli keskeiset samankaltaisuudet:
- Molemmilla oli lähes 3000 asennusta, paljon enemmän kuin vaihtoehdot (paitsi Shadowbox).
- Molemmat käyttivät samaa Javascript-kirjastoa, pdf.js.
Entä eroavuudet?
PDF-lukulaitteella oli myös mahdollisuus integroida Google-dokumentit. Tässä nimenomaisessa tapauksessa ajattelin, että minun asiakas haluaisi näin, joten halusin valita.
Samaan aikaan PDF-dokumentti on merkitty nimellä Seeking co-maintainer (s). Tämä voisi olla merkki siitä, että kehittäjä luopuu projektista pian, mutta toisaalta viimeisin sitoumus oli viikko sitten, joten ainakin kehittäjä oli edelleen aktiivinen.
Toisaalta PDF-lukija merkittiin aktiivisesti ylläpidetyksi, mutta viimeisin sitoumus oli vuosi sitten.
Ilman selkeää voittajaa päätin kokeilla molempia.
Kilpailijoiden testaaminen
Testasin molemmat moduulit live-sivuston kopiolla. (Riippumatta siitä, kuinka vahva ja vaaraton moduuli tulee näkyviin, älä koskaan kokeile sitä ensin elävillä sivustoilla. Voit katkaista koko sivustosi.)
Olin puolueellinen kohti PDF-lukijaa , koska se näytti olevan enemmän vaihtoehtoja (kuten Google-dokumentteja) kuin PDF . Joten päätin kokeilla ensin PDF-tiedostoa , jotta se poistettaisiin.
PDF Fail: Kokoaminen on pakollinen?
Kuitenkin, kun asensin PDF-tiedoston ja luin README.txt-tiedoston, löysin ongelman, jonka olin nähnyt mutta jättänyt huomiotta projektisivulla. Jostain syystä tämä moduuli näyttää edellyttävän, että koita pdf.js käsin. Vaikka projektisivulla ehdotettiin, että tätä ei välttämättä tarvittu, README.txt ehdotti, että se oli.
Koska PDF Reader käyttää täsmälleen samaa kirjastoa ilman tätä vaihetta, päätin kokeilla sitä ensin. Jos se ei toimi, voisin aina palata PDF-tiedostoon ja yrittää kääntää PDF.js- tiedosto manuaalisesti.
PDF-lukija: menestys! Järjestä.
Joten viimeinkin yritin PDF-lukijaa . Tämä moduuli tarjoaa uuden widgetin tiedoston kenttään. Voit lisätä tiedostokentän haluamaasi sisältötyyppiin ja asettaa widgetiatyypin PDF-lukulaitteeseen. Sitten luodaan tämän tyyppinen solmu ja lähetät PDF-tiedostosi. PDF-tiedosto on sisällytetty sivun "ruutuun".
Voit kokeilla erilaisia näyttöasetuksia muokkaamalla sisältötyyppiä uudelleen ja muuttamalla kentän näyttöasetuksia.
Huomasin, että jokaisella näyttöasetuksella oli etuja ja haittoja:
- Google-dokumenttien lukulaite toimi hienosti upotettuna, mutta kun napsautin sen päästäksesi koko näyttöön, päädyin Google Docs -sivuun, joka pyysi anteeksi, että minun korkorajani ylittyi. Oho. Ehkä tämä olisi luotettavampi, jos koukutin moduulin maksamaan Google Apps -tiliä, mutta en vaivaudu selvittämään, koska olin melko varma, että asiakas ei halua näytöstä.
- Pdf.js- vaihtoehto toimi erinomaisesti ... Firefoxilla ja Chromella. Mutta kun käynnistin Internet Explorerin, laatikko ilmestyi tyhjäksi. Ilmeisesti tämä on ongelma pdf.js: n kanssa, ei PDF Reader -moduulista. Oletan, että minun olisi pitänyt odottaa tätä, koska Mozilla on kehittänyt pdf.js: n ja Internet Explorer on itse. Silti olin pettynyt siihen, etten ollut ajatellut vahvistavan, että pdf.js toimi luotettavasti kaikissa selaimissa ensinnäkin.
- Upotusvaihtoehto oli luotettavin. Tämä tosiasiassa suoritti Adobe Readerin ruutuun verkkosivulla. Oma Firefox edelleenkin halusi käyttää pdf.js: tä, mutta mielestäni tämä oli selainasetus. Joka tapauksessa, niin kauan kuin kävijällä oli joko Firefox tai PDF-katseluohjelma, kuten Adobe Reader, PDF näyttäisi.
Näin ollen lopulta minun ratkaisu oli käyttää PDF-lukijaa upotusnäyttöasetuksella . Tämän vaihtoehdon avulla voin liittää PDF Drupal-solmuun ja näyttää sen luotettavasti Drupalin web-sivulla.
Valitettavasti joskus "luotettava" ei riitä. Tämän kaiken etsinnän jälkeen minun piti harkita kolmannen osapuolen palvelua.