سجل التغييرات في خدمة الويب SKOOR

9.2.0

  • يخفف من متطلبات الأذونات الخاصة بـ GET /users و GET /scripts/mimetypes بحيث يمكن لجميع المستخدمين المصادق عليهم استدعاء نقاط النهاية هذه.

9.1.2

  • يُصلح مشكلة تسبب عدم عمل عمليات تسجيل الدخول إلى عارض لوحة التحكم بشكل صحيح.

9.1.1

  • يصلح مشكلة في استيراد ملفات CSV حيث تم الكشف عن الحقول التي تحتوي على أرقام سالبة بشكل غير صحيح على أنها TEXT بدلاً من BIGINT أو DOUBLE.
  • يُصلح خطأً كان يؤدي إلى أن تُبلغ التوقعات التي تُجرى على استعلامات البيانات من مصادر البيانات المحددة النطاق عن أعمدة تمييز مفقودة غير صحيحة.

9.1.0

  • يتم التبديل في المصادقة لاستخدام الرموز المؤقتة بدلاً من معرّفات الجلسة طويلة الأمد. وعلى الرغم من أنه لا يزال من الممكن توفير معرّف الجلسة عبر رأس HTTP X-Session-Id أو معلمة الاستعلام sessionId، إلا أن هذه الطريقة أصبحت الآن قديمة. بدلاً من ذلك، يجب إرسال رموز المصادقة باستخدام رأس Authorization (على سبيل المثال، Authorization: Baerer fj6v45juO63gb...).
  • في البيئات المعبأة في حاويات، قد يلزم تحديث نقطة نهاية خدمة SKOOR Auth لتشير إلى نقطة نهاية خدمة SKOOR Auth الفعلية (باستخدام متغير البيئة SKOOR_WEBSERVICE_auth_service_url).
  • الانتقال من واجهة برمجة تطبيقات Google Vertex التي تم إيقاف استخدامها إلى واجهة برمجة تطبيقات Google Generative Language. يتم تنفيذ هذا التحديث داخليًا ولا يؤثر على أي ميزات الذكاء الاصطناعي في واجهة المستخدم. -التنبؤات:
    • يقدم إمكانيات التنبؤ التي تتيح توقع البيانات باستخدام نماذج التعلم الآلي مثل Prophet، والانحدار الخطي، وXGBoost، وSARIMAX.
    • يضيف دعمًا لتصدير واستيراد تكوينات التنبؤات جنبًا إلى جنب مع لوحات المعلومات.
    • يضيف خاصية «forecast.script.location» إلى تكوين التطبيق لتحديد الدليل الخاص بنصوص التنبؤ.
  • البرامج النصية
    • يعزز مهام البرامج النصية (Script Jobs) من خلال تتبع التقدم وتكوينات متخصصة لتنفيذ العمليات في قاعدة البيانات ونظام الملفات.
    • يضيف دعم المجموعات إلى البرامج النصية.
    • يضيف نقطة نهاية جديدة /scripts/{script}/jobs/status تعرض أحدث حالات المهام لكل RunConfig؛ ويمكن تكوين عدد المهام المعروضة لكل RunConfig باستخدام المعلمة maxCount.
    • يضيف دعمًا لتكوين وتخزين قائمة أنواع MIME محددة مسبقًا لـ acceptedFiles في ScriptConfig، ويضيف نقطة نهاية جديدة /scripts/mimetypes.
    • يستبعد متغيرات البيئة التي تحتوي على مفاتيح متعلقة بكلمات المرور (مثل PASSWORD وPASS وPW) من عمليات تصدير البرامج النصية لمنع الكشف عن المعلومات الحساسة.
  • إعادة هيكلة عمليات استرجاع DataQuery لتحسين معالجة سياق المستخدم ونطاقه.

9.0.2

  • تم تضمين إصلاح تقرير PDF من الإصدار 9.1.

