ZENLIX 3.5 - 2 سنة في وقت لاحق



بعد البدء في تطوير نظام التطبيق ، منذ عام 2013 ، تم توضيح تاريخه في المنشورات السابقة:


توقفنا عن إصدار إصدارات جديدة في عام 2017. هذا لا يعني أننا توقفنا عن مرافقة المنتج وتطويره. والحقيقة هي أنه في فترة قصيرة من الزمن ، كان لدينا شركات كبيرة من العملاء تطلب بانتظام تخصيص المنتج الرئيسي ، وهذا هو السبب في أن جميع موارد المشروع تقريبًا دخلت في شكل دعم العملاء الكبار.

كتعويض ، أصدرنا ZENLIX 2.95 ( رابط ) متاحًا للجمهور . تجدر الإشارة إلى أن الإصدار على GitHub هو منتج لا علاقة له بإصدار ZENLIX 3.x.

في مرحلة ما ، بدأنا ندرك أننا فقدنا بقية عملائنا. كان من الضروري إجراء تغييرات جذرية في سياسات دعم الشركة. من ناحية ، تم تقييدنا باتفاق المرافقة مع إمكانية زيادة الميزانية ، من ناحية أخرى ، لم نتمكن من تحمل تكاليف زيادة عدد المطورين. نتيجة لذلك ، أعطانا القدر مثل هذه الفرصة.

في كانون الثاني (يناير) 2019 ، انتهت مدة اتفاقية دعم العملاء وقمنا بإعادة تهيئة الموظفين لبدء نفسًا جديدًا للمنتج.

بداية التنمية


لمدة عامين ، معظم وحدات الواجهة الأمامية المستخدمة (js) ، وكذلك الواجهة الخلفية (php) ، قديمة. لذلك ، لإدخال ميزات جديدة وتطوير ، كان من الضروري إعداد النظام الأساسي بحيث في المستقبل كان من الممكن استخدام أحدث الفرص والموارد ، وتنفيذ واجهة مستخدم حديثة تلبي احتياجات المستهلكين.

بدأنا مع الخلفية ، وهي ترقية الإطار من Laravel 5.1 إلى Laravel 5.5 (LTS). كانت هناك خيارات لتحديث المشروع الحالي ، ولكن كما أوضحت ممارسة زملائنا ، هذه عملية معقدة وغير مبررة ، ونتيجة لذلك هناك خطر الوقوع في إعادة تشفير الكود ، وهذا بدوره سيؤخر عملية الترقية لعدة أشهر.

لقد اخترنا الخيار الثاني. للقيام بذلك ، قمنا بتهيئة مشروع نظيف على Laravel 5.5 (LTS) ، ثم قمنا بتثبيت جميع وحدات الملحن (أحدث الإصدارات الثابتة) ، بما في ذلك في ملفات خدمة Laravel ، وقمنا بإنشاء الموارد وتهيئتها ، استنادًا إلى الإصدار السابق من ZENLIX. بعد ذلك ، أخذنا نقل وحدات التحكم والنماذج والترحيل والقوالب والأجزاء الأخرى وكائنات العمل. معظم الطرق الأساسية كان لا بد من إعادة كتابتها. على سبيل المثال ، وحدات الترخيص / التسجيل (مع إمكانية الترخيص من خلال خدمات الجهات الخارجية) ، ونظام إعلام كامل (قائمة انتظار Mailable) وغيرها. لقد أعطى مزاياها أيضًا - لقد وجدنا بعض مشكلات الإشعارات في الإصدار القديم واستبعدناها في الإصدار الجديد. نتيجة لترقية الكود ، وكذلك استخدام Laravel 5.5 ، زادت متطلبات البرنامج الدنيا لـ PHP: PHP> = 7.0.0. لهذا السبب ، نعيد أيضًا كتابة بعض الوظائف والتطبيقات القديمة المهملة.

يمكننا القول رسمياً أن ZENLIX 3.5 يدعم PHP 7.3 الآن . أعطى الانتقال إلى الإصدار الجديد من Laravel 5.5 + PHP 7.3 زيادة كبيرة في سرعة التطبيق بنسبة 64٪ مقارنة بالإصدار 3.x.

نحن أيضا إعادة كتابة وتحسين رمز microservice nodejs. الآن يستخدم وحدة أقل - يتم استبعاد Express.

