نوشته سوم درباره توسعه MyBB 2.0

بسم الله الرحمن الرحیم

باردیگر، زمان این رسیده که نوشته‌ای درباره‌ی توسعه‌ی MyBB 2.0 منتشر شود، این نوشته، سومین نوشته از سری نوشته‌های توسعه‌ی مای بی‌بی ۲.۰ است. هم‌اکنون در پیش-آلفا، مای بی‌بی ۲.۰ نسخه‌ی آینده‌ی عمده‌ی انتظار می‌رود، ما تغییرات واقعی در مورد توسعه‌ی مای بی‌بی ۲.۰ را در قالب نوشته‌هایی انتشار خواهیم داد تا از پیش‌رفت توسعه‌ی MyBB 2.0 باخبر شوید.

رویکردی جدید به پیشنهادهای ویژگی‌ها

بعضی از شما که به طور مداول انجمن‌های جامعه مای بی‌بی را بررسی می‌کنید، ممکن است متوجه تغییراتی در ساختار انجمن توسعه مای بی‌بی ۲.۰ شده باشید. ساختار جدید ارائه‌ی پیشنهاد ویژگی و بهبودهای جدید و پیگیری اینکه پیشنهاد هم‌اکنون، تایید شده و جزء ویژگی‌های برنامه‌ریزی شده‌است یا نه را راحت‌تر می‌کند.

برخی از پس‌زمینه‌های توسعه

در این بخش از نوشته، درتلاشیم تا برخی از پس‌زمینه‌های توسعه که هم‌اکنون انجام شده‌است را برای شما بیان کنیم،
در این پست، می‌خواهیم در مورد رابط کاربری نرم‌افزار صحبت کنیم

در طول توسعه، ما از Sass برای نوشتن CSS استفاده می‌کنیم، Sass باعث انعطاف پذیری توسعه می‌شود و به ما اجازه می‌دهد تا از مواردی همچون متغیرها و توابع در CSS استفاده کنیم وباعث تسریع درفرایند توسعه می‌شود، این دلیل انتخاب ما بود، هرچند که گزینه‌های دیگری همچون Less را در نظر دارید.

همچنین ما سعی دارید تا از BEM syntax برای قالب پیش‌فرض پیروی کنیم که باعث می‌شود کدها برای دیگر توسعه دهندگان قابل فهم و ساده‌تر شود.

ما هم‌چنین تصمیم داریم تا فرایندی آسان برای استفاده از Sass و Less در کنترل پنل مدیریت برای سازندگان قالب ایجاد کنیم. این امر به توسعه دهندگان انعطاف پذیری بیشتری می‌دهد و خواهید دید که از Sass و Less برای ساخت قالب استفاده خواهد شد که به CSS برای دیگر کاربران ترجمه(کامپایل) میشود.

درمورد جاوااسکریپت، ما تصمیم گرفتیم از جاوااسکریپت خام استفاده کنیم (درحالی که CoffeeScript یا TypeScript بودند که به جاوااسکریپت کامپایل می‌شدند). البته فایل‌های جاوااسکریپت تحت قالب ماژول‌های جدا از هم با نیم‌اسپیس MyBB نوشته می‌شوند. ما همچنین از jQuery استفاده خواهیم کرد که هم‌اکنون از نسخه‌ی ۲.۱.۴ آن استفاده می‌کنیم.

در زیر نمونه‌ای از ساختار ماژول گونه‌ی MyBB برای جاوااسکریپت است که شما کد ماژول MyBB.Spinner را مشاهده می‌کنید:

(function ($, window) {
   window.MyBB = window.MyBB || {};

   window.MyBB.Spinner = {
      inProgresses: 0,
      add: function () {
         this.inProgresses++;
         if (this.inProgresses == 1) {
            $("#spinner").show();
         }
      },
      remove: function () {
         this.inProgresses--;
         if (this.inProgresses == 0) {
            $("#spinner").hide();
         }
      }
   }
})
(jQuery, window);

همچنین ما فرایندی را برای کامپایل کردن فایل‌های SCSS و ترکیب ماژول‌های جاوااسکریپت داریم، به همین دلیل از سیستم ساختن gulp.js استفاده می‌کنیم، این سیستم فایل‌های SCSS ما را به CSS تبدیل کرده و آنها را در قالب فایل‌های کوچک‌شده (minified) با نام *.min.css ذخیره میکند، همچنین ماژول‌ها و فایل‌های خارجی جاوااسکریپت مثل jQuery را با هم ترکیب کرده و درقالب یک فایل کوچک‌شده ذخیره می‌کند، همچنین حجم تصاویر را کم کرده و آنها را optimize میکند.

