بروسيس واير

ProcessWire هو نظام إدارة محتوى (CMS) وإطار عمل لإدارة المحتوى (CMF) وإطار عمل لتطبيقات الويب (WAF) مجاني ومفتوح المصدر ، مكتوب بلغة البرمجة PHP . يُوزع بموجب رخصة موزيلا العامة 2.0. يعتمد ProcessWire على واجهة برمجة تطبيقات (API) ذات استخدام واتفاقيات تسمية مشابهة لإطار عمل جافا سكريبت jQuery . الهدف المعلن من واجهة برمجة التطبيقات هو توفير مستوى الوصول والتحكم في صفحات الموقع الإلكتروني، تمامًا كما يوفر jQuery لنموذج كائن المستند (DOM). [ 3 ] تتم إدارة المحتوى إما عبر واجهة برمجة التطبيقات أو لوحة تحكم الإدارة عبر الويب. يُستخدم ProcessWire على نطاق واسع لتطوير مواقع الويب وتطبيقاتها وخدماتها وموجزات المحتوى والتطبيقات ذات الصلة.

سمات

  • واجهة برمجة تطبيقات مصممة بأسلوب jQuery مع توثيق شامل [ 4 ]
  • برنامج تثبيت رسومي عبر الإنترنت
  • جميع الحقول هي حقول مخصصة، مفهرسة لعمليات البحث في واجهة برمجة التطبيقات (API).
  • يمكن تشغيلها من تطبيقات PHP أخرى أو من نصوص سطر الأوامر [ 5 ]
  • وظائف معالجة الصور التفاعلية والقائمة على واجهة برمجة التطبيقات
  • قائمة صفحات شجرية تعمل بالسحب والإفلات
  • وظائف سحب وإفلات الملفات والصور لتحميلها وتحريرها
  • دعم عمليات التثبيت واسعة النطاق (أكثر من 100 ألف صفحة)
  • استخدام المحددات القائمة على السلاسل النصية لاستدعاءات واجهة برمجة التطبيقات [ 6 ]
  • نظام التحكم في الوصول القائم على الأدوار
  • التركيز الأساسي للتطوير على الأمن [ 7 ]
  • مخرجات مستقلة عن لغة الترميز، تاركةً جميع المخرجات للمطور.
  • تعتمد ملفات القوالب على لغة PHP، ولا يتم استخدام محرك قوالب بشكل افتراضي.
  • تخزين مخرجات الصفحات بأكملها أو أجزاء فردية
  • دعم متعدد اللغات مع حقول نصية وعناوين URL متعددة اللغات [ 8 ]
  • بنية المكونات الإضافية المعيارية ووحدات الطرف الثالث المتاحة [ 9 ]
  • تُعد أنواع الحقول والإدخال وحدات إضافية بحد ذاتها
  • نظام ربط يسمح بربط معظم الوظائف الأساسية وتغييرها [ 10 ]
  • يمكن تكرار الحقول ومجموعات الحقول باستخدام أنواع حقول Repeater المضمنة
  • دعم تحرير النصوص المنسقة باستخدام CKEditor

جمهور

قبل وأثناء تطوير موقع ويب أو تطبيق، يتألف جمهور ProcessWire في الغالب من مطوري ومصممي مواقع الويب. [ 11 ] ضمن هذا الجمهور، يُستخدم ProcessWire كأداة تطوير ونظام إدارة محتوى.

بعد مرحلة التطوير، يتغير الجمهور المستهدف ليشمل الأفراد الذين يديرون محتوى المواقع الإلكترونية والتطبيقات، والذين لا يعملون عادةً كمصممي أو مطوري مواقع. يستخدم هذا الجمهور برنامج ProcessWire بشكل أساسي كنظام إدارة محتوى (CMS) لإدارة المحتوى.

تاريخ

يخضع برنامج ProcessWire للتطوير النشط منذ عام 2003. وقد طُوّر بين عامي 2003 و2007 تحت اسم Dictator CMS. ثم طُوّر بين عامي 2007 و2010 تحت اسم ProcessWire 1.x. وفي عام 2010، أصبح ProcessWire مشروعًا مفتوح المصدر، ويجري تطويره حاليًا تحت اسمي ProcessWire 2.x و3.x. [ 12 ]

صدرت من برنامج ProcessWire ثماني إصدارات رئيسية، وأكثر من مئة إصدار فرعي منذ إطلاقه كمصدر مفتوح. ويُعدّ الإصدار 3.0، الذي صدر في سبتمبر 2016، ثاني إصدار رئيسي. [ 13 ]

الترجمات والمجتمع

تتمتع ProcessWire بمجتمعات نشطة وعالمية من المستخدمين النهائيين والمطورين. وقد ترجمت هذه المجتمعات ProcessWire من الإنجليزية إلى لغاتها الأصلية، بما في ذلك: الصينية ، والكرواتية ، والتشيكية ، والهولندية ، والفرنسية ، والألمانية ، واليونانية ، والعبرية ، والمجرية ، والإيطالية ، واليابانية ، والبرتغالية ، والروسية ، والسلوفاكية ، والإسبانية ، والسويدية ، والتركية ، والأوكرانية ، والفيتنامية . ويُعدّ منتدى دعم المطورين المركز الرئيسي لمجتمعات ProcessWire. [ 11 ]

الجوائز والمنشورات

