دليل الرسائل القصيرة السريعة للمطورين/المستودع الشخصي
وكما ورد في هيكلية البرمجية، المكان الرئيسي للعمل يكون مجلد جديد. لنبدأ بإنشاء مجلد جديد :
cd ~ mkdir sms
وهذا المجلد يحتاج إلى اتباع بعض الإرشادات. من الآن، ما لم يحدد، فإننا يجب دائما أن نكون داخل هذا المجلد، وسوف يتم تسميته المخزن الشخصي.
ملف local.ini
[عدل]ملف local.ini هو التكوين الرئيسي لنظام الرسائل القصيرة السريع . ويشمل تكوين لنظام الرسائل القصيرة السريع، تكوين تطبيقات . فعليا تقوم بالكتابة فوق الملف rapidsms.ini الافتراضي. تكوين جانغو لا يمكن الوصول إليه مباشرة لأنها محتوى بداخل تخزينها داخل rapidsms الأساسية. قم بإنشاء ملف يسمى local.ini وإضافة المحتوى التالي :
[rapidsms] apps=logger,admin,webapp,ajax,httptester,echo backends=http [log] level=debug file=/tmp/rapidsms.log [database] engine=sqlite3 name=rapidsms.db [http] host=localhost port=1338 [httptester] host=localhost port=1338
المقاطع [المطلوبة] rapidsms وقاعدة البيانات . التطبيقات = هي قائمة التطبيقات مفصولة بفاصلة بنين جميع تطبيقات rapidsms الذي تريد استخدامها. وسوف تسمح لك القائمة أعلاه لاختبار النظام من خلال واجهة الويب. الخلفيات = هي قائمة مفصولة بفاصلة للفصل الخلفيات في بدء التشغيل. الخلفيه الأكثر شعبية جي إس إم (وتسمى أيضا pygsm) الذي يرسل / يتلقى رسائل عبر مودم جي إس إم. في المثال أعلاه ، نحن نستخدم الخلفية http والذي يسمح لك بإوهام المودم للاختبار.
مجلد apps
[عدل]نظام الرسائل القصيرة السريع تتوقع أن تكون كل التطبيقات داخل مجلد (apps).
mkdir apps
ملف init__.py__
[عدل]حيث أن كل مستودعات في PYTHON_PATH ، فهي تعتبر وحدات بايثون. وبالتالي تحتاج لإنشاء ملف فارغ init__.py__ لوضع علامة عليها كوحدات.
touch __init__.py touch apps/__init__.py
manage.py / rapidsms script
[عدل]كل تطبيقات جانغو تتضمن السيناريو manage.py الذي يعطي الوصول إلى عمليات جانغو ذات الصلة ، يتطلب RapidSMS نسخة معدلة من هذا السيناريو لإطلاق جهاز الروتر .
قم بإنشاء ملف rapidsms يحتوى التالي :
#!/usr/bin/env python # vim: ai ts=4 sts=4 et sw=4 encoding=utf-8 import sys, os from os import path # figure out where all the extra libs (rapidsms and contribs) are libs=[os.path.abspath('lib'),os.path.abspath('apps')] # main 'rapidsms/lib' try: for f in os.listdir('contrib'): pkg = path.join('contrib',f) if path.isdir(pkg) and \ 'lib' in os.listdir(pkg): libs.append(path.abspath(path.join(pkg,'lib'))) except: # could be several reasons: # no 'contrib' dir, 'contrib' not a dir # 'contrib' not readable, in any case # ignore and leave 'libs' as just # 'rapidsms/lib' pass # add extra libs to the python sys path sys.path.extend(libs) # import manager now that the path is correct from rapidsms import manager if __name__ == "__main__": manager.start(sys.argv)
تأكد من أنه لديك حقوق التنفيذ.
chmod +x ./rapidsms
Linking third-parties apps
[عدل]في ملف local.ini ، طلبنا عدة تطبيقات لتكون بدأت. يتوقع نظام الرسائل القصيرة السريع أن تكون موجوه المجلد الفرعي ، تماما مثل أي تطبيق عادي.
خلق الروابط الرمزية(symolic links) على النحو التالي لإدراجها في المخزون الخاص بك :
cd apps ln –s /home/user_name/sources/rapidsms/apps/admin ln –s /home/user_name/sources/rapidsms/apps/ajax ln –s /home/user_name/sources/rapidsms/apps/location ln –s /home/user_name/sources/rapidsms/apps/logger ln –s /home/user_name/sources/rapidsms/apps/patterns ln –s /home/user_name/sources/rapidsms/apps/reporters ln –s /home/user_name/sources/rapidsms/apps/webapp
قواعد البيانات
[عدل]نظام الرسائل القصيرة السريع مثل دجانجو مبني على قواعد البيانات.
خلق قاعدة البيانات
[عدل]من الملف local.ini ، الذي حددت معلومات اتصال قاعدة البيانات. هناك ، تماما مثل مع جانغو ، يمكنك تحديد محركات مختلفة (MySql، SQLite، الخ). وبمجرد تكوينها ، استخدم الأمرsyncdb :
./rapidsms syncdb
وهذا الأمر سوف يقوم بإنشاء مخطط قاعدة البيانات لكل الطبيقات الموجودة local.ini .