~nherriot/bcm/tags

« back to all changes in this revision

Viewing changes to Create tag bcm-2.99.10-beta1/src/core/doc/devel/sms-persistence.rst

  • Committer: andrewbird
  • Date: 2010-06-18 13:11:11 UTC
  • Revision ID: svn-v4:302e0824-f0b9-4af8-b993-bc22a3d40462:tags:882
Create tag Create tag bcm-2.99.10-beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
===============
 
2
SMS persistence
 
3
===============
 
4
 
 
5
Overview
 
6
========
 
7
 
 
8
One of the goals of the BMC/wader merge was to create a contacts and SMS
 
9
persistence layer to store data on a medium with better characteristics
 
10
than a plain SIM. `SQLite`_ was chosen because of its small footprint,
 
11
the fact that has been included with Python since 2.5 and that it was
 
12
already used in other parts of the system.
 
13
 
 
14
.. _SQLite: http://www.sqlite.org/
 
15
 
 
16
SMS classes overview
 
17
====================
 
18
 
 
19
A :class:`~wader.common.provider.Message` is always part of a
 
20
:class:`~wader.common.provider.Thread`, and a thread always belongs to
 
21
a :class:`~wader.common.provider.Folder`. The central point to perform
 
22
operations on this three classes is the
 
23
:class:`~wader.common.provider.SmsProvider`.
 
24
 
 
25
Every conversation with your contacts is stored in a `Thread`. There can
 
26
only be one thread for a number in a given folder, if a `Message` is
 
27
moved to a folder and no thread exists for that number it will be
 
28
automatically created and the message will be associated to it.
 
29
 
 
30
.. image:: images/sms-persistence/relationships.png
 
31
   :alt: Relationships between classes
 
32
   :align: center
 
33
 
 
34
Similarly, if a `Message` is moved to a `Folder` and a `Thread` already
 
35
exists for the message's number, it will be associated to it.
 
36
 
 
37
There are three folders by default: Inbox, Outbox and Drafts. This three
 
38
folders can not be deleted by design. The user can add as many folders as
 
39
she desires, but those initial three shall not be deleted.
 
40
 
 
41
.. _CRUD: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete
 
42