9.0.1

  • فرض فحوصات أدوار المستخدمين على جميع نقاط النهاية. التغييرات الملحوظة التي قد تتسبب في حدوث أعطال:
    • أصبحت العديد من نقاط النهاية التي تُعدّل البيانات مقصورةً على المسؤولين الآن:
    • أصبحت العديد من نقاط النهاية التي تُعدّل البيانات مقصورة الآن على المحررين:
    • لا يمكن الوصول إلا إلى مجموعة صغيرة من نقاط النهاية دون مصادقة.
    • نظرًا لأن نقطة النهاية POST /translations/{language} أصبحت الآن مقصورة على المسؤولين، في حين لا يزال المحررون بحاجة إلى ترجمة لوحات المعلومات، فإن ترجمات لوحات المعلومات تُخزَّن الآن داخل كائنات لوحات المعلومات بدلاً من مخزن الترجمات العام.
  • تطبق قواعد صارمة بشأن ما يُسمح للمستخدم بتغييره عن نفسه وعن المستخدمين الآخرين.
    • يُسمح الآن للمسؤولين فقط بتغيير أسماء المستخدمين. وهذا يحل مشكلة الثغرة الأمنية المتعلقة بتعداد أسماء المستخدمين التي كانت تسمح سابقًا للمستخدمين بتخمين أسماء المستخدمين الآخرين.
    • أصبحت معظم إعدادات المستخدم مقصورة الآن على المسؤولين. يمكن للمستخدمين غير المسؤولين تحديث إعدادات fullname وemail و phoneوstartDashboardId وlanguage وtimeZone الخاصة بهم فقط، بالإضافة إلى تغيير كلمة المرور الخاصة بهم وتمكين أو تعطيل المصادقة متعددة العوامل (MFA) (ما لم يتم فرضها من قبل مسؤول).
    • يمكن للمسؤولين فقط تعديل إعدادات المستخدمين المشتركين.
    • لم يعد من الممكن تغيير نوع المستخدم من أو إلى LDAP_MANAGED.
    • يمكن لمستخدمي LDAP_MANAGED تحديث إعدادات startDashboardId وlanguage وtimeZone الخاصة بهم فقط.
  • إزالة الإعداد visuallyImpaired من كل من User و UserGroup، حيث لم تعد لوحة التحكم تتطلبه.
  • يحدد POST /files/{filename} بأنواع MIME التالية: image/avif، image/bmp، image/gif، image/heic، image/heif، image/jpeg، image/jp2، image/jpx، image/jxl، image/png، image/svg+xml، image/tiff، image/vnd.microsoft.icon، image/webp، audio/3 gpp، audio/3 gpp2، audio/aac، audio/flac، audio/midi، audio/mp4، audio/mpeg، audio/ogg، audio/opus، audio/wav، audio/webm، audio/x-aiff، audio/x-m4a، audio/x-ms-wma، video/3 gpp، video/3 gpp2، video/mp2t، video/mp4، video/mpeg، video/ogg، video/quicktime، video/webm، video/x-flv، video/x-m4v، video/x-matroska، video/x-ms-asf، video/x-msvideo، application/ttml+xml، application/x-subrip، text/vtt، text/plain، text/csv، text/markdown، application/json، application/xml، text/xml، application/yaml، text/yaml، application/pdf، application/msword، application/vnd.openxmlformats-officedocument.wordprocessingml.document، application/vnd.ms-excel، application/vnd.openxmlformats-officedocument.spreadsheetml.sheet، application/vnd.ms-powerpoint، application/vnd.openxmlformats-officedocument.presentationml.presentation، application/vnd.oasis.opendocument.text، application/vnd.oasis.opendocument.spreadsheet، application/vnd.oasis.opendocument.presentation، application/rtf، application/epub+zip، application/vnd.apple.pages، application/vnd.apple.numbers، application/vnd.apple.keynote
  • يقتصر PUT /styles/{filename} على أنواع MIME التالية: text/css، text/plain
  • يقتصر POST /scripts/{script}/run على أنواع MIME التالية: text/plain, text/csv, text/tab-separated-values, text/tsv, text/markdown, text/vtt, application/json, application/x-ndjson, application/jsonl, application/xml, text/xml, application/yaml, text/yaml, application/x-yaml, application/sql, text/sql, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.presentation, application/rtf, application/epub+zip, application/parquet, application/x-parquet, application/avro, application/x-avro, application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream, application/orc, application/x-orc, application/zip, application/x-zip-compressed, application/gzip, application/x-gzip, application/x-bzip2, application/x-xz, application/zstd, application/x-zstd, application/x-tar, application/x-7z-compressed
  • البرامج النصية:
    • إصلاحات في معالجة جدولة البرامج النصية التي كانت تتسبب في تشغيل المهام المجدولة عندما يكون سجل التشغيل فارغًا.

9.0.0

  • يضيف عدد صفوف المصدر في نقاط النهاية .../columns/{column}/values و .../{id}/distinctValues. يمكن استخدام هذا لإنشاء الرسوم البيانية.
  • يضيف نقاط نهاية جديدة للتحديث الدفعي:
    • المستخدمون في مجموعة مستخدمين: /userGroups/{id}/users
    • مجموعات المستخدمين الخاصة بمستخدم ما: /userGroups/users/{userId}
  • يقدم WebserviceUser/UserGroup لتغليف ErangerUsers/UserGroup
  • يضيف دعمًا لسياسة كلمات المرور
  • يضيف دعمًا لـ MFA (المصادقة متعددة العوامل)
  • يقدم UserRole جديدًا Data_Editor
    • يمكن تحرير البيانات من DataSources طالما أن المستخدم ضمن النطاق.
    • يمكن الوصول إلى DataQueries وإنشاؤها وتحريرها
    • يمكنه عرض/تحرير (تكوينات التشغيل/تكوينات الجدولة)/تشغيل البرامج النصية
  • يُزيل كلمات المرور من متغيرات البيئة (envVariables) وتكوينات التشغيل (runConfigs) في البرامج النصية.
  • يتيح تعيين مهلة 0 للنصوص البرمجية (بدون مهلة) وتخصيصها في إعدادات التشغيل.
  • الاستيراد/التصدير
    • تحسين عملية الاستيراد/التصدير للوحات المعلومات باستخدام البرامج النصية من خلال محاولة مطابقة البرامج النصية في الأنظمة المستهدفة حسب الأسماء.

8.1.33

  • يدعم الحصول على ملف Google Chrome القابل للتنفيذ إذا كان خيار «DEBUG=puppeteer:*» (التحكم في الأمان) قيد التشغيل.

8.1.32

  • تم تضمين إصلاح تقرير PDF من الإصدار 9.1.

8.1.31

  • إصلاح الخلل الذي يمنع أحيانًا محرك استعلام البيانات من العثور على الجداول المادية.

8.1.30

  • إصلاح الخلل الذي يؤدي أحيانًا إلى عدم تجسيد استعلامات البيانات المجسدة بشكل صحيح.

8.1.29

  • معالجة المرشحات بشكل صحيح على أعمدة العد الفريد.

8.1.28

  • تم تمكين الترجمة التلقائية للوحات المعلومات لجميع العملاء من خلال توفير مفتاح API مشترك لـ DeepL.

8.1.27

  • إصلاح الخلل الذي يؤدي أحيانًا إلى عدم حفظ لوحات المعلومات التي تحتوي على اسم URL بشكل صحيح.

8.1.26

  • يسمح بتضمين رأس وتذييل يتم عرضهما في تقارير PDF.

8.1.25

  • إضافة SKOOR_USER_USERGROUP_IDS و SKOOR_USER_USERGROUP_NAMES إلى متغيرات البيئة في البرامج النصية.
  • يُصلح حالة التنافس التي تتسبب في بقاء استعلامات البيانات عالقة في حالة التحديث.
  • يصلح الخلل الذي يعطل استعلامات البيانات التي تخلط بين القوالب والمعلمات.

8.1.24

  • تعطيل التخزين المؤقت في مصدر بيانات CashPilot.

8.1.23

  • تحديث التبعية لإصلاح واجهة مستخدم Swagger.

8.1.22

  • يصلح الخلل الذي يؤدي أحيانًا إلى تعطيل استعلامات البيانات المتداخلة التي تستخدم الجداول ذات النطاق المحدد.

