تجربة استخدام نظام تدوين شخصي

27-02-2014 Blogging
إعلان

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

بالفعل قمت بإنشاء نظام Pager والذي كان مجرد ما تم وصفه سابقا, جدول في قاعدة البيانات أقوم بإضافة وتعديل البيانات داخلة, لا يحتوي على محرر نصوص أو حتى نظام مستخدمين, يوجد فقط مستخدم واحد في النظام وهو أنا, لا داعي لذكر أنه لا يوجد نظام قوالب فالسابق ذكره يعطي فكرة عن بدائية النظام, بعد الإنتهاء من المشروع قمت بالإهتمام قليلا بشكل الروابط ليظهر عنوان الموضوع في الرابط بدلا من رقم الصف في قاعدة البيانات URL Rewrite Mode المدعومة بشكل تلقائي داخل ASP.NET MVC لذلك لم يكن هناك أي جهد يذكر في هذه الميزة, كذلك قمت بإنشاء محرك بحث بسيط للمدونة معتمدا على جملة Contains من خلال LINQ.

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

الوقت بالنسبة لي أصبح ضيقا في الفترة التالية ولم أستطع أن أجد أي وقت لأتابع تطوير البرنامج مع ملاحظتي لوجود أشياء أخرى يجب إضافتها مثل Drafts, الأقسام لم أرغب بإستخدامها منذ بداية الأمر ولكن القرار لم يكن سليما فحتى التغذية "Feeds" يجب أن تكون مرتبطه بأقسام معينة, ثم إن نظام المستخدمين غير مهم حقا ؟ لم أجد أني بحاجة لنظام قوالب ولكن نظام المستخدمين شيئ مهم في أي نظام ويجب أن يكون متوفرا, العديد من الأشياء التي قررت أن أقوم بتعديلها وتطويرها وتحسين أدائها لا أجد الوقت حاليا لأقوم بمتابعتها ! لم يكن الأمر بسيطا كما أعتقدت, وأعترف أني أعطيت النظام أقل من حجمة بكثير, فأي نظام تدوين يجب أن يكون متقنا مراعيا لكافة ما يحتاجه الكاتب, ليس لأني الشخص الوحيد الذي سأقوم بإستخدامة يعني أن لا أضع فيه إلا المكونات الأساسية ! فأنا كذلك بحاجتها ويجب أن تكون متوافرة.

إنتهى المطاف بي إلى الإقلاع عن استخدامه وبدلا منه قمت باستخدام ASP.NET BlogEngine, نظام تدوين في منتهى القوة والروعة, تعديل القالب ليتوافق مع النظام الجديد لا يشكل أي عقبة أمام مبرمج ASP.NET لأن النظام أساسا مكتوب بها, أعترف أن Wordpress أقوى منه من ناحية محرر النصوص الموجود, سهولة الإستخدام, السرعة أيضا, إلا أني أفضل إستخدامه لأنه مكتوب بواسطة ASP.NET.

ما يمكنني قولة في النهاية أنه وحتى أبسط البرامج يجب علينا أن نعطيها إهتماما عند بنائها بغض النظر عمن سيستخدمها وحتى لو كنت أنت, لذلك فضلت كتابة بعض الملاحظات يمكنك الإستعانة بها عند بنائك لأي تطبيق.

  • قم ببناء تصميم يؤهلك لإستخدام كافة مكونات التطبيق بكل سهولة ويسر
  • قم ببناء محتويات النظام بشكل متين كما لو أن شخصا محترفا سيقوم بإستخدام نظامك بعد بنائه
  • إذا كنت ترغب بإستدعاء ملف معين قم بإستخدام Browse File Dialog ولا تكتفي فقط بوضع رابط مطلق للملف على إعتبار أنك لن تستخدم سوى هذا الملف
  • لا تهمل أبدا وجود محرر نصوص بسيط ومريح للمستخدم وأبتعد عن MultiLine Textbox
  • لا تعتمد على إعادة تشغيل نظامك لحل الأخطاء التي تحدث وقت التنفيذ
  • قم بالتحقق من القيم المدخلة عند تقديم أي نموذج
  • قم بتوثيق مشروعك بإستخدام التعليقات "comments" ومن خلال Git
  • قم بتقديم شرح بسيط عن كل حقل ولماذا يستخدم في أي نموذج واحرص على تقديم رسائل واضحة للأخطاء التي يرتكبها المستخدم

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

قمت بإرفاق مجلد Controller ومجلد Model للتطبيق بنسخته الأولى للفائدة, يمكنك تحميله من هنا

عن محمد جمال

مهندس حاسوب ومطور برمجيات, أعمل Freelancer في تطوير تطبيقات الويب من خلال ASP.NET منذ عام 2007 قمت بإنشاء عدة مشاريع في مجالات مختلفة (المتحكمات الدقيقة, الأنظمة المضمنة, الروبوت, برامج سطح المكتب, أنظمة قواعد البيانات) ومن هواياتي الخط العربي

subscribe

إعلان
إعلان
blog comments powered by Disqus

تنويه : الأراء في هذا الموقع شخصية ولا تبت لأحد بصلة تحت أي حال من الأحوال