it-swarm.asia

ما هي العملية التي تستخدمها لتطوير وورد؟

أنا مهتم بكيفية قيام الآخرين بتطوير السمات والإضافات لـ WordPress. بالنسبة لي ، لا يقوم محرر المتصفح الموجود بلوحة المشرف بقصه. حاليًا ، أنا فقط أستخدم IDE مع PHP plugin (NetBeans) ، وسحب دليل الويب الخاص بالتطوير من الخادم الخاص بي ، وأقوم بالتحرير فيه ، والضغط لأعلى للاختبار ، ثم تهاجر للعيش.

أنا أبحث عن كيفية استخدام الآخرين لأدواتهم المفضلة لإدارة سير العمل لتطوير واختبار ونشر السمات والإضافات واختبار أحدث إصدارات WordPress مقابلها قبل بدء البث المباشر.

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

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

37
Thomas Owens

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

للبدء في مشروع جديد ، لديّ برنامج نصي من شل يعتني بكامل أعمال إعداد مضيف جديد ومراجعة أحدث علامة من WordPress (من مستودع git الخاص بنا ، والذي يتتبع svn).

الشكل الأساسي لموقع ويب بأكمله هو مستودع git في محتوى wp. يحتوي على ملف Capfile (برنامج Makefile eqiuivalent لكابسترانو) وملف تكوين YAML يعتنيان بالنشر ( http://github.com/dxw/wp-capistrano ). داخل هذا المستودع أيضًا ، أضيف السمة والمكونات الإضافية كوحدات فرعية git (نعم ، نحافظ على مستودعات git للمكونات الإضافية لأطراف أخرى أيضًا - نود أن نستخدم أحدث إصدار قمنا باختباره شخصيًا).

بالنسبة للسمة ، لديّ أداة/إطار لإنشاء الشفرة ( github.com/dxw/wp-generate ). إنه يعني التفكير بشكل أقل في المكان الذي يجب أن يذهب فيه الكود ، وله طريقة طبيعية للفصل بين طريقة العرض والطراز/جهاز التحكم.

عند كتابة الإضافات ، أستخدم الخيار/webrat للقيام بالتطوير القائم على الاختبار ( github.com/dxw/cucumber-wordpress ).

ولترحيل قواعد بيانات التطوير إلى الإنتاج ، عادة ما تكون مجرد حالة لنسخ ملف التفريغ (WP_SITEURL و WP_HOME يتم تعيينهما بواسطة capistrano على آلات التدريج/الإنتاج ، لذا لا يوجد بحث/استبدال).

لا يمكنني تخيل عدد الساعات التي قمت بحفظها باستخدام هذه النصوص.

20
tomdxw

Thomas Owens هذا السؤال يتداخل إلى حد ما ويكرر السؤال " برنامج لتطوير السمات/البرنامج المساعد WordPress؟ ." لست متأكدا مما إذا كان يجب علينا إغلاق ولكن يبدو تركيز مختلف قليلا. وبالتالي...

نظام التشغيل Mac OS X

هنا مجموعة أدواتي الأساسية في الوقت الحالي لنظام التشغيل Max OS X (أبحث دائمًا عن الأفضل). لاحظ أنني جربت NetBeans وتخلّيت عن ذلك. بطيء جدًا وميزات قليلة جدًا.

ويندوز فيستا

عندما كنت على نظام التشغيل Windows Vista ، مجموعة أدواتي الأساسية كانت:

  • FileZilla - عميل FTP
  • Firefox Firebug - jQuery Debugging
  • Navicat for MySQL - عميل MySQL التجاري
  • Unfuddle.com - SVN مستودع وإدارة المهام لمشاريع العميل
  • PhpED - Debugging IDE (ليس هناك ما هو أفضل على نظام Windows ، ربما يكون cept PhpStorm + [XDEBUG] [24])
  • HeidiSQL - عميل MySQL كبير مفتوح المصدر
  • Notepad2 - عظيم المفكرة خفيفة الوزن وقابلة للاستخدام
  • TortoiseSVN - عميل SVN
  • Fiddler 2 - HTTP لا يهزم مصحح أخطاء

نشر رمز/ترحيل البيانات إلى تبديل المجالات

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

أتمنى أن يساعدك هذا

مايك

6
MikeSchinkel

هذه إجابة لسير العمل ، ليست خاصة بـ IDE أو مكون إضافي.

أحد الحلول التي تعمل بشكل جيد لتطوير البرنامج المساعد هو البدء بخادم ويب Apache محلي مع تثبيت كل تغيير في ووردبريس في مجلد فرعي.

في موقع منفصل خارج جذر الخادم المحلي ، قم بتخزين نسخ عمل ووردبريس المساعد/الموضوع. إنشاء ارتباط إلى الجذع/العلامة/الفرع المناسب في مجلد/wp-content/plugins لكل تغيير وورد.

عند تحرير المكوّن الإضافي في IDE التغييرات التي تجريها ، سيتم تمثيلها بوضوح في كل عملية تثبيت وورد ، لذلك يصبح من السهل اختبار أشكال متعددة من وورد.

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

باستخدام IDE يدعم SVN و FTP ، كل ما عليك القيام به هو تحرير نسخة العمل الخاصة بك وإلزام التغييرات التي أجريتها على المستودع.

بصفتي IDE Coda يفعل ذلك بالنسبة لي ، لكني أحب NetBeans و Eclipse أيضًا.

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

5
leetagg

لديّ إعداد غير معقد نسبيًا تطور منذ بدء وظيفتي الحالية ~ قبل 2.5 عام.

النامية

أفعل كل ما عندي من تطوير SSH ، باستخدام Vim الداخل GNU screen . الإضافات VIM تشمل:

الانقسامات العمودية و :set hidden ضرورية. أنا أفضل أيضًا محطة طرفية ملونة ( iTerm على Mac OS X) مع railscasts نظام الألوان.

لقد قمنا أيضًا بتعديل ببطء dBug ليناسب احتياجاتنا. بديل جيد لـ print_r() و var_dump() عندما تعرف أن المتغير عبارة عن صفيف أو كائن.

نشر

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

3
Annika Backstrom

وورد موضوع عملية التنمية

  • قم بتحويل إطار سلك Mock Flow إلى XHTML و CSS أساسي

  • قم بتوصيل XHTML إلى ملف قالب master.php وتحويله إلى علامات القالب ووظائف WP

  • قسِّم master.php إلى ملفات القوالب المختلفة ، مثل: header.php و index.php و sidebar.php و footer.php

  • اكتب أي استعلامات ووظائف مخصصة قد تكون مطلوبة

  • قم بتوصيل تخطيط CSS وأضف div {outline:1px solid red;} للمساعدة في تعديل layout4.

  • قم بتحميل مجلد Theme إلى WordPress للاختبار والمزيد من التطوير

أدوات تطوير WordPress

  • محرر كود Aptana Studio WorkPlace مع بروتوكول FTP مدمج

  • المعجون

  • المزدوج 1920 × 1200 شاشات مع متصفح مفتوح على واحد ومحرر رمز من جهة أخرى

  • Wacom Intuis 4 tablet

  • Firebug مع Yslow وسرعة صفحة Google

3
Chris_O

سير العمل الخاص بي بسيط للغاية. أنا مواكبة 4 البيئات. الاختبار والتطوير والتدريج والإنتاج.

سير العمل

يمكنني استخدام بوابة للتحكم مراجعة بلدي ؛ أتجاهل ملف wp-config.php حتى لا يتم الكتابة فوق هذا الملف أثناء قيامي بالدفع والسحب عبر المواقع المختلفة. يمكنني استخدام عملية الكشف عن المستودع كمستودع عام/مركزي للآخرين للدفع والسحب منه.

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

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

نظرًا لأن wp-config.php ليس في موقعه ، فإنه يجعل من السهل للغاية دفع الأشياء وسحبها. عند الانتقال من مرحلة الإنتاج إلى مرحلة الإنتاج ، أقوم بنسخ الملفات وليس استخدام git ، لذلك يجب أن أتأكد من صحة wp-config.php.

لقد طرحت/ سؤال ، وسأبحث في استخدام هذا البرنامج المساعد.

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

أدوات

  • Textmate لمحرر بلدي ، على الرغم من أنني بدأت في استخدام MacVim. يمكنني استخدام vim عندما يكون على لينكس.
  • تتمة برو لمعالجة قاعدة البيانات. إذا لم أتمكن من الاتصال به فسأستخدم PHPMyAdmin
  • نقل لبروتوكول نقل الملفات إذا كنت في حاجة إليها.
  • بوابة لمراقبة المراجعة. في الغالب حسب سطر الأوامر ، على الرغم من أنني كنت أستخدم العميل في Textmate و GittiApp قليلاً.
3
Ryan Gibbons

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

1
Keith S.

أفعل من القرصنة الموضعية على الخادم في أحشاء نظام الحياة إلى دورة تطوير/اختبار/مرحلة/حياة أكثر تنظيمًا باستخدام أنظمة التحكم في الإصدار والاختبارات الآلية. ذلك يعتمد فقط على الوظيفة.

بجانب ذلك أقوم بالإبلاغ عن الأخطاء في مشروع وورد عندما دهست عليها.

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

0
hakre

إليك سير العمل الخاص بي:

  • أبدأ بإنشاء دليل المشروع بمجرد الحصول على متطلبات الموقع والتصاميم.
  • قم بإصدار Static والمجلد theme/plugin في المجلدات Dynamic باستخدام Git.
  • إنشاء المضيف الظاهري للمشروع. أنا أتبع هذه الاتفاقية:

    http://project1.dev/

    http://project1.static.dev (اختياريًا)

  • عادةً ما أتبع تنظيم المجلد هذا:

    Projects
           Project1Name
                       Docs //Requirements docs, emails, other related documents. 
                            //This directory may contain directories with  names as dates
                            //(e.g 2014-01-01) to stay super organized :)    
                       Designs //All PSDs go here  
                       Data  //Database backup for the project,
                       Site
                           Dynamic //WordPress generally
                           Static //I don't always create a static version. I did a couple  
                                  //of times in the past. I use the same structure inside
                                  //the theme or plugin I'm developing
                                 js
                                 css
                                 img
    
           Project2Name and so on ...
    

أدرك أنني لا أستخدم بعد أداة build يوميًا ، مما يجعلني أشعر بالسوء.

لكنني لا أستخدم أداة إنشاء ANT الخاصة بي مشروع Sprite2CSS مقترنًا ببضع نصوص PHP لاستهلاك ANT.

أدوات


سواء كنت على نظام Windows أو Ubuntu ، أستخدم ما يلي:

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Chrome و DevTools + Firefox مع Firebug و Safari + IE للاختبار
  • YSlow!
  • بروتوكول نقل الملفات المدمج في Filezilla/WinSCP/NB
  • Cygwin + موجه الأوامر
  • ملحن
  • NodeJS + NPM
  • SQLYog الجماعة الطبعة + PHPMyAdmin

أنا منفتح على اقتراحات لتحسين سير العمل الخاص بي.

0
Junaid Qadir

أعمل على Windows باستخدام Denver و FileZilla و Notepad ++ و Firefox Firebug والمفتشين الآخرين (الروابط أعلاه) و/cPanel و dbForge Studio for MySQL

0
Michael Pozdnakov