8.1.21

  • تحسينات إضافية على تحليل استعلامات البيانات للحصول على المراجع.

8.1.20

  • يخفف من حدة الاستثناءات الأخرى عند تحليل استعلامات البيانات.

8.1.19

  • يخفف من بعض استثناءات IndexOutOfBoundsException عند تحليل استعلامات البيانات.

8.1.18

  • لا يُعرض خطأً إذا كان استعلام البيانات فارغًا.

8.1.17

  • يصلح الخلل الذي يعطل استيراد لوحات المعلومات عند وجود لوحات معلومات بأسماء URL.

8.1.16

  • يعرض رمز الحالة الصحيح 401 في حالة فشل المصادقة الأساسية.
  • يتعامل بشكل صحيح مع مؤسسات Magellan عند تجسيد استعلامات البيانات التي تصل إلى مصدر بيانات StableNet.
  • في الإصدارات السابقة، كانت استعلامات البيانات المستندة إلى مصدر بيانات StableNet تُحدَّث دائمًا ديناميكيًا. تم تعديل هذا السلوك الآن بحيث يتم تحديث الاستعلامات التي تعتمد على الجداول الخارجية لـ StableNet ديناميكيًا فقط.
  • يصلح الخلل الذي يتسبب أحيانًا في فقدان مراجع استعلامات البيانات المستخدمة للنطاقات أو استعلامات البيانات الفرعية.
  • يُحدَّث التبعيات المعرضة للخطر.

8.1.15

  • تنفيذ بعض التغييرات المطلوبة لدعم الميزات الجديدة لـ StableNet FDW.
  • استعلامات البيانات
    • يوفر استعلام البيانات الحالي كسياق عند تنفيذ Text2SQL في محرر استعلامات البيانات.
    • يسمح بإنشاء أمثلة لاستعلامات البيانات لمصدر بيانات معين باستخدام Google Vertex AI.
  • البرامج النصية
    • تنفيذ نقطة نهاية مولد الكود
  • تضيف نقاط نهاية جديدة لاسترداد شجرة الكائنات
    • /root/tree
    • /{parentType}/{parentId}/tree
  • يقوم بمسح الملفات والأنماط المخزنة مؤقتًا على القرص الصلب عند إعادة تشغيل خدمة الويب.

8.1.14

  • يمكن الآن تكوين مصادر CORS المسموح بها باستخدام الخاصية cors.allowed.origins (قائمة مفصولة بفواصل). عندما تحتاج تطبيقات الويب من مصادر أخرى (مثل بوابة StableNet) إلى إرسال طلبات غير متزامنة إلى خدمة الويب SKOOR، يجب إضافة عناوين URL الخاصة بمصادرها؛ وإلا، فلن تعمل تلك التطبيقات بعد الآن.

8.1.13

  • تم إصلاح الخلل الذي يتسبب في توقف اتصال قاعدة البيانات.

8.1.12

  • يُصلح نقاط نهاية searchPath عن طريق إزالة المسافات في أجزاء المسار.
  • يتم تعديل مصدر بيانات CashPilot لمزامنة البيانات بين عدة مستخدمين.
  • يحسن عملية تجسيد استعلامات البيانات
  • يُزيل بعض التشويش الناتج عن الماسح الضوئي من السجل.
  • يسمح بتفسير استعلامات البيانات دون الحاجة إلى التحليل.
  • يُصلح الكشف عن مرجع جدول استعلام البيانات إذا كان اسم الجدول متبوعًا مباشرةً بـ «)». كان هذا يمنع أحيانًا تطبيق النطاقات بشكل صحيح.

8.1.12

  • يُصلح نقاط نهاية searchPath عن طريق حذف المسافات في أجزاء المسار.
  • يُعدّل مصدر بيانات CashPilot لمزامنة البيانات بين عدة مستخدمين.

8.1.11

  • لا يتم تمكين الخدمة أو تشغيلها عند تحديث الحزمة على الأنظمة الاحتياطية.
  • يصلح خطأً يؤدي إلى تعطل نقطة نهاية الترجمة عند توفير مصفوفة نصية فارغة في الحمولة.
  • يضيف دعم عدم التمييز بين الأحرف الكبيرة والصغيرة إلى نقاط نهاية searchPath

8.1.10

  • تحسين تصدير/استيراد البرامج النصية
    • يضيف "script_metadata.json" إلى عملية التصدير.
    • يسمح بالكتابة فوق البرنامج النصي الموجود باستخدام علامة الكتابة فوق.
    • يسمح باستيراد البيانات الوصفية من ملف script_metadata.json إن وجد.
  • لوحات المعلومات
    • يمنع تكرار أسماء عناوين URL.
  • Google Vertex AI (يُستخدم في Script Copilot ووظيفة Data Query Text to SQL)
  • يجعل نصوص Python تعمل بدون تخزين مؤقت (تظهر المخرجات مباشرةً في ConsoleOutput).

8.1.9

  • تغيير مالك بعض ملفات التكوين إلى eranger.
  • تنفيذ المصادقة الأساسية (Basic auth) لاستدعاءات واجهة برمجة التطبيقات (API).
  • يقدم نقطتي نهاية جديدتين في ObjectSearchController
    • /root/searchPath للبحث عن كائنات SKOOR باستخدام مسارها بدءًا من الجذر.
    • /{parentType}/{parentId}/searchPath للبحث عن كائنات SKOOR باستخدام مسارها من كائن أب محدد.
  • يقلل عدد استعلامات البيانات المادية التي يتم تحديثها بشكل متزامن إلى 8. وهذا يساعد على تقليل التنازع في عمليات الإدخال/الإخراج (IO).
  • يصلح خطأً في ذاكرة التخزين المؤقتة للاستعلامات كان يتسبب في تنفيذ نفس الاستعلام عدة مرات بالتوازي بدلاً من أخذ النتيجة من ذاكرة التخزين المؤقتة للاستعلامات.
  • يحدد عدد أسطر سجل البرامج النصية بـ 1000، ويحدد عدد الأحرف في كل سطر من السجل بـ 10000 حرف.

