دليل الرسائل القصيرة السريعة للمطورين/المستودع الشخصي

وكما ورد في هيكلية البرمجية، المكان الرئيسي للعمل يكون مجلد جديد. لنبدأ بإنشاء مجلد جديد :

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 .