لماذا بناء قاعدة المعرفة القائمة على ميدياويكي ليست فكرة سيئة



في الآونة الأخيرة ، ساد التقاء و sharepoint بالكامل تقريبًا في سوق قاعدة المعرفة. لا أجادل ، فالأنظمة ممتازة ، لكنني شخصياً ليس لدي ما يكفي من المرونة ولم ينمو معًا بطريقة أو بأخرى: بقيت ويكي شيربوينت في مكان ما على مستوى عام 2005 (أنا صامتة بشأن العمل مع مستندات المكتب ، كل هذا صاخب) ، و التقاء ، بحكم معالمه ، مع العدد المتزايد من المقالات التي تحولت بلا هوادة إلى تفريغ يستحيل فيه العثور على أي شيء تحتاجه ( ولكن ربما كانت المشكلة في نفسي ).

دون التقليل من مزايا هذه الأنظمة ، أود أن أتحدث عن الفرص التي يتمتع بها Mediawiki كقاعدة معرفية للشركات. بالطبع ، لا يعد تطبيق mediawiki مناسبًا للجميع - ليس لديه تكامل عصري مع jira / tfs / etc ، نقل المستندات مع الصور من حزمة Microsoft Office كثير من الإزعاج ، وهو نفسه مكتوب بلغة PHP ، والتي كانت مؤخرًا رادعًا لبعض المتخصصين في تكنولوجيا المعلومات . ومع ذلك ، فإن المنصة أكثر حيوية من جميع الكائنات الحية وهناك قدر لا بأس به من الناس يعملون على تطويرها ، طالما أن عائلة مشاريع مؤسسة ويكيميديا تعتمد عليها.

ويكي نفسها بخيلة إلى حد ما مع الاحتمالات ، ولكن تمت كتابة الكثير من الامتدادات لذلك. تكمن معظم الوظائف الشيقة في الإضافات ، لذلك سيكون هناك قدر لا بأس به من المقال عنهم. ونعم ، لا يسعني إلا أن أشير إلى أن هناك نسخة خاصة لشركة Mediawiki - BlueSpice ، لم أستخدمها ، وبالتالي لا يمكنني الحكم على كفايتها.

لماذا دخلت في هذا ومن أنت على أي حال
مرحبا اسمي نيكولاي ، أنا مهندس ضمان الجودة.

 textbfتصفيقمتعاطف


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

أولا ، حول رقائق mediaiwki نفسها


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

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

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

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

بالإضافة إلى القوالب ، يسمح امتداد Scribunto باستخدام وحدات lua داخل الويكي. تسمح لك الوحدات النمطية جنبًا إلى جنب مع القوالب بتنفيذ العديد من الأشياء دون الاضطرار إلى كتابة ملحقاتك الخاصة.

على سبيل المثال ، يتم بناء جداول التنقل على أساس هذا الثنائي. جدول التنقل ، على سبيل المثال ، هو هذا الشيء ، والذي يمكن رؤيته عادةً في أسفل الصفحة:


على الرغم من أنها ليست وظائف قياسية ، إلا أنها رسخت نفسها كوسيلة ملائمة للملاحة واستعادة الطلب وتستخدم الآن في كل مكان تقريبًا.

لا يمكنني إلا أن أذكر Mediawiki: Common.css و Mediawiki : ملفات Common.js التي تتيح لك إضافة تخصيص قليل إلى wiki - من الأفضل استخدام الإضافات للأشياء الكبيرة.

المحررين


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

محرر مرئي


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

يرتبط ظهور المحرر المرئي ارتباطًا وثيقًا بظهور Parsoid ، وهي خدمة تحويل بين بناء جملة Mediawiki و html. تبين أن هذه المهمة غير تافهة للغاية نظرًا لحقيقة أن بناء جملة mediawiki قد تطور بشكل عشوائي ولم يتم تعريفه بدقة. قراءة المزيد في وظيفة ممتازة من بلوق الرسمية .

من بين الملحقات التي تتكامل مع VisualEditor ، يمكنك تحديد الرسم البياني لتحرير الرسوم البيانية ، والرياضيات لتحرير الصيغ الرياضية ، و SyntaxHighlight لتسليط الضوء على بناء الجملة من أجزاء التعليمات البرمجية.

ويكيديتور


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

تحرير الصراعات


يتذكر أي شخص استخدم ميدياويكي في الماضي كم كان مؤلمًا كل حل لتحرير التعارضات.

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



يمكنك أن تجرب ذلك بنفسك على صفحة الاختبار .

نماذج لإضافة نفس المحتوى


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



يكشف هذا الامتداد عن قوته عند استخدام Semantic Mediawiki أو نظائرها. تتيح لك علوم الوسائط الدلالية إضافة خصائص الصفحة أو الكائنات ذات الخصائص الخاصة بك إلى الصفحة. يتم تعيين الخصائص مثل هذا (على سبيل المثال ، صفحة ألمانيا):