في نوفمبر 2016، حصل ProcessWire على جائزة أفضل نظام إدارة محتوى للشركات الصغيرة من CMS Critic. [ 14 ]

في يوليو 2016، نشرت مجلة Smashing دليلًا للمبتدئين في ProcessWire . [ 15 ]

منذ يناير 2016، نشرت Envato Tuts+ العديد من المقالات والدروس التعليمية حول ProcessWire. [ 16 ]

في يناير 2015، حصل ProcessWire على جائزة أفضل نظام إدارة محتوى PHP مجاني من CMS Critic. [ 17 ]

في ديسمبر 2014، نشرت مجلة PHP Architect كتاب ProcessWire: المرونة والقوة وجرعة كبيرة من المتعة الخالصة . [ 18 ]

في ديسمبر 2012، حصل ProcessWire على جائزة أفضل نظام إدارة محتوى مجاني من CMS Critic. [ 19 ]

بنيان

يعتمد ProcessWire على بنية شجرية لمحتوى الصفحات (بدلاً من نظام الحاويات). يعكس عنوان URL أو مسار كل صفحة موقعها في التسلسل الهرمي. ويُستخدم هذا المسار نفسه للإشارة إلى الصفحة في واجهة برمجة التطبيقات (API). ونتيجةً لذلك، يُحدد هذا الربط بين المسار والتسلسل الهرمي الداخلي لشجرة المحتوى بنية ProcessWire. إضافةً إلى علاقة الأصل والفرع التي تُشير إليها شجرة المحتوى، يدعم ProcessWire علاقات مرجعية من نوع واحد إلى واحد وواحد إلى متعدد بين صفحات الشجرة.

بنية القوالب

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

تحتوي القوالب، اختيارياً، على ملف PHP مرتبط بها، يُشار إليه باسم ملف القالب. يُنفَّذ هذا الملف عند الوصول إلى عنوان URL لصفحة تستخدم القالب. ونتيجةً لذلك، تُستخدم ملفات القوالب عادةً لأغراض الإخراج. يُزوَّد ملف القالب بعدة متغيرات API، أبرزها متغير API $pageالذي يحتوي على جميع حقول ومحتوى الصفحة المعروضة حالياً. [ 20 ]

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

هندسة المجال

جميع الحقول في ProcessWire هي حقول مخصصة يُحددها المستخدم. يمكن ربط حقل معين بقوالب متعددة، والتي بدورها تحتوي على أجزاء منفصلة من المحتوى لكل صفحة تستخدم ذلك القالب. لكل حقل نوع، يُشار إليه بـ "fieldtype" (كلمة واحدة)، وهو نوع من وحدات البرنامج المساعد. يتضمن ProcessWire العديد من وحدات fieldtype، بما في ذلك تلك التي تدعم النصوص والأرقام والملفات والصور ومراجع الصفحات وعناوين URL وعناوين البريد الإلكتروني والتواريخ والتعليقات. يتم تثبيت وحدات fieldtype إضافية كوحدات خارجية.

التوزيع والمتطلبات

يتم استضافة شفرة المصدر الخاصة بـ ProcessWire على GitHub ويتم توزيعها أيضًا على Softaculous و Bitnami و Composer/Packagist .

يعمل برنامج ProcessWire على منصة AMP ( Apache ، MySQL أو MariaDB ، PHP) المستخدمة من قبل العديد من مزودي خدمات الاستضافة وبيئات تطوير الويب. يتطلب ProcessWire الإصدار 5.3.8 من PHP أو أحدث، والإصدار 5.0.15 من MySQL أو MariaDB أو أحدث. [ 21 ]

مراجع

  1. "تنزيل برنامج ProcessWire الأساسي" . processwire.com . تم الاطلاع عليه بتاريخ 2024-05-03 .
  2. "processwire/processwire commits" . github.com . تم الاطلاع عليه بتاريخ 2024-05-03 .
  3. "المفهوم الكامن وراء واجهة برمجة التطبيقات" .
  4. "وثائق مرجعية لواجهة برمجة تطبيقات ProcessWire" .
  5. "تهيئة ProcessWire" .
  6. "المحددات في ProcessWire" .
  7. "أمن ProcessWire" .
  8. "دعم متعدد اللغات" .
  9. "دليل الوحدات النمطية" .
  10. "خطافات أسلاك المعالجة" .
  11. 1 2 "مجتمع ProcessWire" . 26 يناير 2024.
  12. "تاريخ وخلفية ProcessWire" .
  13. "سجل تغييرات ProcessWire 3.0" .
  14. "جوائز نقاد CMS لعام 2016 (نوفمبر 2016)" . 12 نوفمبر 2012.
  15. "مجلة سماشينغ: دليل المبتدئين لبرنامج بروسيس واير" . 2016-07-22.
  16. "Envato Tuts+: دروس ومقالات ProcessWire" . 22 أغسطس 2017.
  17. "جائزة أفضل نظام إدارة محتوى PHP مجاني من CMS Critic (يناير 2015)" . 2015-01-21.
  18. "نُشرت ProcessWire في مجلة PHP Architect (ديسمبر 2014)" .
  19. "جائزة أفضل نظام إدارة محتوى مجاني من CMS Critic (ديسمبر 2012)" . 2012-12-03.
  20. "متغير واجهة برمجة التطبيقات $page" .
  21. "كيفية تثبيت نظام إدارة المحتوى ProcessWire" . processwire.com . تم الاطلاع عليه بتاريخ 2024-05-02 .