diff -r 21601a54c44c -r 84eb5a7a715a README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Fri Aug 10 14:42:26 2012 +0200 @@ -0,0 +1,44 @@ +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. +It was initially written for sms backend of http://castorticker.de. There are different backends are supported by Iro. +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. +Or you want to define fallback strategies: If one messages can't be send over this backend use another. +Because Iro also knows users, you can create bills for different clients. + +Installation of Iro +=================== + +Install the module via ``setup.py install`` und ran ``iro-install``. That will create a sample configuration file named ``iro.conf``. +Update the configuration file and run ``iro-install install`` afterwards. That will create the Database and Offers for you. +After that you have to `adding_user`. Now you are ready to start Iro ``twisted iro``. + + +.. _adding_user: + +Add User and Userrights +----------------------- + +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. + + +You can add users and userright via SQL:: + + INSERT INTO user (name,apikey,ng_kunde) VALUES("test","a1b2c3"); + INSERT INTO userrights (user,offer,default) VALUES ("test",OFFERNAME,NULL); + +or use python/ipython:: + + >>> import iro.model.schema + >>> from iro.model.schema import * + >>> from sqlalchemy import create_engine + >>> from iro.model.utils import WithSession + >>> engine = create_engine(DBURL) + >>> with WithSession(engine) as session: + ... u = User(name="test",apikey="a1a2c3") + ... session.add(u) + ... o = session.query(Offer).filter_by(name=OFFERNAME).first() + ... u.rights.append(Userright(o, default=None)) + ... session.commit() + >>> + +.. note:: + Please make sure that, the apikey only using *hex digest [0-9a-f]*