Studija slučaja u odabiru moda umetnosti
Nedavno, klijent me je zamolio da dodam novu funkciju na Drupal sajt kompanije: prikaz PDF datoteka u pregledaču. Dok sam pregledao opcije na drupal.org, shvatio sam da je ovo sjajna prilika da dokumentujem svoj stvarni proces donošenja odluka dok sam izabrao novi modul . Uvek kažem da mudro odaberem module , ali sada vidim kako mislim da ovo radi u stvarnom životu.
Definišite šta želite
Prvi korak je definisanje onoga što želite. U mom slučaju, želio sam:
- Mogućnost prikazivanja PDF datoteka u veb pregledaču, slično ovom primeru. Klijent bi otpremio PDF-ove biltena kompanije, a posetioci bi mogli lako da ih čitaju.
- Stranica je Drupal 7 , tako da modul treba da odgovara toj glavnoj verziji . (Drupal 7 je već neko vreme napustio, pa ako developer modula još nije izašao sa Drupal 7 verzijom, verovatno neće.)
- Iako klijent to nije naznačio, takođe sam želeo da izbegavam da se oslanjam na usluge treće strane. Za video zapise, rado objavljujem sadržaj na YouTube-u ili Vimeo-u, a zatim ga ugradjujem na Drupal sajt, ali za PDF-ove, nisam mislio da bi eventualna dodatna izloženost nadmašila potencijalnu nesreću, lomljenje i trošak. Međutim, bio sam otvoren za treću službu ako je to bila jedina opcija.
- Uprkos mojoj želji da izbegnem usluge treće strane, znala sam da bi moj izbor verovatno trebao biblioteku Javascript treće strane. Iako bi ovo dodalo dodatni korak u vezi sa budućim nadogradnjama, uglavnom se osećam bolje da pokrenem sopstvenu kopiju biblioteke umesto da se oslanjam na treće službe.
- Želela sam da modul držim što lakše i specifičnije. Nisam želeo da se uključim sa nekim radikalno novim načinom rukovanja ili organizovanja medijskih datoteka. Želela sam nešto više kao Colorbox, koja uvećava slike za bolje gledanje, ali ostaje potpuno nezavisna od toga kako odlučite da upravljate datotekama slika. Imao sam osećaj da će ova biblioteka biti pdf.js, ali sam bio otvoren za druge mogućnosti.
- Kao i obično, želeo sam da pratim opšte smernice za izbor Drupal modula. U suštini, izaberite modul koji već nekoliko hiljada ljudi koristi (ako je moguće) na neko vreme, uz minimalne zavisnosti, koje izgleda održava aktivni programer koji planira da nastavi da podržava projekat u budućnosti, Ne zahtevaju naknadu za licenciranje.
Pretražite Drupal.org
Imajući u vidu ove ciljeve, sljedeći korak je bila jednostavna pretraga na Drupal.org. Vrijeme je da skočite u kuglu modula Goodness.
& # 34; Upoređivanje & # 34; Strana za PDF module
Moja prva stanica bila je (ili trebala biti) ova stranica: upoređivanje modula PDF-a. Drupal.org ima izvrsnu tradiciju dokumenata na stranicama, koji prikazuju prednosti i slabosti različitih modula u istom prostoru. Postoji centralni spisak stranica za upoređivanje, ali oni su također posuti na celom sajtu.
Stranica za upoređivanje PDF-a uključivala je četiri modula za pregledanje PDF-a. Ja ću ih pokriti ovde, kao i par drugih koji sam našao od pretraživanja. Počeću sa kandidatima za koje sam odlučio da preskočim.
Sada ćemo se upustiti u specifičnosti zašto su ti moduli učinili (ili uglavnom nisu) radili za ovaj projekat.
Pregledač datoteka
File Viewer koristi Internet Archive BookReader, koji me je zaintrigirao zato što sam narkoman za Internet arhivu. Svaki put kad odem tamo, osjećam se gomilu straha i srušiti se na planinama knjiga koje mogu da se izvučem iz etra.
Naime, demonstraciona stranica mi je izgledala ružno. Možda ću živeti s tim, ali sam se sumnjao da će moj klijent, kada pdf.js izgleda mnogo više stilski.
Takođe, na drugom pogledu na stranicu projekta, vidio sam veliku hrabru poruku na vrhu: Ovaj modul je formalno premešten u PDF modul . Pošteno. Sa manje od 400 instalacija, spajanje sa popularnijim PDF modulom (koji ćemo pokriti za trenutak) izgleda kao dobar potez. Nikada ne preuzmite modul koji je spojen / premješten / napušten.
Google Former File Formatter
Google Viewer File Formatter je ono što zvuči: način korištenja Google dokumenata za ugrađivanje prikaza datoteka na vašoj web stranici. Iako mi se sviđala svestranost Google dokumenata, jedan od mojih ciljeva bio je da ostane nezavisno od bilo kog drugog servisnog servisa.
Takođe, ovaj modul je imao manje od 100 instalacija.
Ajax Document Viewer
Iako je "AJAX" opšti izraz za Javascript, Ajax Document Viewer ispostavio se da se oslanja na određenu uslugu treće strane. Samo oko 100 instalacija. U pokretu ...
Scald PDF
Scald PDF je imao samo 40 instalacija, ali morao sam da pogledam, jer je to bio dio većeg projekta nazvanog (da) Scald. Kako je Scaldova stranica objasnila: " Scald je inovativan način kako se nositi sa Atomima medija u Drupalu."
Ta rečenica pokrenula je dve ogromne crvene zastavice: "inovativni uzimaj" i reč "Mediji" uparena sa "Atomom". "Atom" je očigledno bila repurzivna reč za "stvar", što ga je činila crvenom zastavom. Drupal ima sklonost za ove prazne kutije vrste reči: čvor , entitet , funkcija ... Što je riječ sveobuhvatnije, moguće je više promjeniti promjene.
Dok sam skrolovao, moje sumnje su potvrđene. Čitao sam uzbuđene tvrdnje o tome kako će Scald u osnovi otkriti kako sam upravljao medijima na mom sajtu.
Sada, istina je da Drupalovo upravljanje medijima može iskoristiti neke izmene. Scald nije jedini ambiciozni projekat u ovom prostoru. Međutim, sa manje od 1000 instalacija do sada, nisam želeo da uđem u prizemlje.
Naravno, do ovog puta sledeće godine, Scald bi mogao biti sledeći pogledi . To bi stvorilo. Međutim, to može biti i opušteno, sa (malim) tragovima slomljenih lokacija koje su ostavljene da plače.
Za sada sam želeo da se držim manje ambicioznog i opasno rešenja. Samo prikaz PDF-a, molim. To je sve što sam pitao.
Shadowbox
Shadowbox me je iznenadio: tvrdio je da je jedno rješenje za prikaz svih vrsta medija, od PDF-a do slika na video. Ovo nije bilo tako brzo kao Scald, jer bi se samo fokusirao na prikazivanje medija bez uvođenja čitavih novih koncepata kao što su "Media Atoms". Ali već mi se sviđa Colorbox, kao što sam pomenuo. Nisam želeo da preispitam tu odluku.
Međutim, primetio sam (sa unutrašnjim stankom) da sa preko 16.000 instalacija, Shadowbox može biti moćnija alternativa u istom prostoru. Morao sam da pogledam.
Shadowbox Drupal modul je u osnovi most u Javascript biblioteku, Shadowbox.js, pa sam odjavio veb lokaciju biblioteke. Otkrio sam dva razloga za kretanje:
- Biblioteka zahteva naknadu za komercijalnu upotrebu. Naknada je bila dovoljno razumljiva, ali pokušavam da izbegnem otvoreni softver koji nije besplatan .
- Pažljivo pretraživanje FAQ često je otkrilo da, u suprotnosti sa opisom na Drupal modulu, biblioteka Shadowbox nije 100% podržana od PDF-a. Ups. Dobro je što sam proverio.
Dva kandidata: & # 34; PDF & # 34; i & # 34; PDF Reader & # 34;
Nakon što sam eliminisao ostalo, došao sam do dva očigledna kandidata: PDF i PDF čitač
Ova dva projekta su imala ključne sličnosti:
- Obojica su imala skoro 3.000 instalacija, mnogo više od alternativa (osim Shadowbox-a).
- Obe su koristile istu biblioteku Javascripta, pdf.js.
Šta je sa razlikama?
PDF čitač je takođe imao mogućnost integracije Google dokumenata. U ovom konkretnom slučaju, mislio sam da će moj klijent to dopasti, pa mi se dopalo da imam mogućnost.
U međuvremenu, PDF je označen kao Tražiti ko-održavalac (e). To bi moglo biti znak da će programer uskoro napustiti projekat, ali s druge strane, najnovija obaveza je pre nedelju dana, pa je bar programer još uvijek bio aktivan.
S druge strane, PDF čitač je označen kao aktivno održavan, ali je najnovija obaveza bila pre godinu dana.
Bez jasnog pobednika, odlučio sam da ih testiram oboje.
Testiranje kandidata
Testirao sam oba modula na kopiji mog živog sajta. (Bez obzira koliko se modni i bezopasni modul pojavljuje, nikada ga ne pokušavajte prvo na živoj stranici, mogli biste da razbijete čitavu stranicu.)
Bio sam pristrasan prema PDF Readeru , jer se činilo da ima više opcija (kao što je Google Docs) od PDF-a . Stoga sam odlučio da prvo pokušam PDF-u , da ga izvučem s puta.
PDF Fail: Kompilacija je obavezna?
Međutim, kada sam instalirao PDF i pročitao README.txt, otkrio sam problem koji sam video, ali sam ignorisao na projektnoj stranici. Iz nekog razloga, čini se da ovaj modul zahteva ručno sakupljanje pdf.js-a. Iako je stranica projekta predložila da ovo nije nužno potrebno, README.txt je predložio da je to bilo.
Budući da će PDF čitač koristiti istu biblioteku bez potrebe za ovim koracima, odlučio sam da pre svega pokušam. Ako to nije uspelo, uvijek bih se mogao vratiti u PDF i pokušati ručno sakupljati pdf.js.
PDF čitač: uspjeh! Sorta od.
Tako da sam na kraju pokušao PDF čitač . Ovaj modul pruža novi widget za prikazivanje polja File. Dodate polje za fajlove željenom tipu sadržaja i podesite vrstu vidžeta u PDF čitač. Zatim kreirate čvor ove vrste i otpremite PDF. PDF se pojavljuje ugrađeno u "okvir" na stranici.
Možete probati različite opcije prikaza tako što ćete ponovo uređivati tip sadržaja i promijeniti postavke ekrana za polje.
Otkrio sam da svaka displej ima prednosti i slabosti:
- Čitač Google dokumenata je dobro funkcionisao kao embedu, ali kada sam je kliknula na celu ekran, završila sam na stranici Google dokumenata koja se izvinila da je moj limit za stopu prekoračen. Ups. Možda bi to bilo pouzdano ako bih priključio modul na plaćanje Google Apps naloga, ali nisam se trudio da saznam, jer sam bio prilično siguran da moj klijent ne bi voleo prikaz.
- Opcija pdf.js je odlično radila ... na Firefoxu i Chrome-u. Ali kada sam otpustio Internet Explorer, kutija se pojavila kao prazna. Očigledno, ovo je problem sa samim pdf.js-om, a ne sa PDF čitačem . Pretpostavljam da sam trebao to očekivati, s obzirom da je pdf.js razvila Mozilla i Internet Explorer je ... sama. Ipak, bio sam razočaran što nisam pomislio da potvrdim da je pdf.js pouzdano radio na svim pretraživačima.
- Opcija ugrađivanja bila je najpouzdanija. Ovo je zapravo pokrenulo Adobe Reader u kutiji na web stranici. Moj Firefox još uvijek je voleo da pokreće pdf.js, ali mislim da je ovo bilo podešavanje pretraživača. U svakom slučaju, sve dok posetioc ima Firefox ili pregledač PDF-a kao što je Adobe Reader, PDF bi se prikazao.
Na kraju, moje rešenje je bilo da koristite PDF čitač sa opcijom Embed display. Ova opcija bi mi omogućila da priložim PDF u Drupal čvor, i pouzdano ga prikazuje na Drupal web stranici.
Nažalost, ponekad "pouzdan" nije dovoljan. Posle svega ovoga, morao sam ipak razmotriti uslugu treće strane.