کل این فرایند است که توسعه و طراحی واسط کاربری مای بی‌بی ۲.۰ را ممکن می‌سازد، ما می‌خواهیم تا سیستمی برای قالب‌ها و پوسته‌ها در پنل مدیریت مای بی‌بی ۲.۰ ایجاد کنیم تا تغییرات در قالب‌ها، استایل‌ها و جاوااسکریپت‌ها در کمترین زمان انجام شود و سیستم خودکار فایل‌ها را کوچک‌سازد و قابلیت استفاده از CDN و افزایش سرعت انجام ممکن شود.

مکالمات خصوصی

مای بی‌بی مدت زیادی است که سیستم پیام‌خصوصی دارد که اجازه‌ی مکالمه بین دو کاربر با به صورت خصوصی ممکن می‌سازد، از مشکلات سیستم کنونی این است که تنها آخرین ارسال از مکالمات را نشان می دهد و هم‌چنین تنها دونفر می‌توانند باهم مکالمه کنند و مکالمه جمعی در آن ممکن نیست.

screen-shot-2015-05-30-at-23-11-27

 

نمونه‌ای از یک مکالمه‌ی خصوصی است که چندین کاربر می‌توانند به صورت هم‌زمان با هم صحبت کنند.

طراحی‌مجدد کنترل پنل کاربری

کنترل‌پنل کاربر در مای بی‌بی جایی است که کاربر می‌تواند در آن اطلاعات خود را مدیریت کند، امضای خود را بروز کند یا آواتار خود را تغییر دهد. در مای بی‌بی ۲.۰، طراحی مجددی برای کنترل پنل کاربری انجام شده و آنرا به چیزی تبدیل کرده تا نیاز کاربر را بهتر و ساده‌تر برطرف کند،

سایدبار کنترل پنل کاربری حفظ شده‌است ( که به راحتی برای توسعه دهندگان پلاگین قابل گسترش است) در اضافه، قسمت پیام‌های خصوصی از کنترل پنل کاربر حذف شده و به بخش مکالمات خصوصی منتقل شده است که در سربرگ و صفحه‌ی جداگانه قابل مشاهده و مدیریت است.

بسیاری از اطلاعات کاربران، در قسمت «پروفایل» کنترل پنل جدید قرار گرفته اند، این صفحه همچنین تمام فیلد‌های مشخصات سفارشی نیز که توسط مدیر ایجاد شده اند در این قسمت قرار گرفته اند که کاربر می‌تواند به سادگی و در یک‌جا آنها را پر کند.

screen-shot-2015-05-30-at-23-19-13

کنترل پنل جدید، درحال مشاهده‌کردن صفحه‌ی مدیریت پروفایل. دقت کنید که تقریبا بیشتر موارد مدیریت پروفایل در بخش پروفایل و در یکجا قرار گرفته اند به جای استفاده از صفحات مختلف که باعث صرف‌جویی در زمان برای کاربر می‌شود.

screen-shot-2015-05-30-at-23-19-20

برخی از فیلد‌های ایجاد شده توسط مدیر، فیلد‌ها میتوانند در قالب گروه‌های مختلف با سرنویس های مختلف باشند و می‌توانند گروه بندی شوند و همچنین قابلیت تعریف قوانین اعتبار سنجی خاص مانند لازم بودن و … وجود دارد و انواع فیلد‌های مختلف در پنل ادمین یافت خواهد شد.

در فیلد‌های سفارشی پروفایل بهبودهای زیادی در مای بی‌بی ۲.۰  ایجاد شده است که در نوشته‌های بعدی به توضیح آنها خواهیم پرداخت.

 

خوب، این بود نوشته‌ی این ماه درباره‌ی توسعه‌ی مای بی‌بی ۲.۰، درصورتی که نظری یا ایده‌ای برای بهبود مای بی‌بی ۲.۰ دارید لطفا نظر خود را در بخش پیشنهاد‌های مای بی‌بی ۲.۰  ( http://community.mybb.com/forum-152.html ) ارسال کنید.
همچنین منتظر نوشته‌های بعدی ما باشید.

باسپاس
تیم مای بی‌بی

6 دیدگاه برای «نوشته سوم درباره توسعه MyBB 2.0»

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *