PDF'leri görüntülemek için bir Drupal 7 Modülü Nasıl Seçilir

Modül Seçimi Sanatında Bir Vaka Çalışması

Son zamanlarda bir müşteri firmanın Drupal sitesine yeni bir özellik eklememi istedi: tarayıcıda PDF dosyalarını görüntülemek. Drupal.org'daki seçeneklere göz attıkça, bunun yeni bir modül seçerken gerçek karar verme sürecimi belgelemek için mükemmel bir fırsat olduğunu anladım. Her zaman akıllıca modülleri seçmek için söylüyorum ama şimdi bunun gerçek hayatta nasıl çalıştığını görebilirsiniz.

Ne istediğini tanımla

İlk adım, ne istediğinizi tanımlamaktır. Benim durumumda istedim:

Drupal.org'da ara

Bu hedefler göz önünde bulundurulduğunda, bir sonraki adım Drupal.org'da basit bir araştırmaydı. Modül İyiliği'nin Top Çukuruna atlama zamanı.

& # 34; Karşılaştırma & # 34; PDF Modülleri Sayfası

İlk durağım (ya da olmalıydı), bu sayfa: PDF görüntüleyici modüllerinin karşılaştırması. Drupal.org, aynı alandaki çeşitli modüllerin artılarını ve eksilerini özetleyen mükemmel bir dokümantasyon sayfası geleneğine sahiptir. Karşılaştırma sayfalarının merkezi bir listesi vardır, ancak site genelinde de serpilir.

PDF karşılaştırma sayfası dört PDF görüntüleyici modülünü içeriyordu. Onları burada, yanı sıra aradıkları bulduğum birkaç kişiyi de kapsayacağım. Atlamaya karar verdiğim adaylarla başlayacağım.

Şimdi bu modüllerin neden bu proje için çalıştıkları (veya çoğunlukla yapmadıkları) ayrıntılarını inceleyelim.

Dosya Görüntüleyici

File Viewer, İnternet Arşivi bağımlısı olduğum için beni rahatsız eden Internet Archive BookReader'ı kullanıyor. Oraya her gittiğimde, eterden koparabileceğim kitapların dağlarında korku ve boğaz gıdıkları hissediyorum.

Bu söyleniyor, gösteri sitesi bana biraz çirkin görünüyordu. Bununla yaşayabilirim, ama pdf.js çok daha şık görünüyorsa, müşterimden şüphe ettim.

Ayrıca, proje sayfasına ikinci bir bakışta, üstteki büyük cesur duyuruyu gördüm: Bu modül resmi olarak PDF modülüne taşındı . Yeterince adil. 400'den az yüklemeyle, daha popüler PDF modülüyle (bir anda kapsayacağımız) birleştirme, iyi bir hamle gibi görünüyor. Birleştirilmiş / taşınmış / terk edilmiş bir modülü asla indirmeyin.

Google Görüntüleyici Dosya Biçimlendiricisi

Google Görüntüleyici Dosya Biçimlendiricisi, aşağıdaki gibi ses çıkarır: Google Dokümanlarını web sayfanızdaki dosyaların görüntülerini gömmek için kullanmanın bir yolu. Google Dokümanlar'ın çok yönlülüğünü beğenmeme rağmen, hedeflerimden biri üçüncü taraf hizmetlerinden bağımsız kalmaktı.

Ayrıca, bu modül 100'den az yüklemeye sahipti.

Ajax Belge Görüntüleyici

"AJAX" genel bir Javascript terim olmasına rağmen, Ajax Belge Görüntüleyici belirli bir üçüncü taraf hizmetine güvenmek için dışarı çıktı. Sadece yaklaşık 100 yükleme. Hareketli...

Haşlanma PDF'si

Scald PDF'de sadece 40 yükleme vardı, ancak bir bakıma almam gerekti, çünkü (evet) Scald adında daha büyük bir projenin bir parçasıydı. Scald proje sayfasının açıkladığı gibi: " Scald, Drupal'daki Medya Atomlarının nasıl işleneceğine dair yenilikçi bir karardır."

Bu cümle iki büyük kırmızı bayrak çıkardı: "yenilikçi" ve "Atom" ile eşleştirilmiş "Medya" kelimesi. "Atom" açıkçası, "şey" için yeniden adlandırılmış bir sözcüktü; Drupal'ın bu boş kutulu kelimeler için bir tutkusu vardır: Düğüm , varlık , özellik … Daha genel olan sözcük, daha fazla değişime neden olabilir.

Aşağı kaydırdığımda şüphelerim onaylandı. Scald'ın medyayı sitemde nasıl ele aldığımı temel olarak nasıl icat edeceğine dair heyecanlı iddiaları okudum.

Şimdi, gerçek şu ki, Drupal'ın Medya yönetimi bir miktar yeniden keşfetmeyi kullanabiliyordu. Scald bu alandaki tek hırslı proje değil. Ancak, şu ana kadar 1000'den az kurulumla, zemin katına girmek istemedim.

