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

من ويكي الكتب

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

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 .