8.1.8

  • البرامج النصية
    • يُصلح خطأً يمنع تحميل ملفات .env أثناء تشغيل البرنامج النصي، إذا لم تكن موجودة في المجلد الجذر.
    • يُصلح خطأً يمنع حفظ التغييرات على البرنامج النصي عند استخدامه في لوحة التحكم.
    • إعادة هيكلة ScriptsConfig لتحسين قابلية الصيانة
  • مصدر البيانات
    • يقلل مدة صلاحية البيانات غير المخزنة مؤقتًا (uncached-TTL) إلى ثانية واحدة
  • استعلامات البيانات
    • يُصلح الخلل الذي يعطل معلمات استعلامات البيانات في قواعد بيانات MySQL.

8.1.7

  • استعلامات البيانات
    • يضيف دعمًا لحذف استعلام البيانات/مجموعة استعلامات البيانات قسريًّا
    • يضيف دعمًا للنشر القسري لاستعلام البيانات
    • إزالة dependantsCount من SimpleScriptConfig.
    • إزالة موفر LocalAI وجعل Google Vertex AI هو الإعداد الافتراضي الجديد.

8.1.6

  • يُصلح مشكلة وجود "SKOOR_SESSION_ID" فارغًا في البرامج النصية.

8.1.5

  • استيراد وتصدير لوحة المعلومات/أسئلة البيانات
    • يُصلح استيراد لوحات المعلومات بدون تعيينات لوحة المعلومات.
    • يُصلح فحص المستخدمين ومجموعات المستخدمين حتى إذا كانت النطاقات والأذونات غير صحيحة.
    • يُضاف تحذير إلى إشعارات الاستيراد، إذا كان نظام التصدير أحدث من النظام المستهدف.
  • تحديثات البرامج النصية:
    • توحيد ScriptConifg بدون ScriptConfigType
    • تستخدم البرامج النصية "العدّاءات" (Runners). ويتم اختيار "العدّاء" تلقائيًا وفقًا للملفات الموجودة في دليل البرنامج النصي
      • PythonRunner: يتم اختياره عند وجود ملف main.py.
      • ShellRunner: يتم تحديده عند وجود ملف run.sh.
      • TalendRunner: يتم تحديده عند اكتشاف أصول Talend.
    • يضيف خيار إلغاء الاشتراك في Poetry عن طريق إعادة تسمية أو حذف ملف pyproject.toml.
    • يوسع ExtendedScriptConfig بتفاصيل dependentWidgets و Widgets.
    • يوسع SimpleScriptConfig بـ dependantsCount.
    • يضيف requestParam لـ deleteScript لإجبار حذف البرامج النصية التي تحتوي على عناصر تابعة، وإلا يتم إلقاء استثناء.

8.1.4

  • يُصلح مشكلة تحميل نصوص Talend.
    • يزيل أرقام الإصدارات من اسم ملف ZIP، أي: سيتم استيراد newScript_1.3.zip كنص برمجي باسم newScript
  • يُصلح التعيين الصحيح للأصول أثناء استيراد لوحات المعلومات.
  • يجعل اسم لوحة المعلومات (Dashboard) إلزاميًا.

8.1.3

  • يسمح بتعريف الفهارس المركبة على استعلامات البيانات المادية.
  • يُصلح تعيين لوحة المعلومات للتصدير/الاستيراد
  • مصدر بيانات CashPilot
    • إضافة معلمات ترقيم الصفحات إلى عنوان URL الخاص بالخدمة
    • استخدام قالب التعبير والتنسيق للفلاتر.
  • يسمح بتشغيل نصوص برمجية Python على الأنظمة غير المتصلة بالإنترنت.

8.1.2

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

8.1.1

  • يدعم Puppeteer الجديد

8.1.0

  • يستخدم ترقيم الصفحات عند الحصول على البيانات من CashPilot
  • يوفر نقطة نهاية للترجمة التلقائية باستخدام DeepL. لتفعيل هذه الميزة، يجب توفير مفتاح واجهة برمجة تطبيقات DeepL في /etc/opt/eranger/eranger-webservice.cfg باستخدام الخاصية i18n.deeplApiKey.
  • يقدم نقطة نهاية جديدة، /script/، إلى جانب ScriptController، مما يتيح تطوير البرامج النصية المخصصة.
    • توفر البرامج النصية أداة قوية لتطوير أنواع مختلفة من البرامج النصية وتشغيلها وتخصيصها وجدولتها.
    • تتكون البرامج النصية من ثلاثة أقسام رئيسية:
      • الإعدادات: تتضمن الاسم، والوصف، ووقت الانتظار، وتكوينات التشغيل، وتكوينات الجدولة.
      • الملفات: هيكل يشبه نظام الملفات يدعم عمليات CRUD (إنشاء، قراءة، تحديث، حذف) القياسية.
      • التشغيل: يسمح بتشغيل وتتبع عمليات تنفيذ البرامج النصية. يبلغ الحد الأقصى لسجل التشغيل 1,000 مهمة.
    • يدعم تحميل البرامج النصية المعبأة في ملفات zip بلغة Python وTalend وShell.
    • تمت إضافة دعم لرموز webhook، مما يسمح بتشغيل البرامج النصية عبر webhooks.
  • يسمح باستخدام قوالب FreeMarker في DataQueries.
  • التحقق من الاتصال بالخدمات الخارجية مثل SKOOR AI و DeepL بشكل غير متزامن لتتمكن من تسليم ملف settings.json على الفور.
  • يوسع نطاق نقطة نهاية /alarms لتشمل أيضًا الحصول على أذونات وخصائص الكائنات المعينة.
  • يضيف طريقة POST إلى /alarms/{id}/comment و/alarms/{id}/assign.

8.0.22

  • يصلح الخلل الذي يعطل الاستعلامات الفرعية في MySQL وبعض الحالات الأخرى.

8.0.21

  • يحسّن طريقة معالجة الاستعلامات الفرعية (باستخدام CTEs غير المُجسدة). وهذا يزيد من أداء الاستعلام بمقدار عشرة أضعاف في العديد من حالات الاستخدام.