قمنا بتحديث الواجهة الأمامية: Jquery 3.4 و FontAwesome 5 و Trumbowyg 2.15 والوحدات الأخرى.
أروع شيء في هذا الأمر هو أننا نستخدم الآن webpack.mix.js ، وعند إصداره نقوم بإنشاء ملف js مصغر من 20 -> 1 وملف css من 13 -> 1. كما أعطت زيادة كبيرة في سرعة التقديم لجزء العميل من عرض المحتوى.

لم نغير سياسة التحكم في انفتاح منتجاتنا. لا ioncube ، الخ كل رمز لا يزال مفتوحا لعملائنا. لا يوجد أي تحكم بخلاف اتفاقية الترخيص ، التي تنظم بشكل صارم استخدام المنتج في إطار موضوع واحد من النشاط التنظيمي.



وفي الإصدار الجديد ، قمنا بتطبيق العديد من الميزات المريحة :

  • القدرة على تعطيل عناصر القائمة ، وكذلك وظائفها.
    يمكن للمسؤول الآن تعطيل الوحدات النمطية للجميع: المستخدمون والمجموعات والرسائل ومركز المعرفة والتقويم والتقارير.
  • ظل نظام التحديث ومستودع التثبيت يمثلان عنق الزجاجة. أردنا أن يكون المسؤول قادرًا على اختيار ما سيتم تحديثه ، على الرغم من التغييرات التي أجراها على القانون المحلي. نتيجة لذلك ، باستخدام تجربة دعم شركاتنا الكبيرة ، قمنا بتطبيق ذلك على خادم GitLab. عند شراء منتج ، يتم منح العميل حق الوصول للقراءة فقط إلى مستودع git. تجعل أوامر أوامر وحدة التحكم ZENLIX العملية أكثر نعومة وأكثر ملاءمة من استخدام السحب العاري. ولكن هذا لا يمنع استخدام هذا الأخير للدمج. لا يعمل نظام تحديث المنتج الآن إلا من خلال وحدة التحكم (php artisan zenlix: update). من خلال شبكة الإنترنت ، لا يزال بإمكان المسؤول البحث عن إصدار جديد ، وكذلك قراءة المعلومات / الإرشادات حول الإصدار / التحديث. من خلال تشغيل أمر وحدة التحكم ، يضع المسؤول النظام في حالة الخدمة وتبدأ عملية التحديث.
  • نظام تثبيت وحدة التحكم ، الآن كنوع رئيسي من تثبيت المنتج. (php artisan zenlix: install) يسمح باستخدام اسم المستخدم / كلمة المرور للحصول على إصدار ZENLIX ، وكذلك لإجراء التكوين الأساسي. في معظم الحالات ، يكون هذا الفريق ضروريًا للمتخصصين التقنيين لدينا الذين يقومون بتثبيت مجاني عن بُعد للمنتج.

تم إعادة إنشاء نظام إنشاء مستخدمين جدد ، بالإضافة إلى إنشاء تطبيق (اختيار المستخدم) والعديد من التغييرات الطفيفة الأخرى ، والتي تؤثر بشكل عام بشكل كبير على قابلية استخدام المنتج النهائي.

بشكل منفصل ، تجدر الإشارة إلى أننا قمنا بإعداد صورة VM جاهزة (vmdk ، ovf) مع البرنامج التالي ، بالفعل مع تثبيت ZENLIX وتكوينه:

  • أوبونتو 18.04.2 LTS
  • Nginx v1.14.0
  • PHP v7.2.17-0
  • الخلية v5.7.26-0
  • العقدة v8.10.0
  • المشرف v3.3.1
  • Redis v5.0.4
  • ZENLIX v3.5

استنتاج


بشكل عام ، نود أن نستنتج أنه بعد ترقية منصة المنتج إلى أحدث إصدار مستقر (Laravel 5.5) ، الدعم الكامل لـ PHP 7.3 ، وجود نظام تحديث منتج ثابت (git) ، نخطط لإصدار المزيد من التحديثات الثابتة المتكررة. لدينا العديد من تطبيقات الأشياء المثيرة للاهتمام والمريحة من مشاريع مخصصة أخرى. تدريجيا سوف ننقلهم إلى ZENLIX. على الأقل ، سننشئ تطبيق Android وواجهة برمجة تطبيقات كاملة لإنشاء الطلبات وعناوين الويب للأحداث وغيرها من الأشياء والتعامل معها.

سنكون سعداء بالإجابة على جميع أسئلتك من خلال البريد: info@zenlix.com ، بالإضافة إلى البرق .

Source: https://habr.com/ru/post/ar450464/


All Articles