دليل الرسائل القصيرة السريعة للمطورين/المستودع الشخصي
وكما ورد في هيكلية البرمجية، المكان الرئيسي للعمل يكون مجلد جديد. لنبدأ بإنشاء مجلد جديد :
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 .