Tabii, gelecek sene bu zamana kadar, Scald sonraki Görüşler olabilir. Bu sallanırdı. Ama aynı zamanda, terkedilmiş kırık sitelerden oluşan küçük bir iz ile terkedilmiş olabilir.

Şimdilik, daha az iddialı ve tehlikeli bir çözümle uğraşmak istedim. Sadece PDF'leri görüntüle lütfen. Bütün istediğim buydu.

Shadowbox

Shadowbox beni şaşırttı: PDF'den görüntülere ve videoya kadar her türlü medyayı görüntülemek için tek bir çözüm olduğunu iddia etti. Bu, Scald kadar geniş kapsamlı değildi çünkü yalnızca medyayı "Medya Atomları" gibi yeni kavramları tanıtmadan sergilemeye odaklanmıştı. Ama ben bahsettiğim gibi, Colorbox'ı çoktan beğendim. Bu kararı tekrar düşünmek istemedim.

Bununla birlikte, 16,000'den fazla yüklemeyle Shadowbox'ın aynı alanda daha güçlü bir alternatif olabileceğini not ettim. Bir göz atmam gerekti.

Shadowbox Drupal modülü temel olarak bir Javascript kütüphanesi olan Shadowbox.js'ye bir köprüdür, dolayısıyla kütüphanenin web sitesini kontrol ettim. Orada, harekete geçmek için iki neden buldum:

İki Yarışmacı: & # 34; PDF & # 34; ve & # 34; PDF Reader & # 34;

Geri kalanını ortadan kaldırarak şimdi iki belirgin yarışmacının yanına geldim: PDF ve PDF Okuyucu

Bu iki projenin temel benzerlikleri vardı:

Farklılıklar ne olacak?

PDF Reader da Google Dokümanlar entegrasyonu için bir seçenek vardı. Bu özel durumda, müvekkilimin bundan hoşlanabileceğini düşündüm, bu yüzden bu seçeneği tercih ettim.

Bu arada, PDF , Arama yapan ortak çalışan (lar) olarak işaretlendi. Bu, geliştiricinin yakında projeyi terk edeceğinin bir işareti olabilir, ancak diğer yandan, en son işlem bir hafta önceydi, bu yüzden en azından geliştirici hala aktifti.

Öte yandan, PDF Reader Aktif olarak tutuldu, ancak en son işlem bir yıl önceydi.

Açık bir kazanan olmadan, ikisini de test etmeye karar verdim.

Yarışmacıların Test Edilmesi

Her iki modülü de canlı sitemin bir kopyasında test ettim. (Bir modülün ne kadar sağlam ve zararsız olduğu fark etmez, asla canlı bir sitede asla denemeyin. Sitenizin tamamını kırabilirsiniz.)

PDF Reader'a karşı önyargılıydım, çünkü PDF'den daha fazla seçeneğe (Google Dokümanlar gibi) sahip görünüyordu. Bu yüzden, önce PDF'yi denemeye karar verdim.

PDF Başarısız: Derleme Gerekli?

Ancak, PDF'yi yüklediğimde ve README.txt dosyasını okuduğumda, proje sayfasında görmediğim ancak göz ardı ettiğim bir sorun keşfettim. Bazı nedenlerden dolayı, bu modül pdf.js'yi manuel olarak derlemenizi gerektiriyor gibi görünüyor. Proje sayfası bunun zorunlu olarak gerekli olmadığını öne sürse de, README.txt bunu önerdi.

PDF Reader bu adımı gerektirmeden aynı kütüphaneyi kullanacağından, her şeyden önce denemeye karar verdim. Eğer işe yaramazsa, her zaman PDF'ye geri dönüp pdf.js'yi elle derlemeye çalışabilirim.

PDF Okuyucu: Başarı! Sırala.

Bu yüzden, en sonunda PDF Reader'ı denedim. Bu modül bir Dosya alanını görüntülemek için yeni bir widget sunar. İstediğiniz içerik türüne bir dosya alanı eklersiniz ve widget türünü PDF Reader'a ayarlarsınız. Ardından, bu türde bir düğüm oluşturur ve PDF'inizi yüklersiniz. PDF, sayfada "kutu" içine gömülü olarak görünür.

İçerik türünü tekrar düzenleyerek ve alanın ekran ayarlarını değiştirerek farklı görüntü seçeneklerini deneyebilirsiniz.

Her görüntü seçeneğinin artı ve eksileri olduğunu gördüm:

Sonuç olarak, çözümüm PDF Reader'ı Embed ekran seçeneği ile kullanmaktı. Bu seçenek bir Drupal düğümüne bir PDF eklememi ve bir Drupal web sayfasında güvenilir bir şekilde görüntülememi sağlar.

Ne yazık ki, bazen "güvenilir" yeterli değildir. Bütün bu aramalardan sonra, bir üçüncü taraf hizmeti düşünmem gerekiyordu.