یک مطالعه موردی در هنر انتخاب ماژول
اخیرا یک مشتری از من خواسته است یک ویژگی جدید را به سایت دروپال شرکت اضافه کند: فایلهای PDF را در مرورگر نمایش دهد. همانطور که گزینه های در drupal.org را مرور کردم، متوجه شدم که این یک شانس کامل برای ثبت فرآیند تصمیم گیری واقعی من بود، به عنوان من یک ماژول جدید را انتخاب کردیم. من همیشه میگفتم که ماژول ها را با عجله انتخاب کنیم ، اما حالا می توانید ببینید که چگونه فکر می کنم این در زندگی واقعی کار می کند.
تعریف آنچه می خواهید
اولین قدم این است که آنچه را که میخواهید تعریف کنید. در مورد من، من می خواستم:
- توانایی مشاهده فایلهای پی دی اف در یک مرورگر وب، شبیه به این مثال. مشتری فایل های PDF را از خبرنامه شرکت آپلود می کند و بازدیدکنندگان می توانند به آسانی آنها را بخوانند.
- سایت دروپال 7 است ، بنابراین ماژول باید آن نسخه اصلی را مطابقت دهد. (دروپال 7 تا به حال در حال حاضر است، بنابراین اگر یک توسعهدهنده ماژول با نسخه ی دروپال 7 عرضه نشده باشد، احتمالا نمی شود.)
- اگر چه مشتری این را مشخص نکرده است، همچنین می خواستم از تکیه بر سرویس شخص ثالث اجتناب کنم. برای فیلم ها، من خوشحالم که مطالب را به YouTube یا Vimeo بفرستم و سپس آن را در یک سایت دروپال قرار دهم، اما برای فایل های PDF، من فکر نمی کنم که قرار گرفتن در معرض احتمالی ممکن است بدون هیچ زحمتی، خرابی و هزینه بالاتری باشد. با این حال، من تنها برای یک سرویس شخص ثالث باز بودم.
- علی رغم آرزوی من برای جلوگیری از سرویس شخص ثالث، می دانستم که انتخاب من احتمالا به یک کتابخانه جاوا اسکریپت شخص ثالث نیاز دارد . اگر چه این یک گام اضافی در ارتقاء آینده است، من به طور کلی احساس میکنم در مورد کارکرد کپی خود از یک کتابخانه بهتر است، نه اینکه به خدمات شخص ثالث بپیوندم.
- من می خواستم این ماژول را به عنوان سبک و وزن به عنوان امکان پذیر نگه داریم. من نمی خواستم با برخی از روش های کاملا جدید مدیریت یا سازماندهی فایل های رسانه ای مشارکت کنم. من چیزی شبیه Colorbox می خواهم، که تصاویر را برای مشاهده بهتر می کند، اما به طور کامل از نحوه انتخاب فایل های تصویری به طور کامل مستقل است. من داشتم این کتابخانه را pdf.js می کردم، اما برای امکانات دیگر باز بود.
- به طور معمول، می خواستم دستورالعمل های کلی برای انتخاب یک ماژول دروپال را دنبال کنید. اساسا، یک ماژول را انتخاب کنید که در حال حاضر در چندین هزار نفر (در صورت امکان) برای حداقل مدت وابستگی ها استفاده می شود، که به نظر می رسد توسط یک توسعه دهنده فعال پشتیبانی می شود که قصد دارد حمایت از پروژه را در آینده حفظ کند و آیا " T نیاز به هزینه صدور مجوز است.
جستجو در Drupal.org
با در نظر گرفتن این اهداف، قدم بعدی جستجوی ساده در Drupal.org بود. زمان برای پریدن به توپ گودال ماژول Goodness.
& # 34؛ مقایسه & # 34؛ صفحه برای ماژول های PDF
اولین مرحله من این بود: ((یا باید))، این صفحه: مقایسه ماژولهای بیننده PDF. Drupal.org یک سند عالی از صفحات مستنداتی را ارائه می دهد که مزایا و معایب ماژول های مختلف را در یک فضا مشخص می کند. یک لیست مرکزی از صفحات مقایسه وجود دارد، اما آنها نیز در سراسر سایت پراکنده هستند.
صفحه مقایسه PDF شامل چهار ماژول نمایشگر PDF بود. من آنها را اینجا قرار می دهم، و همچنین چند زن دیگر که از جستجو پیدا کردم. من با نامزدهای شروع می کنم که تصمیم می گیرم.
حالا اجازه دهید به جزئیات این که چرا این ماژول ها (یا بیشتر) برای این پروژه کار می کنند، غرق می شود.
نمایشگر فایل
فایل Viewer با استفاده از بایگانی اینترنتی BookReader، که من را جذاب می کند، زیرا من یک آرشیو اینترنت آرشیو هستم. هر بار که به آنجا بروم، احساس می کنم از ترس و غرق شدن در کوه های کتاب هایی که می توانم از اتر بیرون بیاورم.
به گفته این سایت تظاهرات، کمی زشت به نظر من رسید. ممکن است با آن زندگی کنم، اما وقتی مشتری pdf.js خیلی شیک تر به نظر می رسد، مشتری من شک دارد.
همچنین، در نگاه دوم به صفحه پروژه، من بزرگترین بیانیه در بالا را دیدم: این ماژول به طور رسمی به ماژول PDF منتقل شده است . به اندازه کافی نمایش داده می شود با کمتر از 400 نصب، ادغام با ماژول PDF محبوب تر (که ما در یک لحظه پوشش)، به نظر می رسد حرکت خوب است. هرگز یک ماژول که ادغام شده / منتقل شده / رها شده را دانلود نکنید.
قالب فایل Google Viewer
Formatter File Viewer Google چیزی است که به نظر می رسد: روش استفاده از Google Docs برای نمایش صفحات فایل در صفحه وب شما. اگر چه من متناقض اسناد Google را دوست داشتم، یکی از اهداف من این بود که مستقل از خدمات شخص ثالث باقی بماند.
همچنین این ماژول کمتر از 100 نصب داشت.
Ajax Document Viewer
اگرچه "AJAX" یک اصطلاح عمومی Javascript است، نمایش دهنده اسناد Ajax تبدیل به تکیه بر سرویس خاص شخص ثالث شد. فقط حدود 100 نصب می شود. حرکت ...
اسکالد PDF
اسکالد PDF تنها 40 نصب داشت، اما من مجبور بودم نگاهی بیاندازم، زیرا این موضوع به وضوح بخشی از یک پروژه بزرگتر به نام (بله) اسکالد بود. همانطور که صفحه پروژه اسکالد توضیح داد: " اسکالد یک نوآورانه در مورد چگونگی برخورد با اتم های رسانه در دروپال است."
این جمله دو پرچم قرمز بزرگ را به وجود آورد: "ابتکار عمل" و کلمه "رسانه" با "Atom" همراه است. "اتم" به وضوح یک کلمه بازتعریف شده برای "چیزی" بود، که آن را یک پرچم قرمز به خود اختصاص داد. دروپال برای این کلمات نوع خالی جعبه دارای خواسته است: گره ، نهاد ، ویژگی ... به طور کلی کلمه، بیشتر تغییرات ممکن است.
همانطور که من رفتم، سوء ظن هایم تایید شد. من خواسته های هیجان زده از چگونگی اسکالد اساسا بازآفرینی چگونه من رسانه ها در سایت من است.
در حال حاضر، حقیقت این است که اداره رسانه های دروپال می تواند از تجدیدنظر استفاده کند. اسکالد تنها پروژه جاه طلبی در این فضا نیست. با این حال، با کمتر از 1000 نصب تا کنون، من نمی خواستم در طبقه پایین قرار بگیرم.
مطمئنا، تا این زمان در سال آینده، اسکالد ممکن است Views بعدی باشد. که سنگ می زنه اما ممکن است آن را نیز نادیده بگیرد، با یک دنباله کوچک (کوچک) از سایت های شکسته که گریه می کنند.
در حال حاضر، من می خواستم با یک راه حل بسیار جاه طلبانه و خطرناک روبرو شویم. فقط فایل های PDF را نمایش می دهد لطفا این همه چیزی بود که من ازش پرسیدم
Shadowbox
Shadowbox من را شگفت زده کرد: ادعا کرد که یک راه حل منحصر به فرد برای نمایش انواع رسانه ها، از فایل های PDF به تصاویر به ویدیو است. این به اندازه Scald نیست، زیرا تنها بر روی نمایش رسانه ها تمرکز می کند بدون معرفی مفاهیم جدید مانند "Atom Media". اما من قبلا Colorbox را دوست دارم، همانطور که اشاره کردم. من نمی خواستم دوباره تصمیم بگیرم.
با این حال، من متوجه شدم که با بیش از 16،000 نصب، Shadowbox می تواند یک جایگزین قوی تر در همان فضا باشد. مجبور شدم نگاهش کنم
ماژول Shadowbox دروپال اساسا یک پل به یک کتابخانه جاوا اسکریپت، Shadowbox.js است، بنابراین من وب سایت کتابخانه را چک کردم. در آنجا، من دو دلیل را برای حرکت در بر داشتم:
- کتابخانه نیاز به هزینه مجوز برای استفاده تجاری دارد. این هزینه به اندازه کافی منطقی بود، اما من سعی کردم از نرم افزار منبع باز که آزاد نیست اجتناب کنم .
- جستجوی دقیق پرسشهای متداول نشان داد که بر خلاف توضیحات در صفحه ماژول دروپال، PDF های 100٪ توسط کتابخانه Shadowbox پشتیبانی نمی شوند. اوه چیز خوب من چک کردم
دو متقاضی: & # 34؛ PDF & # 34؛ و & # 34؛ خواننده PDF & # 34؛
پس از از بین بردن استراحت، من هم اکنون به دو داوطلب آشکار: PDF و PDF Reader
این دو پروژه دارای شباهت های کلیدی بودند:
- هر دوی آنها حدود 3000 نصب داشتند، بسیار بیشتر از گزینه های (به جز Shadowbox).
- هر دو از همان کتابخانه جاوا اسکریپت خارجی، pdf.js استفاده می کردند.
در مورد تفاوت ها چه می گویید؟
PDF Reader همچنین گزینه ای برای ادغام Google Docs را داشت. در این مورد خاص، فکر می کردم مشتری من ممکن است آن را دوست داشته باشد، بنابراین من دوست داشتن گزینه.
در همین حال، PDF به عنوان دنبال همکاری کننده (ها) مشخص شد. این می تواند نشانه ای از این باشد که توسعه دهنده به زودی پروژه را ترک می کند، اما از سوی دیگر، اخطار اخیر یک هفته پیش بود، بنابراین حداقل توسعه دهنده هنوز فعال بود.
از سوی دیگر، PDF Reader به عنوان فعال نگهداری شد، اما اخیرا مرتکب یک سال پیش بود.
بدون یک برنده روشن، تصمیم گرفتم هر دو را امتحان کنم.
تست رقبا
من هر دو ماژول را در یک کپی از سایت زندگی من تست کردم. (مهم نیست که چگونه یک ماژول به طور جامد و بی خطر تولید می شود، هرگز آن را در یک سایت زنده سعی نکنید. شما می توانید تمام سایت خود را شکستن.)
من نسبت به PDF Reader متضاد بودم، به نظر می رسید که گزینه های بیشتری (مانند Google Docs) از PDF وجود دارد . بنابراین، تصمیم گرفتم برای اولین بار از پی دی اف به منظور جلوگیری از آن استفاده کنم.
شکست PDF: تدوین مورد نیاز است؟
با این حال، هنگامی که PDF را نصب کردم و README.txt را خوانده ام، مشکلاتی را دیدم که در صفحه پروژه مشاهده کردم، اما نادیده گرفته شدم. به دلایلی، به نظر میرسد این ماژول شما را به صورت دستی کامپایل pdf.js کنید. اگر چه صفحه پروژه پیشنهاد کرد که این لزوما مورد نیاز نیست، README.txt پیشنهاد کرد که این بود.
از آنجاییکه PDF Reader از همان کتابخانه مورد نیاز بدون نیاز به این مرحله استفاده می کند، تصمیم گرفتم آن را برای اولین بار امتحان کنم. اگر این کار نکرد، من همیشه می توانم به PDF برگردم و سعی کنم دستی pdf.js را کامپایل کنم.
PDF Reader: موفقیت! مرتب سازی بر
بنابراین، در نهایت، من PDF Reader را امتحان کردم. این ماژول یک ویجت جدید برای نمایش یک فیلد File فراهم می کند. فیلد فیلمی را به نوع محتوای مورد نظر خود اضافه کنید و نوع ویجت را به PDF Reader تنظیم کنید. سپس، یک گره از این نوع ایجاد کنید و PDF خود را آپلود کنید. PDF به نظر می رسد در "جعبه" در صفحه تعبیه شده است.
با ویرایش نوع محتوا دوباره می توانید گزینه های صفحه نمایش مختلف را امتحان کنید و تنظیمات صفحه نمایش را تغییر دهید.
من متوجه شدم که هر صفحه نمایش دارای مزایا و معایب است:
- خواننده Google Docs به عنوان یک جاسازی خوب کار کرد، اما زمانی که روی آن کلیک کردم تا به صفحه نمایش کامل برسم، روی یک صفحه Google Docs که عذرخواهی کرده بودم میزان محدودیت من از بین رفته بود، خاتمه دادم. اوه شاید این اعتماد به نفس بیشتری داشته باشد، اگر من این مدول را به یک حساب گوگل پلاس پرداخت کنم، اما من متوجه نشدم، زیرا مطمئن بودم که مشتری من نمایشگر را دوست ندارد.
- گزینه pdf.js به خوبی کار کرد ... در فایرفاکس و کروم. اما زمانی که من اینترنت اکسپلورر را اخراج کردم، جعبه خالی شد. ظاهرا این مشکل با خود pdf.js است، نه ماژول PDF Reader . فرض بر این است که من باید این را انتظار داشته باشم، با توجه به اینکه pdf.js توسط موزیلا توسعه یافته است و اینترنت اکسپلورر ... خودش است. با این حال، ناامید شدم که فکر نکردم تأیید کنم که pdf.js در وهله اول به طور قابل اعتماد در همه مرورگرها کار می کرد.
- گزینه جاسازی بیشتر قابل اطمینان بود. این در واقع Adobe Reader را در یک جعبه روی صفحه وب اجرا کرد. فایرفاکس من ترجیح داد که pdf.js را اجرا کند، اما من فکر می کنم این یک تنظیمات مرورگر بود. در هر صورت، تا زمانی که یک بازدید کننده دارای فایرفاکس یا مرورگر PDF مانند Adobe Reader باشد، PDF نمایش داده خواهد شد.
بنابراین، در نهایت، راه حل من این بود که از PDF Reader با گزینه نمایش گزینه قرارداد استفاده کنید. این گزینه به من اجازه می دهد یک پی دی اف را به گره دروپال وصل کنم و آن را به طور قابل اعتماد در صفحه وب دروپال نمایش دهد.
متاسفانه گاهی اوقات "قابل اعتماد" کافی نیست. پس از تمام این جستجو، من مجبور بودم خدمات شخص ثالث را در نظر بگیرم.