8.0.20

  • لم يعد يتم تخزين سجل القيم مؤقتًا لـ SLCs لأن قيم SLCs يمكن إعادة حسابها بأثر رجعي.
  • تنظيف ذاكرات التخزين المؤقتة لاستعلامات البيانات المادية في حالة حدوث خطأ بخلاف انتهاء المهلة
  • يُصلح خطأً كان يمنع تحديث استعلامات البيانات المُجسدة في حالة وجود مزيج من الاستعلامات المُجسدة وغير المُجسدة.

8.0.19

  • مصدر بيانات StableNet
    • يُصلح الخلل الذي يتسبب في توقف الاستعلامات عند التحقق من الجداول الخارجية.
  • استعلامات البيانات
    • تحسين عملية التحديث
    • يدعم الاستعلامات الفرعية عند استخدام دالة CROSSTAB في PostgreSQL
    • يسمح بشرح خطة استعلام البيانات باستخدام نقطة النهاية /dataQueries/explain.

8.0.18

  • إزالة التخزين المؤقت الديناميكي لاستعلامات البيانات بالكامل.

8.0.17

  • يصلح الخلل الذي كان يمنع اتصالات PostgreSQL من استخدام العمال المتوازيين.

8.0.16

  • يصلح الخلل الذي يعطل التخزين المؤقت لاستعلامات البيانات في حالة وجود جداول خارجية.

8.0.15

  • استعلامات البيانات
    • يُصلح الخلل الذي يؤدي أحيانًا إلى تحديث نفس استعلام البيانات المُجسَّد بشكل متزامن.
    • يُعطل التخزين المؤقت الديناميكي لأن ذلك يعطل مخطط الاستعلام في العديد من الحالات.

8.0.14

  • استعلامات البيانات
    • يُصلح الخلل الذي يتسبب أحيانًا في أن تكون جداول استعلامات البيانات المُجسدة فارغة بعد تعطل خادم PostgreSQL .

8.0.13

  • استعلامات البيانات
    • يسمح باستخدام WITH RECURSIVE.
    • يُصلح الخلل الذي يمنع تجسيد استعلامات البيانات في حالة وجود أعمدة VARCHAR.

8.0.12

  • يصلح الخلل الذي يتسبب في فشل استعلام البيانات المتداخلة إذا كانت الاستعلامات الفرعية متداخلة بطريقة معينة.
  • يوقف تفعيل تقديرات عدد الصفوف في حالة وجود جداول خارجية.

8.0.11

  • يُصلح الخلل الذي يتسبب في بقاء بعض اتصالات قاعدة البيانات في حالة "idle in transaction" لفترة طويلة.
    • يزيد عدد الاتصالات المتزامنة بقاعدة البيانات إلى 60.
  • مصدر بيانات CashPilot
    • يدعم page_size و error_message_path الخاص بـ REST FDW. وهذا يسمح بالحصول على نتائج مقسمة إلى صفحات والتعامل مع رسائل الخطأ.
    • يدعم certificate و basic_auth_username و basic_auth_password لـ REST FDW.

8.0.10

  • يُصلح الخلل الذي يتسبب في فشل /alarmrecipients.

8.0.9

  • استعلامات البيانات
    • يصلح الخلل الذي يؤدي إلى عدم تحديث أعمدة استعلام البيانات فور نشرها.
    • يصلح الخلل الذي يتسبب أحيانًا في فشل استعلامات البيانات إذا تمت الإشارة إلى مصدر البيانات أو استعلام البيانات عدة مرات.
  • مصدر البيانات
    • يسمح بتصفية البيانات باستخدام حرف بدل واحد %
    • يُصلح الخلل الذي يؤدي إلى عدم عمل النطاقات بشكل صحيح.

8.0.8

  • استعلامات البيانات
    • يُصلح الخلل الذي يمنع حذف مجموعات استعلامات البيانات المتعددة على التوالي.
    • يسمح بتصدير استعلامات البيانات التي تشير إلى نطاقات مصادر البيانات التي تحتوي على مستخدمين محذوفين.
    • يُصلح الخلل الذي يعطل تحديد مصدر البيانات عند إنشاء استعلام البيانات.

8.0.7

  • مصادر البيانات
    • إزالة كلمة المرور عند تصدير قائمة مصادر البيانات.

8.0.6

  • مصادر البيانات
    • معالجة أفضل للأخطاء عند الاستيراد من ملفات XLSX
  • يصلح الخلل الذي يتسبب في فشل ترحيل التكوين القديم في حالة التحديث من الإصدار 7.2.x بدلاً من الإصدار 7.3.x.

8.0.5

  • يدعم النص العربي في تذييل تقرير PDF.
  • إضافة مصدر بيانات CashPilot.
  • يسمح باستخدام تعبيرات الجداول المشتركة (استعلامات WITH) في استعلامات البيانات.

8.0.4

  • يصلح الخلل الذي يؤدي إلى عدم تحويل التكوينات القديمة بشكل صحيح في حالة وجود عدة مستأجرين.

8.0.3

  • يصلح اتصالات قاعدة بيانات التكوين المعطلة في حالة وجود عدة مستأجرين.

8.0.2

  • مصادر البيانات
    • يقدم رسائل خطأ أفضل عند استيراد البيانات من ملفات XLS/XLSX.

8.0.1

  • مصادر البيانات
    • يستخدم محلل CSV متوافق مع RFC4180 عند تحليل بيانات الاستيراد.
  • يصلح الخلل الذي يتسبب في عدم عمل تكوينات الاستخدام المتعدد بشكل صحيح في حالة عدم وجود مستأجر افتراضي.