[[ ::]] 

يمكن بعد ذلك الحصول على هذه الخصائص والكائنات باستخدام طلب الطلب أو من خلال واجهة برمجة التطبيقات.

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

بالنسبة لمفاتيح التسجيل ، يتم سحب المعلومات الأساسية من نفس الخصائص بحيث يمكن استخدامها لإنشاء ملف .reg بقيمة محددة.

شجرة الفئة


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

من ناحية أخرى ، عندما يكون لدينا بالفعل مقالات مصنفة ، يمكن عرضها على أي صفحة في شكل شجرة:



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

LDAP / م إذن


يدعم امتداد مصادقة Ldap ترخيص المجال ، وتقييد الوصول لمجموعات معينة ، ورسم خرائط لمجموعات مستخدمي mediawiki إلى مجموعات ldap. يمكنك تكوين مجالات متعددة في وقت واحد. إنه أمر شاق إلى حد ما من حيث الإعدادات ، ولكن لحسن الحظ ، هناك تعليمات جيدة للغاية على الإنترنت .

حقوق الوصول الحبيبية


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

هناك العديد من الإضافات المختلفة ، لكنها لا تحل المشكلة الأساسية: لم يتم إنشاء mediawiki كـ CMS. لدعم حقوق الوصول ، سيكون عليك تصحيح شفرة Mediawiki ، مضيفًا يدويًا

 $title->userCan('read') 

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

بالنسبة لي ، لقد قمت بحل المشكلة بامتداد عصامي ، تم بناؤه على فكرة PermissionACL ومجموعة من التصحيحات للإضافات المختلفة ووسائط الإعلام نفسها. لحسن الحظ ، لم أكن بحاجة إلى دوري أبطال آسيا المتقدم ؛ كانت هناك فحوصات بدائية كافية للعديد من المجموعات.

لدعم نفس الشيء بالنسبة للصور ، سيكون عليك التفاف الوصول إلى الملف في Img_auth.php . ويستخدم الأخير دفق ملفات من ميدياويكي ، الذي لا يعرف كيفية إعطاء محتوى جزئي (في وقت ميدياويكي 1.31) ، لذلك لدعم تشغيل الفيديو ، سيكون عليك إرفاق دفق ملفات آخر.

دعم الفيديو


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

البحث


أحد الأشياء التي تزعجني شخصيًا في التقاء هو البحث. البحث القياسي في ميدياويكي أسوأ من ذلك ، ولكن لحسن الحظ هناك امتدادات لجهات خارجية. من امتدادات البحث ، الأكثر شيوعًا هي CirrusSearch و SphinxSearch . لم أستخدم هذا الأخير أبدًا ، ولكني عرفت الأول بإحكام شديد ، بالمناسبة ، يتم استخدامه أيضًا في مشاريع مؤسسة ويكيميديا

تعمل CirrusSearch على أساس elasticsearch ، لكي تعمل الإضافة ، ستحتاج أيضًا إلى تثبيت واجهة وسيطة - امتداد Elastica .

يدعم CirrusSearch عددًا مجنونًا من المعلمات ويتطور بنشاط كبير. على سبيل المثال ، كنت مسرورًا للغاية لأن بحث CamelCase بدأ في الفرع 1.32.

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

لا يدعم الامتداد إضافة مرادفات على مستوى تهيئة LocalSettings ، لكن هذا ليس من الصعب حلها عن طريق تحرير رمز الامتداد - راجع AnalysisConfigBuilder.php وإرشادات إعداد مرادفات لـ elasticsearch .

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



بالمناسبة ، ستساعد AdvancedSearch في تنظيم مظهر صفحة البحث ، حيث لن تبدو ضحية لمشجعي مربعات الاختيار.

تحليلات


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

بالنسبة للإنترانت ، هناك امتداد جديرة جدًا لماتومو (مثل Piwik). الامتداد المقابل للتكامل هو MatomoAnalytics .



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

أخرى


بالإضافة إلى ما سبق ، هناك العديد من الملحقات التي تجعل الحياة أسهل. على سبيل المثال ، GuidedTour لتدريس مبتدئين أساسيات العمل مع واجهات ، والنوافذ المنبثقة لمعاينة المقالات على التحويم ، MultimediaViewer لعرض أكثر راحة للصور بالحجم الكامل وأكثر من ذلك بكثير.

ما هي النتيجة؟


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

على عكس كل هذه الميزات الإضافية ، تتطلب mediawiki باستمرار وظيفة تقطيع الملفات لتلبية احتياجات شركة معينة ، لذلك يجب أن يكون مسؤولها مستعدًا ذهنياً لفهم php و js و lua code. لكن إذا لم يكن الأمر مخيفًا ، وإذا وافقت على فصل العمل مع مستندات المكتب والعمل مع مقالات wiki على منصات مختلفة ، فقد تكون ميدياويكي كقاعدة معرفة فكرة جيدة.

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


All Articles