[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط][ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1199
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] في هذه التدوينة أود بأن أبين بأن طريقة طرح الدروس سوف تكون على شكل
حلقات منفصلة عن بعضها البعض في البداية فمثلا سوف تكون هناك حلقتين عن
"إنشاء نظام المستخدمين والصلاحيات والمجموعات" تعتبر هذه الحلقات منفصلة
تماما عن أي حلقات أخرى بحيث يمكن تطبيقها لوحدها ودمجها في أي برنامج يخص
المشاركين بالدورة .
وأعتقد بأن هذا الأسلوب هو الأنسب ، وسوف تكون التدوينات مستمرة بإذن
الله بغض النظر عن عدد الحضور للدورة لاعتقادي بأن ما يكتب سوف يبقى في
الانترنت لمن يبحث عنه لاحقا .
بعد هذا التوضيح نأتي الان إلى تحديد بعض المصادر والأدوات التي سوف
نحتاجها في هذه الدورة :
أولا : نحتاج إلى شعار Logo للموقع وأتمنى من أحد الأخوة المصممين بأن
يحتفنا بهذا الشعار والذي يحتوى على عبارة " بنك الأفكار الإبداعية" .
ثانيا : نحتاج إلى قالب CSS قياسي نعتمد عليه وأنا أرشح
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] في البداية وإذا كان لدى أي من الأخوة قالب آخر فأتمنى ألا يبخل به علينا .
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]ثالثا : سوف نحتاج إلى بعض الصور البسيطة مثل صورة سهم متجة للأعلى وآخر
للأسفل وكذلك صورة متحركة لعمليات التحديث عبر AJAX وأيقونة للمشاركة
وأقترح الصور التالية :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]رابعا : نحتاج إلى محرر للكود وأترك لكل أخ اختيار محرره المناسب له ، أما بالنسبة لي فسوف أستخدم
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]في كافة خطوات المشروع بإذن الله.
خامسا : سوف نضع هذا المشروع كمشروع مفتوح المصدر تحت الرخصة العمومية
GPL2 وسوف نتمتع بكافة مزايا التشارك في الكود عبر استخدام خدمة جوجل
لاستضافة المشاريع المفتوحة المصدر على رابط المشروع الجديد هنا
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]ولربط
برنامج Eclipse بموقع المشروع للتشارك والعمل الجماعي على الكود أو لسحب
آخر التحديثات للمشروع بشكل تلقائي يمكن الاطلاع على الرابط التالي
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]سادسا : ورقة أو وثيقة بدء المشروع هي كما يلي :
اسم المشروع
| بنك الأفكار الإبداعية
|
نوع المشروع
| تطبيق ويب
|
لغة البرمجة ومحرك قواعد البيانات
| PHP By CakePHP with MySQL
|
لغة التطبيق - ولغة الواجهة
| التطبيق: الانجليزية - الواجهة : متعدد اللغات
|
رخصة استخدام المشروع
|
|
تاريخ البدء بالمشروع ومدة التنفيذ
| 16 فبراير 2009 - المدة : 4 أسابيع
|
مدير المشروع
|
|
الموقع المتوفر عليه مصدر المشروع للتشارك
|
|
سابعا : نحتاج إلى توفيق الله تعالى لنا جميعا.
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
23
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 763
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]قبل البدء في أول تدوينة عملية لمشروع "بنك الأفكار الابداعية" أود أن
أشكر كافة الأخوة الذين شجعوني على الاستمرار بهذه الحلقات وقد رغب البعض
بأن يكون هناك شرح لبعض مهارات التعامل مع برامج التشارك بالملفات
والتطوير الجماعي المتبع في عالم المصادر المفتوحة ونزولا عند رغبة هؤلاء
الأخوة أود أن أوضح كيف يمكن للأعضاء في المشروع الربط مباشرة في نظام
تنقيح وتطوير المشروع بشكل متزامن ومنظم أو الحصول على نسخة ليليلة
Nightly ( إن صح التعبير ) وذلك عبر استخدام خدمة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وسوف أقوم شرح بسيط لاستخدام هذه الخدمة مع أحد البرامج المتوفرة وهي كثيرة وذلك باستخدام برنامج
RapidSVN
أولا : لتركيب البرنامج في أوبونتو اذهب إلى Applications ثم
Add/Remove ثم في خانة البحث في الأعلى ابحث عن كلمة svn بعدها سوف تظهر
لك البرامج المطابقة اختر RapidSVN ثم أخيرا انقر على Apply Changes
وسوف يتم بعدها تركيب البرنامج في قسم Programming
* بالنسبة لمستخدمي ويندوز فإن هناك نسخة خاصة على موقع البرنامج وهي
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]بعد تركيب البرنامج وتشغيله كل ما عليك هو اختيار قائمة Respository ثم
خيار Checkout ستظهر شاشة تطلب منك عنوان URL لموقع المشروع انسخ
الرابط التالي :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط].googlecode.com/svn/trunk
أما
في خانة اسم الملجد الهدف فيمكنك وضع مسار واسم المجلد الذي تريد تنزيل
ملفات المشروع عليه ....
بعد ذلك انقر على موافق وسوف يتم تنزيل كافة ملفات المشروع على جهازك (
والموجود حاليا هو نسخة نظيفة من آخر إصدارات الكيك ) ..... ويمكنك
الاطلاع على ملفات البرنامج كاملة عبر موقع المشروع على
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عبر الرابط التالي :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]في كل مرة تالية تود الحصول على آخر التعديلات اختر المشروع الذي تم
إنشاءه وانقر عليه بالزر الأيمن للفأرة ثم اختر update
وإذا كنت تود المشاركة في التعديلات فيمكن اختيار المشروع الذي تود
التعديل عليه بالزر الأيمن للفأرة ثم اختيار Login وأدخل اسم المستخدم
وكلمة المرور الخاصة بك في جوجل ولكن قبل ذلك أعلمني حتى أضيفك لأعضاء
المشروع . وبعد إجراءات التعديلات التي تراها مناسبة وعند رغبتك رفعها
للسيرفر كل ما عليك هو اختيار Commit
بالتوفيق إن شاء الله وسوف تكون التدوينة التالية عن إنشاء نظام تعدد
المستخدمين والمجموعات والصلاحيات ونظام تسجيل الدخول الخروج وهي على
حلقتين بإذن الله حيث انتهيت من 95% من العمل على تلك التدوينات وبقي أمور
بسيطة تتعلق بتنسيق الكود والتوافق مع آخر إصدارات الكيك .
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 668
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هذا البرنامج كان اسمه رنين في بدايات التطوير .. وهو يقوم ببث رسائل
صوتية جماعية عبر الإتصال بالجهات أو الأشخاص ثم اسماعهم الرسالة المطلوبة
.. ويقوم كذلك بإرسال رنين فقط ..
قمت بتطوير هذا البرنامج بلغة الفيجول بيسك - الإصدار السادس …
والبرنامج سوف يكون متاح للجميع قريبا هنا بإذن الله تعالى مع الكود
البرمجي الخاص به ..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
17
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1722
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]نبدأ الان بتطبيق المراحل التي تكلمنا عنها في التدوينة السابقة ، وسوف يكون ذلك بشكل سريع حتى نبدأ بشكل تطبيقي أكثر ...
المرحلة الأساسية : مرحلة بلورة فكرة النظام وتحديد الرسالة والرؤية:من
أين جاءت فكرة الموقع؟ :
أعتقد بأن من أكبر أسباب فشل العديد من المواقع هو إهمال رأي زواره أثناء
مرحلة التطوير فيكون توجه الموقع في اتجاه وأغلب الزوار يرغبون بتوجه آخر
فيبدأ الموقع بفقد زواره يوما بعد يوم وذلك لصالح المواقع التي توفر لهم
البيئة التي يرغبونها.
وعلى هذا فإن صاحب أي موقع يرغب بالتطور الدائم والحفاظ على زواره فإن
عليه وبشكل دائم معرفة آراء زواره بكل شيء وعليه أن يشجعهم على طرح
أفكارهم وذلك حتى يستفيد منها ، وعليه كذلك جعل الزوار يصوتون على أفكار
بعضهم البعض حتى يحدد ماهي الخدمات التي يرغبها زواره أكثر .
وهنا جاءت فكرة موقع "بنك الأفكار" لتوفير هذه الخدمة على شكل شبكة
اجتماعية، تتيح لصاحب أي موقع الاشتراك فيها وتحديد المواضيع التي يرغب
بأن يطرح زوار موقعه أفكارهم عنها وتصويتهم على أفكار بعضهم البعض ثم
إتاحة هذا الرابط على موقعه.
الرسالة :نعمل في بنك
الأفكار الابداعية على تغيير واقع التواصل بين مقدمي الخدمات بأنواعها
والمستفيدون من تلك الخدمات إلى الأفضل عبر توفير بيئة تواصل وتقييم دائم
بشكل متفاعل وذلك في شتى المجالات.
الرؤية :أكبر موقع عالمي لانتاج وتشارك الأفكار على شبكة الانترنت.
المرحلة الأولى : مرحلة التحليل وتحديد المتطلبات الأساسية :المتطلبات الرئيسية للنظام :
* يقبل النظام إضافة مواضيع عدة بشأن كل مجال مثل "أفكار لتطوير محرك بحث جوجل" ثم يتيح للزوار إضافة مثل تلك الأفكار.
* يمكن تأييد كل فكرة إبداعية لأي زائر أو عدم تأييدها.
* يتم إضافة المواضيع وكذلك الأفكار بعد التسجيل بالموقع.
* يتم إرسال بريد الكتروني ترحيبي لكل مشترك عند اشتراكه يحتوي على طريقة التواصل مع الموقع بشكل سهل وسريع.
* توفر ميزة مشاركة المواضيع والأفكار عبر عدة طرق للمشاركة الاجتماعية.
* الموقع يجب أن يعمل بتقنية AJAX وذلك لتوفير سرعة التحميل وتقليل الضغط على قاعدة البيانات.
*يجب أن يدعم الموقع نظام القوالب لكل زائر .
*يجب أن يدعم الموقع الاشتراك بتغذية RSS وذلك لمعرفة آخر الأفكار أولا بأول من قبل المشتركين بتلك الخدمة.
* في حال تنفيذ أحد الأفكار على أرض الواقع يتم نشر ذلك وتغيير حالتها وإخبار من اقترحها مباشرة عن تنفيذها.
* يدعم النظام الاشتراك واسترجاع كلمة المرور عبر البريد الالكتروني.
* أريد أن يكون النظام عبارة عن تطبيق ويب ويكون بلغة مرنة وقابلة للتعديل بسهولة حتى لو أصبح حجم النظام كبيرا.
* يتم عرض وترتيب الأفكار بعدة طرق مثل الأحدث إضافة أو الأكثر شعبية أو الأكثر تأييدا أو الأكثر زيارة .
المرحلة الثانية : مرحلة التصميم على الورق والمدخلات والمخرجات والعمليات :بعد
الاطلاع على المتطلبات السابقة يمكن البدء بمرحلة التصميم المبدئية للنظام
وذلك بتصور مبدئي للنظام من خلال شاشتين الأولى تخص المواضيع التي يراد
توفير أفكار إبداعية لحلها.
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]أما الشاشة الثانية فهي شاشة الأفكار الابداعية لكلك موضوع كما يلي :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]هذا
بالنسبة للتجهيز ..... أتمنى أن تكون الفكرة واضحة وذلك حتى يتم الانتقال
للمرحلة التالية وهي مرحلة التنفيذ عبر تصميم قاعدة البيانات والبدء
بالبرمجة الفعلية...
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
17
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1349
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]أبدأ في هذه التدوينة باول التطبيقات العملية لفهم إطار
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]بعمق واستخدام عملي أكثر . وسوف نقوم ببناء تطبيق متكامل من الصفر يمر
بعدة مراحل مثل بناء النظام الأولي ونظام تعدد المستخدمين والصلاحيات
والمجموعات ونظام تعدد اللغات وكذلك استخدام تقنية AJAX في أغلب خدمات
الموقع وكذلك استخدام تغذيات RSS وأخيرا كيفية بناء تطبيق متعدد القوالب
لكل مستخدم ، وسوف نمر خلال رحلتنا هذه ببناء بعض الـ Helpers وكذلك ربط
بعض الـ Vendors الخاصة بنا كعرب ومسلمين مثل دعم التاريخ الهجري وأدوات
تفقيط الأرقام وكذلك تسهيل التعامل مع إنتاج ملفات PDF باللغة العربية ،
وفي النهاية سوف نحاول تطبيق اختبارات للنظام ، وفي العموم سوف يمر
المشروع بأربع مراحل :
المرحلة الأساسية : مرحلة بلورة فكرة النظام وتحديد الرسالة والرؤية.
المرحلة الأولى : مرحلة التحليل وتحديد المتطلبات الأساسية .
المرحلة الثانية : مرحلة التصميم على الورق والمدخلات والمخرجات والعمليات
.
المرحلة الثالثة : مرحلة التطبيق وتشمل بناء قاعدة البيانات وكتابة الكود
.
المرحلة الرابعة : مرحلة الاختبار .
المرحلة الخامسة : مرحلة تسليم المشروع
وسوف يكون التركيز وأغلب الوقت مركز على المرحلة الثالثة بحكم أننا
مبرمجين .
حيث أن عدد الدروس المتوقعة لهذا التطبيق هي تقريبا 30 درس ، سوف سوف
أحاول بأن تكون في فترات منتظمة بقدر الامكان.
وبسم الله نبدأ في التدوينة التالية مع موقع ( بنك الأفكار الابداعية ) ..
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 824
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] قمت بحمد الله وتوفيقه بتوفير برنامج ThroughSky لعالم المصادر المفتوحة
بشكل رسمي وذلك بالتعاون مع زملائي بالجامعة ابراهيم الدعجان وعبدالعزيز
الحسن.
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهذا
المشروع هو عبارة عن برنامج إدارة محتوى مخصص ﻹدارة رسائل الجوال بأنواعها
المختلفة، بدءاً من رسائل الجوال العادية والنغمات والشعارات وانتهاءً
برسائل الوسائط المتعددة. وقد تم تطوير هذا البرنامج المميز ليكون قادر
على الربط مع أي بوابة رسائل جوال أو ما يعرف بـ (SMS Gateway )، بما في
ذلك (ClickaTell ) أو غيرها من الشركات التي توفر خدمة رسائل الجوال
بكميات كبيرة.
ويتيح برنامج (ThroughSky) الجديد للمستخدم إمكانية الاعتماد على برنامج
إدارة واحد للربط مع شركات متعددة وتوفير حلول مميزة لجهات مختلفة، مما
يسمح لهم بتقديم خدمات مميزة من خلال لعب دور الوسيط.
وهو أول برنامج عربي مخصص لهذا الغرض مفتوح المصدر خاضع لرخصة المصادر
المفتوحة GPL ، وقد أعلن مشروع أوملكس التقني مؤخراً عن انضمام برنامج
(ThroughSky) الخاص بإدارة محتوى رسائل الجوال إلى قائمة المشاريع ذات
المصدر المفتوح التي يقدمها للمستخدم العربي ، وقد نشر هذا الخبر في
العديد من وسائل الإعلام اﻹلكترونية .
مثل البوابة العربية لأخبار التقنية:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]وكذلك صحيفة الوئام :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]وأحب ن أشكر اﻷخوة القائمين على مشروع أوملكس
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]على تقديرهم الرائع لمشروع ThroughSky وأعتقد بأن الفرصة متاحة للشباب
العربي الان أكثر من ذي قبل لنشر إبداعهم عبر مثل هذه القنوات التي تدعم
إنتاجهم .
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 777
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
بينما كنت أبحث عن بعض الملفات القديمة وجدت بين تلك الملفات مسابقة قديمة كنت قد صممتها بينما كنت في المرحلة الثانوية .
وهي مسابقة اﻷسرار .. وقد طرحت في ذلك الوقت بشكل تجاري محدود على مستوى
مدينتي التي أعيش فيها وهي مدينة الرس بالمملكة العربية السعودية.
وقد قمت بتصميم هذه المسابقة بلغة Visual Basic 3 او قريبا من ذلك اﻹصدار
وكانت من أجمل المسابقات التي أعجبت العديد من اﻷصدقاء وكنت أجدها منسوخة
في العديد من اﻷجهزة وكنت أسأل أصحاب تلك اﻷجهزة هل دفعتهم قيمتها لي على
سبيل النكتة. وكانوا يردون بأن محل الكمبيوتر هو الذي نسخها لنا .
وفكرة هذه المسابقة بسيطة وهي أن يقوم البرنامج بإعطاءك كلمة
سر مكونة من خمس أحرف وكذلك لمنافسك وعند الخطأ تقوم المسابقة بكشف حرف
واحد من الحروف والذي تنكشف جميع الحروف الخاصة به يكون مهزوما….
وهذه المسابقة ﻻ تعمل اﻵن على نظام وندوز XP فهي تعمل على وندوز 98 أو
ملينيوم وهذه واحدة من مشاكل ميكروسوفت المتكررة ، وارتحت كثيرا من مشاكل
عدم التوافق مع التحول لنظام لينكس وخصوصا عند البرمجة بلغة جافا ..
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1429
15
ربيع الثاني
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 701
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عجيبة يا بايثون ... فعلا لغة المحترفين والمبتدئين في وقت واحد..
بسيطة في تركيبها وسهلة للتعلم بسرعة ومنطقية مع دعم قوي للبرمجة الكائنية المنحى ..
كل هذه المواصفات وأكثر توفرها لغة بايثون ، ويكفي بأنها لغة مفتوحة المصدر .... وهنا شرح رائع لهذه اللغة
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1429
21
ربيع الأول
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 735
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لعل العديد من المبرمجين وخصوصا مبرمجي PHP قد عشقوا كثيرا محررات النصوص
التي تعتمد على اﻷلوان وتمميز اﻷوامر عن بقية النص العادي داخل الكود
البرمجي ..
وهنا أفضل محررين جربتهما في بيئة لينكس ..
اﻷول : المحرر والبيئة المتكاملة الشهيرة Eclipse
فهو المحرر الشهير للتطوير أصلا للغة جافا وهو مفتوح المصدر وأصبح الان يدعم التحرير بعدة لغات منها
C++
PHP
وكذلك العديد من اللغات اﻷخرى
دعم PHP في هذه البيئة التطويرية رائع جدا فهناك ميزة اﻹكمال تلقائي وكذلك معالج حل مشاكل اﻷخطاء البرمجي Debuger
وهو خيار رائع ويعيبه حجمه الكبير نسبيا..
الخيار الثاني : هو المحرر البسيط والجميل gphpedit
محرر سهل الاستخدام يدعم نظام الألوان والقوالب بعض التعليمات البرمجية الهامة
وليس معه فاحص للأخطاء البرمجية ولكنه خيار جيد لمن يريد أن يحرر بسرعة
ويمكن تركيبه مباشره مع توزيعة أبونتو عبر اﻷمر
sudo apt-get install gphpedit ..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
15
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1105
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]كما
ذكرت في التدوينة السابقة بأننا سوف نبدأ بسلسلة لتعلم برمجة تطبيقات
الويب المتقدمة عبر استخدام أحدث التقنيات وأطر العمل التي تقوم بالعديد
من الخطوات والجهود التي كانت في الماضي تستغرق الكثير من وقت المبرمج ،
ومن أشهر هذه الأطر هو إطار [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] والذي أعمل عليه منذ فترة طويلة وقد قمت بإنتاج العديد من تطبيقات الويب التي تعمل الان في عدة أماكن ومؤسسات بكل كفاءة.في هذه التدوينة سوف أقوم بشرح تركيب إطار العمل [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] مباشرة على أوبونتو لينكس من الألف إلى الياء وأود قبل البدء بأن أوضح بأن الاخ الفاضل : [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] له سلسلة تدوينات رائعة ومتخصصة ومتدرجة لتعلم العمل على إطار [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وذلك في مدونته الشهيرة "[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط][ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] " حيث يوجد عدة دروس يمكن الاستفادة منها للوصول إلى مستوى متقدم في البرمجة بهذا الإطار ، وكذلك هناك شرح رائع للتركيب قام به الأخ [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]،
ولن أقوم بتكرار ما قام به زملائي الأفاضل بل سوف أقوم في التدوينات
السابقة بإذن الله بتطبيق مشاريع عملية فعليه خطوة بخطوة ثم تنزيل شرح
فيديو لكافة الخطوات بعد ذلك .1- في البداية سوف نقوم الان بتجهيز أوبونتو لينكس ليكون سيرفر شخصي يدعم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وكذلك [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وبطبيعة الحال وقبل كل ذلك [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ، لعمل ذلك نقوم أولا بالذهاب إلى مدير الحزم عبر قوائم System ثم Administration ثم Synaptic Package Managerثم بعد ذلك اختر قائمة Edit ثم Mark Packages By Taskسوف يظهر لك بعدها نوع التركيب اختر LAMP Server ثم OKإقرأ المزيد
نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 578
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] استعد لتطوير جديد لموقع مرسول لرسائل الجوال
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الذي تقدمه مؤسسة إكساء لتقنية المعلومات
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]ولقد قمت بتصميم هذا الموقع من الصفر بلغة php مع قواعد بيانات Mysql واعتمد في برمجته على البرمجة كائنية المنحى OOP
والتطوير القادم سوف يشمل حل العديد من المشاكل السابقة بالإضافة إلى توفير أدوات تعمل على برنامج Outlook للبريد الإلكتروني
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 792
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تم الإتفاق مع موقع البث الإسلامي .. الموزع الحصري لبرنامج مراكز -
الإصدار الثالث أن يتم توزيع برنامج مراكز هذه السنة مجاناً بنتزيله
مباشرة من موقع البرنامج
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]قمت بتصميم برنامج مراكز منذ البداية على ميكروسوفت أكسس ..مع برنامج
تنفيذي بسيط بلغة فيجول بيسك … وقد أوقفت التطوير لنسخ جديدة على
ميكروسوفت أكسس تمهيداً للتحول إلى لغة أخرى وتطوير يستحق ذلك .. وأفكر
فعلياً بأن تكون النسخة الجديدة معتمدة على الوب بشكل أساسي بمعنى php أو
jsp والخيارات لا زالت مفتوحة
وتم جعل هذه النسخة مجانية تعاوناً مع الجهود الرائعة التي تبذلها المراكز والنوادي الصيفية وكذلك المراكز الإسلامية بالخارج
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
25
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1933
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نبدأ في هذه التدوينة بموضوع هام لأي تطبيق
ويب يعمل بشكل عملي ألا وهو نظام إعداد المستخدمين ومجموعاتهم والصلاحيات
لكل مستخدم ونظام تسجيل الدخول والخروج وغير ذلك من الأمور الهامة لكل
نظام ، وبعد كل تدوينة جديدة نقوم بدمج ما تعلمناه بنظام "بنك الأفكار
الابداعية" . وهذا التدوينة تفيد بشكل كبير الأخوة الذين لديهم خبرة سابقة
في الكيك ، وسوف نستخدم لبناء هذا النظام كومبوننت Auth فقط بدون استخدام
ACL للصعوبات المتعلقة بها ، سوف يكون تطبيق هذا الدرس على الاصدار
السابق للكيك وهو cake_1.2.0.7692-rc3 وذلك لوجود اختلافات مع الاصدار
الحالي للكيك وسوف نحاول معا بعد تطبيق هذا الدرس الانتقال إلى الاصدار
الأخير من الكيك، ولتنزيل الاصدار
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] .
مميزات النظام الذي سوف نبنيه في هذه التدوينة :
1- نظام مرن في منح الصلاحيات على كل Action تابع لأي Controller .
2- يمكن تعيين الصلاحيات للمجموعات .
3- عند وضع أي مستخدم في أي مجموعة فإن المستخدم سوف يمنح كافة صلاحيات تلك المجموعة.
4-
يتم إنشاء قائمة لكل مستخدم عند تسجيل دخوله بحسب صلاحياته ، بحيث يعرض له
الـ Controller الذي له صلاحية عليه. ( هذه الميزة أراحتني كثيرا كثيرا ) .
5- إدارة الصلاحيات تتم بشكل سهل جدا ومريح بدون تعقيدات ACL
6- يدمج في أي نظام قائم لك بسهولة بدون التأثير على ما تقوم به.
نبدأ الآن ببناء نظام تعدد المستخدمين ... أولا سوف نقوم بإنشاء 5 جداول جديدة في قاعدة البيانات لديك ( ملاحظة : لنسخ الكود انقر على صورة الورقة التي بجوار الطابعة أعلى كل صندوق للكود ثم انسخ ما سيظهر في الصندوق
) :
[code language='sql']
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) collate utf8_unicode_ci NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `groups_permissions` (
`group_id` int(11) NOT NULL,
`permission_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `groups_users` (
`group_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `permissions` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) collate utf8_unicode_ci NOT NULL,
`title` varchar(250) collate utf8_unicode_ci NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(40) collate utf8_unicode_ci NOT NULL,
`email_address` varchar(50) collate utf8_unicode_ci NOT NULL,
`password` varchar(50) collate utf8_unicode_ci NOT NULL,
`language_id` int(11) NULL,
`active` tinyint(1) NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
[/code]
نقوم الأن بإضافة بعض البيانات الهامة للجداول السابقة كما يلي :
[code language='sql']
INSERT INTO `groups` (`id`, `name`, `created`, `modified`) VALUES
(1, 'Administrators', '2008-11-07 18:44:13', '2008-11-07 21:47:24');
INSERT INTO `groups_permissions` (`group_id`, `permission_id`) VALUES
(1, 1);
INSERT INTO `groups_users` (`group_id`, `user_id`) VALUES
(1, 1);
INSERT INTO `permissions` (`id`, `name`, `title`, `created`,
`modified`) VALUES (1, '*', 'جميع الصلاحيات', '2008-11-07 18:43:40',
'2008-12-12 15:45:27');
INSERT INTO `users` (`id`, `username`, `email_address`, `password`,
`language_id`, `active`, `created`, `modified`) VALUES
(1, 'admin', 'na@nahedh.com',
'3c2164ad6d86cefb2151cf1e1a8d6a2a084b759e', 2, 1, '2008-11-07
18:45:34', '2008-12-19 23:18:15');
[/code]
بعد إعداد الجداول وإضافة البيانات إليها سوف يكون لدينا مستخدم واحد اسمه
admin وكلمة المرور الخاصة به مشفرة وهي 1111 ، له كافة الصلاحيات * لأنه
في مجموعة Administrators ، والأن نقوم بإنشاء الملفات المطلوبة :
أولا نقوم بإنشاء الـ Models المطلوبة للربط مع الجداول السابقة :
قم بإنشاء الملف التالي :
app/models/user.php
[code language='php'] array('email'),
'password' => array('alphaNumeric'),
'active' => array('numeric')
);
var $hasAndBelongsToMany = array(
'Group' => array('className' => 'Group',
'joinTable' => 'groups_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'group_id',
'unique' => true
)
);
}
?>
[/code]
قم الان بإنشاء الملف :
app/models/group.php
[code language='php'] array('className' => 'Permission',
'joinTable' => 'groups_permissions',
'foreignKey' => 'group_id',
'associationForeignKey' => 'permission_id',
'unique' => true
),
'User' => array('className' => 'User',
'joinTable' => 'groups_users',
'foreignKey' => 'group_id',
'associationForeignKey' => 'user_id',
'unique' => true
)
);
}
?>
[/code]
ثم الملف:
app/models/permission.php
[code language='php'] array('className' => 'Group',
'joinTable' => 'groups_permissions',
'foreignKey' => 'permission_id',
'associationForeignKey' => 'group_id',
'unique' => true
)
);
}
?>
[/code]
نأتي الان إلى إنشاء الـ
Controllers :
قم بإنشاء الملف التالي :
app/controllers/users_controller.php
[code language='php']Session->del('Permissions');
$this->redirect($this->Auth->logout());
}
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1430
27
صفر
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 887
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]أكتب هذه التدوينة على عجل وذلك بعد أن انتهيت من إعدادها بشكل مرئي على
ملف فلاش أتمنى أن يعجب بعض الأخوة الذين طلبوا شرح طريقة التركيب ...
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1428
01
ذو الحجة
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1842
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] يعتبر برنامج DotProject من أفضل البرامج لإدارة المشاريع الصغيرة
والمتوسطة وذلك لأنه مصمم بطريقة سلسلة وواضحة وكذلك لأنه يعمل على
الإنترنت Online مما يسهل أن يكون أعضاء فريق التطوير لأي مشروع في أماكن
متفرقة .. وهذا المشروع عبارة عن مشروع مفتوح المصدر متوفر تماماً على
موقعه الخاص وعلى موقع sourceforge.net وهو مدعوم بطاقم مطورين حول العالم
وحيث أن هذا المشروع المفيد حقا لم يتوفر حتى الآن لنا نحن العرب لغتنا
العزيزة على قلوبنا ، فقد قمت
بالإنضمام إلى فريق التطوير لهذا المشروع ( وهنا روعة المصادر المفتوحة )
وقمت بالتعريب بنسبة 75% لهذا المشروع ، وقد تم اعتماد هذا التعريب وأصبح
DotProject الآن متوفر باللغة العربية . يمكنك تنزيل البرنامج من
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وبعد التنزيل قم بتنزيل ملف اللغة العربية من قائمة اللغات المدعومة هنا
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وبالتوفيق إن شاء الله وإدارة ناجحة لمشاريعك.
..
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] نشر بواسطة:2الأوسمة:
1431
21
محرم
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الزيارات: 1219
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تم الإنتقال إلى نظام التدوين الجديد
FishBlog وهو نظام قمت ببرمجته باستخدام بيئة التطوير CakePHP وذلك من
أجل إجراء عدة تجارب برمجية
وبقي العديد من التحسينات والخدمات على هذا النظام حتى أستطيع أن أفتحه كمشروع مفتوح المصدر