8.0.0

  • يضيفdataSources/{id}/tables/{table}/distinctValues وdataSources/{id}/tables/{table}/distinctValues اللذين يسمحان بالحصول على قيم مميزة لمجموعات الأعمدة.
  • يصلح الخلل الذي يعطل عملية الفرز في معاينة مصدر البيانات إذا قمنا بالفرز حسب أعمدة تحتوي على قيم مكررة.
  • نقل التكوين من نظام الملفات إلى قاعدة البيانات. والذي يشمل (الملفات، الأنماط، الترجمات، مصادر البيانات، استعلامات البيانات)
  • استعلامات البيانات
    • تحسين عملية إعادة تسمية استعلامات البيانات. ستؤدي إعادة تسمية استعلام البيانات إلى تغيير اسمه أيضًا في الاستعلامات التابعة.
    • تحسين عملية تصدير/استيراد استعلامات البيانات.
    • تحسين التخزين المؤقت لاستعلامات البيانات.
  • تحديثات إلى Spring Boot 3.3.0.
  • تحديثات إلى Java 21.0.3.
  • إضافة دالة تجميع جديدة 'distinct_count'
  • وحدة التحكم في نظام المعلومات الجغرافية (GIS): نظام المعلومات الجغرافية
    • يضيف /dataQuery/{id}/cluster الذي يوفر الدعم لخرائط Geo Maps باستخدام استعلامات البيانات.
    • يضيف gis/cluster الذي يوفر الدعم للروابط الجغرافية في الخرائط الجغرافية.
    • تصفية العناوين الفارغة قبل الترميز الجغرافي.

7.3.21

  • يصلح الخلل الذي يتسبب في ظهور رسالة الخطأ "لم يتم العثور على نوع MIME لـ *.csv" في بعض الأنظمة عند تصدير جدول مصدر البيانات.

7.3.20

  • يُصلح استيراد بيانات جدول مصدر البيانات.

7.3.19

  • يُصلح الخلل الذي يتسبب أحيانًا في فشل عمليات الاختيار إذا احتوى الاستعلام على وسيطة فارغة.

7.3.18

  • لم يعد يتم التخلص من ذاكرة التخزين المؤقتة لاستعلامات البيانات الديناميكية عند إعادة تشغيل خدمة الويب.

7.3.17

  • يصلح الخلل الذي يؤدي إلى تعطيل تعليقات الجداول.
  • يتم إجراء المزيد من التخزين المؤقت لتسريع عمليات استعلام البيانات بشكل أكبر.

7.3.16

  • يصلح الخلل الذي يتسبب في حدوث خطأ عند الإشارة إلى استعلام فرعي للبيانات عدة مرات على مستويات مختلفة.

7.3.15

  • المزيد من الإصلاحات لتحسين أداء استعلامات البيانات.

7.3.14

  • إصلاحات متنوعة لتحسين أداء استعلام البيانات.

7.3.13

  • تحسين تخزين أصول لوحة معلومات SKOOR الثابتة مؤقتًا.
  • إصلاح الخلل الذي يمنع تخزين استدعاءات واجهة برمجة التطبيقات (API) مؤقتًا.

7.3.12

  • زيادة أداء نقاط نهاية القيم المتميزة.
  • يتجنب استعلامات البيانات المادية ذات مجموعات النتائج الضخمة التي تعطل خدمة الويب بأكملها.

7.3.11

  • يستخدم الجدول الجديد «stablenet_permission_hash» من StableNet FDW. وهذا يسمح بتحسين استعلامات البيانات المادية والتخزين المؤقت بشكل كبير بشكل عام.

7.3.10

  • يعيد استخدام مثيلات عميل HTTP في Java.
  • لم يعد يبطل صلاحية رموز StableNet Auth بعد عمليات الاختيار، حيث إن هذا يتم الآن تلقائيًا بواسطة SKOOR Auth. وهذا يوفر رحلة ذهاب وإياب واحدة إلى خدمة SKOOR Auth.
  • لا تحاول استخدام الجداول غير المسجلة لاستعلامات البيانات المادية على الخلفية MySQL.

7.3.9

  • يخزن بعض بيانات تعريف جداول قاعدة البيانات مؤقتًا لتقليل الوصول إلى قاعدة البيانات.

7.3.8

  • تقليل عدد استعلامات البيانات المادية التي يتم تحديثها بشكل متزامن إلى 10.

7.3.7

  • لم يعد أداة تحديث ذاكرة التخزين المؤقت لاستعلامات البيانات تتخلص من البيانات المخزنة مؤقتًا في حالة حدوث فشل مؤقت في تحديث رموز المصادقة الخاصة بـ StableNet.

7.3.6

  • يقلل حد ذاكرة التخزين المؤقتة الديناميكية لاستعلامات البيانات من 100'000 إلى 10'000 صف. ومن المفترض أن يؤدي ذلك إلى تقليل عمليات الكتابة على القرص لاستعلامات البيانات غير المادية.

7.3.5

  • استبدال server.tomcat.max-threads الذي تم إهماله بـ server.tomcat.threads.max.

7.3.4

  • زيادة عدد الاتصالات المتزامنة بخادم محرك SKOOR.

7.3.3

  • يصلح خطأً يمنع تشغيل استعلام البيانات للاستفادة من البيانات المادية.
  • يضبط مهلة تحديث استعلامات البيانات المادية بناءً على فترة التحديث.
    • لا شيء: 600 ثانية
    • يوميًا: 600 ثانية
    • كل ساعة: 60 ثانية
    • كل دقيقة: 10 ثوانٍ
  • يحدد الحد الأقصى لعدد الصفوف في استعلامات البيانات المادية بناءً على فترة التحديث.
    • لا شيء: 10'000'000
    • يوميًا: 10'000'000
    • كل ساعة: 1'000'000
    • كل دقيقة: 100'000

7.3.2

  • إصلاح الخلل الذي يمنع تصدير جداول مصادر البيانات.

7.3.1

  • زيادة الحد الأقصى لعدد مؤشرات الترابط في Spring Boot إلى 400.
  • تحسين التزامن عند تحديث استعلامات البيانات المادية.

7.3.0

  • يضيف نوع مصدر البيانات StableNet الذي يستخدم غلاف البيانات الخارجية StableNet.
  • يصلح الخلل الذي يتسبب في عدم تطابق قيم المحرك مع تعريفات القيم.
  • يصلح خطأً كان يتسبب في انخفاض شديد في أداء قاعدة البيانات عند التعامل مع مجموعات البيانات الكبيرة أثناء تصفية القيم الصحيحة.
  • تحسينات أخرى متنوعة في الأداء لمجموعات البيانات الكبيرة.
  • نقاط نهاية جديدة للتصدير/الاستيراد للوحات المعلومات واستعلامات البيانات.

