README.txt
author Sandro Knauß <knauss@netzguerilla.net>
Thu, 27 Sep 2012 17:15:46 +0200
changeset 302 3f4bdea2abbf
parent 291 84eb5a7a715a
permissions -rw-r--r--
merging from devel
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
290
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     1
Iro is a non blocking server for sending a message to a bunsh of recipients. It can handle different types of message and can be extended easially.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     2
It was initially written for sms backend of http://castorticker.de. There are different backends are supported by Iro. 
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     3
Iro helps you for these kinds of tasks: You want to send a message to some recipient over a different backend, than for other recipients.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     4
Or you want to define fallback strategies: If one messages can't be send over this backend use another.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     5
Because Iro also knows users, you can create bills for different clients.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     6
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     7
Installation of Iro
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     8
===================
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
     9
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    10
Install the module via ``setup.py install`` und ran ``iro-install``. That will create a sample configuration file named ``iro.conf``.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    11
Update the configuration file and run ``iro-install install``  afterwards. That will create the Database and Offers for you.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    12
After that you have to `adding_user`. Now you are ready to start Iro ``twisted iro``.
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    13
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    14
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    15
.. _adding_user:
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    16
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    17
Add User and Userrights
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    18
-----------------------
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    19
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    20
You'll need user and right to spefific Offers, that a user can send with a specific Offer. Till now, it is the only way to add/modify user/userrights. 
88
6705a191f55d README hinzugefügt
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
290
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    22
 
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    23
You can add users and userright via SQL::
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    24
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    25
  INSERT INTO user (name,apikey,ng_kunde) VALUES("test","a1b2c3");
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    26
  INSERT INTO userrights (user,offer,default) VALUES ("test",OFFERNAME,NULL);
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    27
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    28
or use python/ipython::
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    29
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    30
  >>> import iro.model.schema
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    31
  >>> from iro.model.schema import *
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    32
  >>> from sqlalchemy import create_engine
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    33
  >>> from iro.model.utils import WithSession
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    34
  >>> engine = create_engine(DBURL)
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    35
  >>> with WithSession(engine) as session:
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    36
  ...   u = User(name="test",apikey="a1a2c3")      
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    37
  ...   session.add(u)
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    38
  ...   o = session.query(Offer).filter_by(name=OFFERNAME).first()
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    39
  ...   u.rights.append(Userright(o, default=None))
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    40
  ...   session.commit()
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    41
  >>>
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    42
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    43
.. note::
21601a54c44c doc: update installing documentation
Sandro Knauß <knauss@netzguerilla.net>
parents: 88
diff changeset
    44
  Please make sure that, the apikey only using *hex digest [0-9a-f]*