In saakstúdzje yn 'e keunstakeling fan seleksje
Feroarsk frege in kliïnt om in nije funksje oan te meitsjen oan 'e Drupal-site: bedriuw PDF-bestannen yn' e browser sjen litte. As ik de opsjes op drupal.org besochte, realisearre ik dat dit in perfekte kâns wie om myn echte beslútfoarming te dokuminten as ik in nije module keazen . Ik jou altyd te sizzen om middels wis te kiezen , mar no kinne jo sjen hoe't ik tinke dat dit wurket yn it echte libben.
Define wat jo wolle
De earste stap is om te definiearjen wat jo wolle. Yn myn saak woe ik:
- De mooglikheid om PDF-bestannen yn in webblêder te sjen, lykas dit foarbyld. De kliïnt soe PDFs fan it bedriuw nijsbrief oanmeitsje, en de besikers soene kinne se maklik lêze.
- De side is Drupal 7 , dus soe it module wêze moatte dat grutte ferzje . (Drupal 7 is no al in pear kear, dus as in moduleûntwikkeler noch net mei in ferzje fan Drupal 7 komt, wierskynlik net.)
- Hoewol de kliïnt dit net oanjûn, woe ik ek miskien opjaan op in tsjinst fan tredden. Foar fideo's bin ik bliid dat de ynhâld nei YouTube of Vimeo pleatst en dêrnei in Drupal-site ynstjit, mar foar pdf, ik tocht net dat it mooglik ekstra eksposysje de potinsjele krêft, brek, en kosten fergruttet. Mar ik wie iepen foar in tredde tsjinst as it de ienige opsje wie.
- Nettsjinsteande myn winsk om in tsjinsten fan tredden te vermeide, wist ik, dat myn keuze wierskynlik in Javascript- biblioteek fan tredden frege. Hoewol dat dit in ekstra stap foar takomstige ferbetterings taheakje soe, fiele ik meastentiids better oer it útfieren fan myn eigen eksimplaar fan in biblioteek, mar net op in tsjinst fan tredden.
- Ik woe it modul as ljocht en spesifyk mooglik makken. Ik woe net belutsen wurde mei guon radikale nije manier of handling of organisearje mediadateken. Ik woe wat mear as Colorbox, wat fergrutte byld foar bettere besjen, mar bliuwt folslein ûnôfhinklik fan hoe't jo kieze om de byldbestanden beheare te kinnen. Ik hie in hûn dat dizze biblioteek pdf.js wêze soe, mar ik wie iepen foar oare mooglikheden.
- As gewoanlik woe ik de algemiene rjochtlinen folgje foar it kiezen fan in Drupal module. Yn 't gefal kies in module dy't al brûkt wurdt troch in pear tûzen minsken (as mooglik) foar in skoft, mei in minimum ôfhinklikheid, dy't liket te hâlden wurde troch in aktive ûntwikkelder dy't plannen om it projekt stipe te hâlden yn' e takomst en net ' t freegje in fergunningfergoeding.
Sykje op Drupal.org
Mei dizze doelen yn 'e geast wie de folgjende stap in ienfâldige sykjen op Drupal.org. Tiid om te springen yn 'e Ball Pit of Modules Goodness.
& Feroaring & # 34; Side foar PDF-modules
Myn earste stop wie (of moat wêze), dizze side: in fergeliking fan PDF-sjabloanen. Drupal.org hat in poerbêste tradysje fan dokumintaasje siden dy't de prins en ynstân fan ferskate modules yn deselde romte skine. Der is in sintrale list fan fergelykbere siden, mar se wurde ek oerstutsen troch de side.
De PDF fergelykjende side befette fjouwer PDF-viewer-modules. Ik sil se hjir besjen, en ek in pear oaren dy't ik fûn. Ik begjin mei de kandidaten dy't ik besleat te skipen.
Litte wy no yn 'e spesifiken delfalle, wêrom't dizze modules dit (of meast meast net) wurkje foar dit projekt.
Triembehearder
File Viewer brûkt it Internet Archive BookReader, dy't my yntrigearret om't ik in Internet Archive junkie bin. Elke kear as ik dêr geane, fiel ik kikkels fan 'e freze en oerwelmje yn' e bergen fan boeken dy't ik fan 'e eter útbrekke kinne.
Dat sei, de demonstreek seach my in bytsje ûnsjoch. Ik kin mei dy libje, mar ik wielde dat myn klant soe, as pdf.js sa folle stillerich sjocht.
Ek op in twadde sjoch op 'e projekt side, seach ik de grutte kâlde oankundiging boppe: Dizze module is ferpleatst nei PDF module . Earlik genôch. Mei minder as 400 ynstallaasjes, ferdwynt mei it populêrere PDF-module (wat wy yn in momint besykje), liket in goeie beweging. Nea download in module dy't fusearre / ferhuze / oplost is.
Google Viewer triem formater
Google Viewer File Formatter is wat it liket: in manier om Google Docs te brûken om bylden fan bestannen op jo webside te ferstjoeren. Hoewol ik de ymportaasje fan Google Docs mochte, wie ien fan myn doelen in ûnôfhinklikens fan alle tsjinsten fan tredden.
Ek dit modul hie minder dan 100 ynstallaasjes.
Ajax Document Viewer
Hoewol "AJAX" is in algemien Javascript-term, Ajax dokument werjefte hat him ta stân brocht op in spesifike tsjinst fan tredden. Allinnich sa'n 100 ynstallaasjes. Fierder gean...
Scald PDF
Scald PDF hie allinne 40 ynstallaasjes, mar ik moast in sjogge, om't it dúdlik diel wie fan in grutter projekt neamd (ja) Scald. As 't Scald projekt side ferklearre: " Scald is in ynnovative nimme om hoe't Media Atoms yn Drupal behannele wurde."
Dy sin krige twa grutte reade flaggen: "ynnovative take" en it wurd "Media" ferparte mei "Atom". "Atom" wie fansels in weropsteld wurd foar "ding", dat alle kearen in reade flagge makke. Drupal hat in trekker foar dizze leechkastige soartwurden: knooppunt , entiteit , funksje ... De algemien it wurd, de mear fjirder kin de wizigingen wêze.
As ik skodde, waarden myn fertrouwen befêstige. Ik lêze ynljochte behoeften fan hoe't Scald yn 't foarljochting werombetelje soe hoe't ik Medias op myn side behannele.
No, de wierheid is dat Drupal's Media-handling in pear ynventarisaasje brûke kin. Scald is net it iennichste ambisjeus projekt yn dizze romte. Mar mei minder as 1000 ynstallaasjes hat ik oant no ta net yn 'e boaiem te krijen.
Soar, by dizze tiid kommende jier, soe Scald de folgjende Views wêze . Dat soe rock wêze. Mar it kin ek ôflaat wêze, mei in (lyts) trail fan brutsen pleatsen te bliuwen.
Foar no woe ik mei in folle minder ambisjeuze en perilige oplossing stean. Sjoch allinich PDFs oan, bitte. Dat is alles wat ik frege.
Shadowbox
Shadowbox ferrast my: it bewiis dat in inkele oplossing wêze om alle soarten media sjen te litten, fan pdf's nei ôfbyldings nei fideo. Dit wie net sa skodzjen as Scald, om't it allinoar rjochtsje soe op it toanen fan media sûnder yntrodusearjen fan nije nije konsepten lykas "Media Atoms". Mar ik hie al graach Colorbox, lykas ik neamde. Ik woe net wolle dat beslút te reitsjen.
Dochs haw ik oanmerke (mei in ynterieur) dat mei mear as 16.000 ynstallaasjes, Shadowbox in folle alternatyf alternatyf wêze kin op deselde romte. Ik moast in look sjen.
It module fan Shadowbox Drupal is yn haadsaak in brêge nei in Javascript-bibliotheek, Shadowbox.js, dus haw ik de webside fan 'e bibleteek kontrolearre. Dêr ûntduts ik twa reden om nei te gean:
- De biblioteek freget in fergunningferliening foar kommersjele brûken. De fergoeding wie rjochtfold genôch, mar ik besykje te meitsjen fan open-source software dat net fergees is .
- In sertifisearjend sykjen fan 'e FAQ die bliken dat, yn contraty mei de beskriuwing op de side fan Drupal, gjin PDF-siden binne 100% stipe troch de biblioteek fan Shadowbox. Oops. Goed ding dat ik kontrolearre.
De Twa Contenders: & # 34; PDF & # 34; en PDF Reader & # 34;
Nei't de rêst útskeakele wie, kaam ik no nei de twa offensjele konkurrinten: PDF en PDF Reader
Dizze twa projekten hiene wichtige oanienheden:
- Beide hiene hast 3.000 ynstallaasjes, fier mear as de alternativen (útsein Shadowbox).
- Beide brûkten deselde eksterne Javascript-bibleteek, pdf.js.
Wat oer ferskillen?
PDF Reader hie ek de opsje foar Google Docs-yntegraasje. Yn dit bepaalde saak, tocht ik, dat myn klant dit sa graach hie, dus hie ik de opsje fan 'e opsje.
Ûnderwilens waard PDF markearre as sykjende ûnderhâlder (s). Dat soe in teken wêze dat de ûntwikkelders al gau it projekt ferlit, mar oan 'e oare kant wie it lêste fergoed in wike lyn, dus minstens de ûntwikkeler wie noch altyd aktyf.
Oan 'e oare kant wie PDF Reader as aktyf ûnderhâlden markearre, mar de lêste resulteur wie in jier lyn.
Sûnder in dúdlike winner haw ik besletten om se beide te hifkjen.
Testen fan 'e Contenders
Ik teste beide modules op in kopy fan myn live-side. (Lykas geweldich en ûnbedoeld in module sil wêze, nea probearje it earst op in live side. Jo kinne jo hiele side brekke.)
Ik waard ferparte nei PDF-lêzer , omdat it liket mear opsjes (lykas Google Docs) as PDF hawwe . Dêrom besleat ik it earste pdf te probearjen, om it út 'e wei te krijen.
PDF-fout: ferplichte kompilaasje?
Wannear't ik PDF ynstallearre en README.txt lêze, haw ik in probleem ûntdutsen dat ik sjoen hie, mar negearret op 'e projekt side. Foar guon reden, dit module liket te ferfangen dat jo pdf.js manuell meitsje. Hoewol't de projektideaam derfoar soarge dat dit net folle nedich wie, leegde README.txt it oan.
Om't PDF Reader de krekte selde bibleteek brûke soe sûnder dat dizze stap te ferfangen, besleat ik it foar it earst probearje te kinnen. As it net wurke, koe ik altyd weromhelje nei PDF en besykje it pdf.js te meitsjen fan manuell.
PDF-lêzer: Súkses! Soarte fan.
Dus, ik bin lang lêst, probearre ik PDF Reader . Dit module jout in nij widget foar it werjaan fan in Triemfjild. Jo taheakje in triemfjild oan jo winske ynhâldtype en set de widgettype yn PDF-lêzer. Dan meitsje jo in knooppunt fan dit type en upload jo PDF. De PDF ferskynt yn in "fak" yn 'e side ynsteld.
Jo kinne ferskate display-opsjes besykje troch it werjaan fan it ynhâldtype en it feroarjen fan de display-ynstellings foar it fjild.
Ik fûn dat elke display opsje pre-en-konsint:
- De Google Docs- lêzer wurke goed as in ynbett, mar doe't ik it klikke om folslein skerm te gean, wrak ik op in Google Docs-side dy't ferwûndere dat myn rintlimimens oertsjinne waard. Oops. Faaks soe dit mear betrouwens wêze as ik it module foar in betelle Google Apps-akkount hokke, mar ik stie net oan om te finen, lykas ik wie wis wis dat myn klant it byld net leukje soe.
- De pdf.js- opsje wurke geweldich ... op Firefox en Chrome. Mar doe't ik de Internet Explorer fjoerde, kaam it fekje leech. Miskien is dit in probleem mei pdf.js sels, net it PDF- readermodul. Ik tocht, ik soe dat ferwachte hawwe, jûn dat pdf.js troch Mozilla ûntwikkele en Internet Explorer is ... sels. Noch altyd wie ik teleurgesteld dat ik net tocht hie te befestigjen dat pdf.js betrouber yn alle browsers op it earste plak wurke.
- De opsje embed wie de meast betrouber. Dit die eigentlik Adobe Reader yn in fekje op 'e webside. My Firefox bestiet noch altyd foar pdf.js út, mar ik tink dat dit in browserynstelling wie. Alwerwei, sa lang as in besiker hat Firefox of in PDF-besiker lykas Adobe Reader, soe de PDF werjaan.
Sa, yn 'e ein, wie myn oplossing de PDF Reader te brûken mei de Ynlaad- opsje-opsje. Dizze opsje soe meidwaan meie in PDF oan in Drupal-knooppel te befestigjen, en befetsje op in webstee fan Drupal.
Spitigernôch, soms "betroud" is net genôch. Nei allegear dit sykjen moast ik nei allegear in tsjinstferliening tsjinje.