7.2.15

  • يُصلح استيراد بيانات مصدر البيانات من ملفات XLS(X) التي تحتوي على خلايا نهائية مفقودة في بعض الصفوف.

7.2.14

  • إصلاح الخلل الذي يتسبب في فشل "PUT /{parentType}/{parentId}/children" إذا كان العنصر الأصلي هو SLC.

7.2.13

  • زيادة عدد مجمعات اتصال قاعدة البيانات قيد المعالجة من 8 إلى 30 للسماح بمزيد من الطلبات المتوازية.

7.2.12

  • تحسين سلوك مهلة الانتظار في مصادر بيانات MySQL.

7.2.11

  • وظيفة تقدير صفوف النتائج الأكثر دقة لمصادر البيانات واستعلامات البيانات.
  • يدعم أيضًا وظائف اقتطاع التاريخ مثل month() وday() في MySQL.

7.2.10

  • يصلح مشكلات المنطقة الزمنية والتوقيت الصيفي في اتصالات MySQL.
  • يوفر أوقاتًا بتنسيق ISO-8601 في المنطقة الزمنية لخدمة الويب بدلاً من UTC (على سبيل المثال 2023-01-02T08:00:00+01:00 بدلاً من 2023-01-02T07:00:00Z). وهذا أسهل بكثير في القراءة عند العمل مع خدمة الويب ولا ينبغي أن يؤثر على العملاء الحاليين حيث إنهم يأخذون الفارق الزمني في الحسبان دائمًا.

7.2.9

  • كما يتم تقدير عدد الصفوف في MySQL لتحسين أداء الاستعلامات.

7.2.8

  • يعالج مشغلات JSON ? و?| و?& بشكل صحيح في استعلامات البيانات.

7.2.7

  • يُصلح معالجة معلمات التاريخ والوقت المقسمة إلى مناطق.

7.2.6

  • يصلح خطأً يؤدي إلى تعطل تقارير PDF التي تحتوي على أحرف خاصة في حقول التذييل.

7.2.5

  • يُصلح علامة الموضع المعطلة في حالة احتواء استعلام البيانات على أخطاء.

7.2.4

  • يُصلح حالة التعطل عند الوصول إلى استعلام بيانات بطيء عدة مرات بشكل متوازٍ.

7.2.3

  • تحديد أعمدة مصدر البيانات /columns وفقًا للمخطط الحالي.
  • يُصلح تحميل نطاقات مصدر البيانات.

7.2.2

  • يُصلح خطأً يؤدي إلى تعطل الطلبات الموجهة إلى مصادر البيانات واستعلامات البيانات التي تحتوي على علامات اقتباس في قيم استعلامات البحث.
  • يُصلح استعلامات البيانات في قواعد البيانات التي لا تسمح بإنشاء مخطط ذاكرة التخزين المؤقت.

7.2.1

  • يستمع إلى جميع عناوين IPv4 و IPv6 بدلاً من IPv4 فقط.

7.2.0

  • يسمح بتعديل مخططات الجداول لمصادر البيانات
  • يسمح بتغيير بيانات مصادر البيانات
  • تنفيذ التعليقات التوضيحية
  • يغير تمثيل وقت إعادة التقييم النشط بحيث لا يحتوي begin إلا على مكون التوقيت المحلي بدلاً من سلسلة ISO-8601 الكاملة.
  • فترة التحديث لاستعلامات البيانات المادية.

7.1.3

  • يصلح خطأً يتسبب في فشل طلبات /{type}/{id}/children في حالة احتواء كائن على Alarmrecepients.

7.1.2

  • مصادر البيانات
    • يُصلح تقدير رقم الصف في حالة احتواء الاستعلام على شروط IN().

7.1.1

  • مصدر بيانات البرنامج النصي
    • يُصلح الخلل الذي يتسبب في حدوث خطأ إذا كان الإزاحة أكبر من عدد الصفوف المُرجعة.

7.1.0

  • يرفض القيم المقدمة إلى /webcollector التي تكون بعيدة جدًا في المستقبل
  • يُقدَّر عدد الصفوف التي يتم استردادها من قواعد بيانات PostgreSQL بدلاً من حسابها إذا كان عدد الصفوف المستردة أكبر من 1'000'000. وهذا يزيد بشكل كبير من أداء الاستعلام على مجموعات البيانات الكبيرة.
  • يُصلح الخلل الذي يتسبب في فشل استرداد رسائل المهام إذا لم يكن الكائن مجدولًا على أحد المجمّعين.

7.0.7

  • استعلامات البيانات
    • يُصلح حالة التعطل المتبادل (deadlock) عند تحديث استعلامات البيانات المتداخلة.
    • يُصلح خطأً يتسبب في أن يكتشف حل التبعية نفس العنصر التابع عدة مرات.

7.0.6

  • يوفر "defaultParams" في طلب "/dashboards/groups/nested"

7.0.5

  • يُصلح الخلل الذي يتسبب في تعطل طلب "select" على مصدر بيانات البرنامج النصي في حالة عدم توفير معلمات "offset" و"limit".
  • يُصلح تحليل استعلامات البيانات التي تحتوي على with

7.0.4

  • وحدة التحكم في المخزون
    • يُصلح معالجة طلب tree مع الكائنات الفارغة.

7.0.3

  • تقارير PDF
    • كما يُصلح التفاف الصفحات في الجداول.

7.0.2

  • تقارير PDF
    • يصلح مشكلة التفاف الصفحات
    • يصلح تكرار رؤوس الجداول

7.0.1

  • يتيح تصدير استعلام بيانات واحد
  • إصلاح خطأ كان يمنع أحيانًا اكتشاف استعلامات البيانات التي تم تجسيدها بالفعل عند إعادة تشغيل الخدمة.

