update to current state of the world twisty
authorMark Hammond <mhammond@skippinet.com.au>
Mon, 30 Mar 2009 13:34:04 +1100
changeset 144 ac76e13ab690e677ac23953cb97cbe8d47ab2fee
parent 143 518d0a4f53d96363ad3b91b4234749bf895c8ff9
child 145 b1ab63ee8c478f4f9dd3908a55e5eed56db24ccc
push id1
push userroot
push dateWed, 08 Apr 2009 01:46:05 +0000
update to current state of the world
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -1,13 +1,14 @@
 Late Breaking News/Known Problems
-* The reactor must always be stopped with ctrl+c; it never stops by itself.
-  One twisted day seem so twisted wont.
+* Error handling is poor.  I'm trying to get a handle on the best way to
+  manage errors in a twisted environment before adding too much handling
+  which may end up inappropriate.
 Installation Steps
 Have Python 2.6 or later installed.
     easy_install couchdb (0.5 or later)
@@ -22,16 +23,24 @@ Install twisted.
 Install 'paisley' from launchpad.
 Either install junius:
   cd junius/server/python/junius
   python setup.py develop
 *or* just add it to your PYTHONPATH
   set PYTHONPATH=c:\src\path\to\junius\server\python
+install modules required for 'protocols' - note that these are technically
+optional - if the modules aren't installed a warning will be generated and
+the protocol will simply be disabled
+* imap - PyOpenSSL (link?)
+* skype - Skype4Py (link?)
+* twitter - python-twitter (link?)
 configure raindrop:
   * edit ~/.raindrop
   * if your 'local' couchdb isn't on localhost, add a section along the lines of:
@@ -45,26 +54,37 @@ configure raindrop:
   * Add a 'test' account - for the 'test suite' - along the lines of:
         username=test # not used, but we die without it!
         num_test_docs=1 # this defaults to 5 - but 1 is useful sometimes!
+** NOTE: if you edit this file, you must run 'run-raindrop.py install-accounts'
+to get the new data into the raindrop database (the accounts are automatically
+updated if the database is created, but we don't detect when the accounts
 With the couchdb server running....
 Setup the database and upload views and other content:
-  WARNING: using this command will wipe ALL your databases we may touch.
+  % run-raindrop.py
+you should see output similar to:
-  % run-raindrop.py nuke-db-and-delete-everything-forever
+  INFO:model:created new database
+  INFO:junius.bootstrap:Adding account 'test'
+  INFO:junius.bootstrap:client files are different - updating doc
+  INFO:junius.bootstrap:design doc '_design/raindrop!accounts!all' has changed - updating
+  ...
+  Nothing left to do - terminating.  
-  See --help for how to update the various bits without nuking the database.
 Go to to check that the table(s) are 
 Test everything using the 'test suite' (one day it *will* be a test suite :)
   % run-raindrop.py -p test sync-messages process
@@ -88,8 +108,13 @@ Test everything using the 'test suite' (
 Get *real* messages:
   % run-raindrop.py sync-messages process
 (reload to see stuff in the messages view)
 Go to and do autocomplete to do
+You can edit any of the files in the 'schema' or 'client' directories, and
+when run-raindrop is next started, the changes to these files will be detected
+and they will be sent to the database.  We don't detect the changes while we
+are running though - you must restart.