تخصيص أشرطة أدوات Collabora CODE بدون تعديل الكود المصدري

لتبسيط محرر Collabora Online Development Edition (CODE)، اختر "مُصغّر" أو "مُبَوَّب" للتصميم العام، ثم استخدم تكامل PostMessage الخاص بمضيف WOPI لإخفاء الأوامر أو الأزرار أو علامات تبويب Notebookbar. يُعدّ طي شريط الأدوات تغييرًا مُريحًا في العرض؛ بينما يُعدّ إخفاء عنصر تحكم من خلال المضيف أكثر ملاءمةً عندما ترغب في واجهة مُوحّدة لكل جلسة تحرير.

أي واجهة برمجة تطبيقات يجب عليك تخصيصها؟

يُقدّم برنامج CODE تصميمًا مُدمجًا مع قوائم وأشرطة أدوات تقليدية، وتصميمًا مُبَوَّبًا مع شريط أدوات دفتر الملاحظات. ابدأ بتحديد التصميم الذي يراه المستخدمون: مُعرّف زر شريط الأدوات ومُعرّف علامة تبويب شريط أدوات دفتر الملاحظات غير قابلين للتبديل. تُشير إرشادات دعم Collabora إلى أن الأسماء القديمة classicقد notebookbarتم إيقافها لصالح الأسماء الجديدة compactبدءًا tabbedمن سلسلة 21.11. راجع إرشادات تكوين واجهة Collabora .

واجهة Collabora CODE ذات علامات تبويب تتضمن علامات تبويب الملف، والصفحة الرئيسية، والإدراج، والتخطيط، والعرض، والمساعدة أعلى مستند Writer.
يجمع تخطيط علامات التبويب أدوات التحرير ضمن علامات تبويب مسماة؛ وتُعد علامة تبويب المساعدة هدفًا محتملاً لـ Hide_NotebookTab.
واجهة Collabora CODE Compact تعرض قوائم الملف، والتحرير، والعرض، والإدراج، والتنسيق، والأدوات، والمساعدة أعلى شريط أدوات ضيق.
يستخدم التصميم المضغوط صف قائمة منفصل وشريط أزرار أصغر، لذا فإن عناصر التحكم في القائمة والأزرار تحتاج إلى معرفات مختلفة.

هل يجب تغيير الإعدادات الافتراضية للخادم أم جلسة المستخدم؟

غيّر الإعدادات الافتراضية للخادم فقط عندما يكون من الضروري أن يبدأ معظم المستخدمين بنفس التخطيط. في عمليات التثبيت ذاتية الإدارة، يقبل user_interface.modeالإعداد القيم التالية : أو أو . قم بعمل نسخة احتياطية من التكوين، ثم غيّر القيمة الحالية بدلاً من إضافة عنصر XML آخر.coolwsd.xmldefaultcompacttabbedmode

<user_interface>
  <mode>tabbed</mode>
</user_interface>

يوضح ملف XML المختصر هذا الإعداد، وليس بديلاً عن قسم التكوين الكامل. طبّق التغيير من خلال عملية التكوين وإعادة تشغيل الخدمة المعتادة في عملية النشر، ثم أعد فتح المستند. يمكن لعمليات نشر الحاويات بدلاً من ذلك تمرير --o:user_interface.mode=tabbedتجاوزات بدء التشغيل الخاصة بها في CODE. يمكن لتطبيق التضمين أيضًا التأثير على وضع بدء التشغيل من خلال ui_defaultsقيمة WOPI الخاصة به. قد يكون لتفضيل المضيف أهمية عند استخدام الخادم default، لذا لا تفترض أن تعديل الخادم سيلغي خيارًا خاصًا بالتكامل.

هل يمكنك إخفاء شريط الأدوات بالكامل دون تعديل كود المصدر؟

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

لتحكم أدق، اختر إجراء PostMessage الذي يطابق العنصر. ترد التعيينات التالية في دليل Collabora Online SDK :

ما الذي يجب إخفاؤهإجراء PostMessageتنسيق المعرف
زر واحد في شريط الأدواتHide_Buttonمعرف الزر
أمرٌ يُطبّق على القوائم وأشرطة الأدواتHide_Commandأمر أونو، مثل.uno:ThemeDialog
علامة تبويب واحدة في تخطيط علامات التبويبHide_NotebookTabمعرّف علامة التبويب، مثلHelp
مدخل قائمة مختصرةHide_Menu_Itemمعرف عنصر القائمة

تم توثيق الإجراء الخاص بالتبويب بدءًا من الإصدار 24.04.11.1 . كما يشير SDK إلى تغطية موسعة لقوائم السياق Hide_Commandفي الإصدار 24.04.11.2 . تحقق من إصدار CODE المنشور قبل الاعتماد على أي من السلوكين.

كيف يتم إرسال أوامر الإخفاء من مضيف WOPI؟