7.0.0

  • تحسين استعلامات البيانات
    • يسمح بتجسيد استعلامات البيانات بشكل مشابه للعروض المجسدة.
    • إزالة إصدارات Semver واستبدالها بالتواريخ فقط.
    • يحسّن اكتشاف المراجع.
    • يفرض الأذونات من مصدر البيانات في استعلام dmvn testata أيضًا.
    • يخزن نتائج استعلامات البيانات مؤقتًا لتحسين الأداء.
  • تجميع برامج تحويل التقارير إلى صيغة PDF لتحسين الأداء.
  • تحديث موصل MySQL JDBC. يتطلب MySQL >= 8.
  • يضيف InventoryController الذي يوفر نقاط نهاية مُحسّنة لأداة Inventory في لوحة معلومات SKOOR

6.4.3

  • إصدار صيانة لدمج التغييرات من الإصدار 6.3.4.

6.4.2

  • يدعم نوع "citext" في PostgreSQL وأنواعًا خاصة أخرى (إضافية) أيضًا.

6.4.1

  • /files تقوم نقطة النهاية الآن بتعيين نوع MIME الافتراضي للملفات غير المعروفة إلى application/octet-stream بدلاً من إرجاع null.

6.4.0

  • يسمح بحذف الملفات باستخدام DELETE /files/filename.extension
  • زيادة الحد الأقصى لحجم الملف المسموح بتحميله من 1 ميغابايت إلى 10 ميغابايت

6.3.4

  • يضمن أن تستخدم اتصالات PostgreSQL دائمًا مجمع الاتصالات الخارجي.

6.3.3

  • يضمن أن يكون للمستخدم الحالي أذونات كاملة على مجموعة لوحة التحكم التي تم إنشاؤها حديثًا.

6.3.2

  • تسريع بدء تشغيل خدمة الويب عن طريق تشغيل عمليات الترحيل مرة واحدة فقط أثناء التحديث.

6.3.0

  • يسمح للمشغلين باستخدام وظائف مثل AND() و OR() عند إجراء البحث النصي في مصادر البيانات
  • يقوم بفرز الأسباب بشكل طبيعي عند الحصول على المصدر (التفصيل)

6.2.5

  • يصلح عملية إنشاء مجموعات لوحات المعلومات

6.2.4

  • توحيد أذونات لوحات المعلومات
    • يجعل مجموعة "لوحات المعلومات" الجذرية قابلة للقراءة من قبل أي مستخدم
    • يُضاف "رفض أي" إلى مجموعة "لوحات المعلومات" الجذرية للكائنات المشار إليها
    • إزالة قواعد "الرفض" من جميع كائنات لوحة المعلومات

6.2.3

  • فرض أذونات التهيئة للوحات المعلومات على الكائن الأصلي

6.2.2

  • يُصلح عملية استرداد لوحات المعلومات عند نقل المستخدم إلى مجموعات أخرى أو تغيير دوره.

6.2.1

  • يُصلح ترحيل مربع الرأس في حالة وجود مربع رأس واحد فقط على اليمين.

6.2.0

  • نقاط نهاية أذونات لوحة التحكم الجديدة

6.1.4

  • إصلاحات استعلامات البيانات التي تستخدم دوال التجميع بدون اسم مستعار (مثل count(*)، sum(foo)، ...)

6.1.3

  • يتم إجراء عمليات ترحيل لوحة المعلومات مرة واحدة لكل مستأجر بدلاً من مرة واحدة فقط على مستوى النظام.

6.1.2

  • استعلامات البيانات
    • يُصلح استعلامات البيانات التي تم حذف المستخدم ككاتب لها.
    • يُصلح استعلامات البيانات التي تحتوي على سلاسل استعلام فارغة.

6.1.1

  • استعلامات البيانات
    • لا تستخدم تعبيرات الجدول المشتركة (CTE) في MySQL لأن الإصدارات القديمة من MySQL لا تدعمها. من المحتمل أن يتم تضمين ميزة الكشف عن ذلك في إصدار لاحق من خدمة الويب.

6.1.0

  • استعلامات البيانات
    • يستخدم تعبيرات الجدول المشتركة (استعلامات WITH) للاستعلامات الفرعية بدلاً من الاستعلامات الفرعية المتداخلة. لم تعد هناك حاجة لإضافة اسم مستعار إلى الاستعلام الفرعي.
    • يتم حذف التعليقات قبل معالجة الاستعلامات الفرعية والمعلمات.
    • يقيس وقت تنفيذ الاستعلام ومدة الإرجاع
    • يسمح باستخدام القيم الافتراضية للمعلمات ويبسط صيغة المعلمات (لم يعد هناك حاجة إلى "params.")
  • استعلامات البيانات / مصادر البيانات
    • التجميعات الفرعية
  • أنماط نقطة النهاية لتخزين أنماط CSS المخصصة
  • يعرض العناصر التابعة في استدعاء reason

6.0.5

  • إصلاحات في قراءة التكوين من متغيرات البيئة

6.0.4

  • استعلامات البيانات
    • إزالة منطق التثبيت
    • يحذف المجموعات دائمًا بشكل متكرر
    • تبسيط وإصلاح عمليات التصدير/الاستيراد

6.0.3

  • يعرض رمز حالة HTTP 404 بدلاً من 500 في حالة وجود لوحة معلومات غير صالحة

6.0.2

  • يسمح بحفظ استعلامات البيانات غير الصالحة. ويعرض أخطاءً عند استلام استعلام البيانات بدلاً من ذلك
  • لم يعد يضيف علامات الإصدار عند نشر استعلامات البيانات
  • يُصلح الكشف عن المراجع الدائرية لاستعلامات البيانات الفرعية

6.0.1

  • طلب واحد للوحات المعلومات بما في ذلك العناصر التابعة لها (/dashboards/{id}/nested)

6.0.0

  • التكوين من ENV
  • يسمح بتعيين الوضع المظلم للمستخدم
  • تغييرات عديدة عند استرداد لوحات المعلومات
  • إزالة بعض المهام التي كان يقوم بها SKOOR Auth
  • يستخدم تجمع الاتصالات من PGPool-II إن كان متاحًا