يتم إرسال هذه الإجراءات من قِبل التطبيق الذي يُضمّن التعليمات البرمجية في إطار iframe، وليس عن طريق إدخالها في مربع حوار إعدادات التعليمات البرمجية. أنت بحاجة إلى التحكم في تكامل المضيف، CheckFileInfoواستجابة WOPI فعّالة، وقيمة PostMessageOriginتُطابق مصدر تطبيق الويب المضيف. إذا كنت تستخدم تكامل Nextcloud أو ownCloud مُجمّعًا، فقد لا يُتيح لك الوصول إلى خطافات PostMessage المُخصصة؛ في هذه الحالة، قم بإجراء التغيير في التكامل نفسه أو استخدم إعداداته المدعومة.

1. انتظر حتى يكتمل تحميل الكود

قم بتسجيل مستمع للرسائل في صفحة المضيف. تحقق من كلٍ من نافذة المرسل ومصدره. عندما يُبلغ CODE App_LoadingStatusعن رسالة Status: Document_Loaded، أرسلها Host_PostmessageReadyقبل رسائل التخصيص. بدون هذه المصافحة، قد يتجاهل CODE أوامر المضيف - وهو عطل موضح في مشكلة Collabora رقم 13224 .

2. إخفاء علامة تبويب وأمر تنسيق

يفترض كود جافا سكريبت التالي، المُنفذ على جانب المضيف، أن صفحتك تحتوي بالفعل على إطار iframe بمعرّف collabora-frame. عيّن هذا المعرّف editorOriginإلى مصدر HTTPS الذي يُشغّل مُحرّر التعليمات البرمجية الخاص بك، وليس خادم تخزين WOPI. سجّل المُستمع قبل تهيئة المستند في تطبيقك الفعلي.

const frame = document.getElementById('collabora-frame');
const editorOrigin = 'https://office.example.com';

function sendToCode(MessageId, Values = {}) {
  frame.contentWindow.postMessage(JSON.stringify({
    MessageId, SendTime: Date.now(), Values
  }), editorOrigin);
}

window.addEventListener('message', (event) => {
  if (event.source !== frame.contentWindow ||
      event.origin !== editorOrigin) return;
  let message;
  try {
    message = typeof event.data === 'string'
      ? JSON.parse(event.data) : event.data;
  } catch { return; }
  if (message?.MessageId !== 'App_LoadingStatus' ||
      message?.Values?.Status !== 'Document_Loaded') return;

  sendToCode('Host_PostmessageReady');
  sendToCode('Hide_NotebookTab', { id: 'Help' });
  sendToCode('Hide_Command', { id: '.uno:ThemeDialog' });
});
لوحة مصادر أدوات مطوري المتصفح تعرض مستمع رسائل من جانب المضيف واستدعاء Hide_NotebookTab الذي يستهدف Help.
يمكنك فحص توصيلات postMessage من لوحة المصدر الخاصة بالتطبيق المضيف. استخدم نموذج التعليمات البرمجية الكامل الموجود في المقالة، وليس النص المختصر المعروض في هذه اللوحة.

هذا Helpهو هدف علامة تبويب Notebookbar، بينما .uno:ThemeDialogيُحدد أمر LibreOffice UNO. يُوضح مطورو Collabora هذا المعرّف تحديدًا في إرشاداتهم حول إخفاء عناصر UNO . لإخفاء زر مُحدد من شريط أدوات Compact، استبدل الإجراء بـ [ Hide_Buttonاسم الإجراء] وقدّم معرّف الزر المُؤكد. لا تُخمّن المعرّف من التسمية الظاهرة؛ راجع مصدر التعليمات البرمجية المُثبّت أو إرشادات معرّف شريط الأدوات في SDK.

ماذا لو لم يختفِ التبويب أو شريط الأدوات؟

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

توجد أيضًا عيوب خاصة بكل إصدار. على سبيل المثال، تصف المشكلة رقم 15910 في CollaboraHide_NotebookTab خطأً في جافا سكريبت في الإصدار 25.04.9.4 من البرنامج، والذي تم الإبلاغ عنه في يونيو 2026؛ وقد تم إغلاق المشكلة، ولكن هذا وحده لا يُحدد أي الإصدارات المنشورة تحتوي على إصلاح. تحقق من إصدارك المحدد وملاحظات الإصدار الخاصة به إذا واجهت الخطأ المذكور.

أخيرًا، لا يُعدّ الإخفاء تحكمًا في الوصول. فقد يُتيح زر الطباعة أو التنزيل المخفي الوصول إلى واجهات برمجة التطبيقات أو مسارات أخرى مماثلة. إذا كان الهدف هو منع هذه العمليات، فاستخدم WOPI DisablePrintأو DisableExportالعلامات الموثقة، وفرض أذونات التخزين حسب الحاجة، بدلًا من الاعتماد Hide_Buttonعلى Hide_Command.

كيف يمكنك التحقق من نجاح عملية التخصيص؟

افتح مستندًا جديدًا بالتصميم المطلوب. تأكد من Helpاختفاء علامة التبويب في وضع علامات التبويب، وأن أمر "السمة" لم يعد متاحًا في المكان الذي كان يظهر فيه سابقًا. ثم عدّل مستندًا تجريبيًا واحفظه للتأكد من استمرار عمل خاصية التأليف بشكل طبيعي. كرر الفحص مع نوع مستند آخر وبعد إعادة تحميل الصفحة، لأن الخادم سيُعيد تطبيق أوامر الإخفاء الخاصة بالجلسة.

واجهة Collabora CODE ذات علامات تبويب تتضمن ملف، الصفحة الرئيسية، إدراج، تخطيط، وعرض، مع إزالة المساعدة وبقاء مستند Writer قابلاً للتحرير.
بعد إخفاء علامة التبويب "المساعدة"، تظل علامات التبويب الأخرى الخاصة بالتحرير ولوحة المستند متاحة لإجراء فحص وظيفي.

اترك تعليقاً

تخصيص أشرطة أدوات Collabora CODE بدون تعديل الكود المصدري

تخصيص أشرطة أدوات Collabora CODE بدون تعديل الكود المصدري

قم بتبسيط Collabora CODE باستخدام الوضع المضغوط أو وضع علامات التبويب وعناصر تحكم WOPI PostMessage لإخفاء الأزرار والأوامر وعلامات التبويب المحددة بأمان.

تشغيل كود Collabora خلف Nginx مع إنهاء TLS

تشغيل كود Collabora خلف Nginx مع إنهاء TLS

قم بتعيين Nginx مسؤولاً عن HTTPS لحاوية Collabora CODE، وقم بتحرير WebSockets بشكل صحيح، وتحقق من نقطة النهاية العامة دون كشف المنفذ 9980.

أبقِ النص مرئيًا عند فتح لوحة مفاتيح Collabora Mobile

أبقِ النص مرئيًا عند فتح لوحة مفاتيح Collabora Mobile

استكشاف أخطاء لوحة مفاتيح متصفح الهاتف المحمول التي تغطي النص في Collabora Online وإصلاحها، مع حلول سريعة وفحوصات منفصلة للمتصفحات وWebViews المضمنة وصفحات الاستضافة.

أوقف عمليات الطباعة والتنزيل غير المرغوب فيها في ONLYOFFICE

أوقف عمليات الطباعة والتنزيل غير المرغوب فيها في ONLYOFFICE

قم بتعيين حدود الطباعة والتنزيل لروابط ONLYOFFICE أو أعضاء الغرفة أو جلسات Docs API، ثم تحقق من القيود من حساب المستلم.

جدولة نسخ احتياطية موثوقة لمساحة عمل ONLYOFFICE

جدولة نسخ احتياطية موثوقة لمساحة عمل ONLYOFFICE

قم بتعيين وجهة النسخ الاحتياطي، والجدول الزمني، وتغطية البريد، وحد الاحتفاظ في ONLYOFFICE Workspace، ثم تحقق من أن الأرشيف جاهز للاستعادة.

قم بتثبيت ONLYOFFICE Docs Enterprise باستخدام ملف الإنشاء الرسمي الخاص به

قم بتثبيت ONLYOFFICE Docs Enterprise باستخدام ملف الإنشاء الرسمي الخاص به

ابدأ تشغيل حزمة Enterprise Docker Compose، واحفظ ترخيصها وبياناتها، وقم بتكوين JWT بأمان، وتأكد من أن المحررات جاهزة للتكامل.

تنظيف نص جدول البيانات باستخدام ماكرو ONLYOFFICE قابل لإعادة الاستخدام

تنظيف نص جدول البيانات باستخدام ماكرو ONLYOFFICE قابل لإعادة الاستخدام

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

تغيير موقع التخزين الافتراضي لمساحة عمل ONLYOFFICE

تغيير موقع التخزين الافتراضي لمساحة عمل ONLYOFFICE

انقل بيانات البوابة من القرص الافتراضي إلى موفر تخزين سحابي مدعوم، أو انقل بيانات Docker بأمان عن طريق تغيير تعيين وحدة التخزين المضيفة الخاصة بها.

إزالة خادم مستندات ONLYOFFICE بالكامل من نظام التشغيل Linux

إزالة خادم مستندات ONLYOFFICE بالكامل من نظام التشغيل Linux

حدد ما إذا كان خادم المستندات يستخدم حزمة Linux أو Docker، وقم بإزالة مكوناته فقط، وتحقق من البيانات المتبقية دون حذف الخدمات المشتركة عن طريق الخطأ.

تخلص من تأخر التحرير المشترك في ONLYOFFICE عن طريق تحديد نقطة الاختناق

تخلص من تأخر التحرير المشترك في ONLYOFFICE عن طريق تحديد نقطة الاختناق

حدد أسباب بطء التحرير التعاوني، مثل ضغط موارد Docker أو اتصالات الوكيل أو تحميل المستندات، ثم اختر الحل الذي يتوافق مع قياساتك.