Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mozillamessaging:raindrop
raindrop-devel
INSTALL
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File INSTALL of Package raindrop-devel
See http://wiki.mozilla.org/Raindrop/Install for the latest and most up-to-date installation documentation. Late Breaking News/Known Problems ================================= * Integration with twisted logging is poor. * We are in the middle of moving from using the manually executed 'run-raindrop.py' script to the couchdb managed 'couch-raindrop.py' script which is controlled by the front end. If both processes are running you can expect one to see regular conflict errors. Installation Steps ================== couchdb ------- Install couchdb, version 0.10 or later. 0.9 will not work. See: http://couchdb.apache.org/downloads.html for most platforms. http://wiki.apache.org/couchdb/Windows_binary_installer for Windows. When building couchdb from source, it can be run without installing via a 'dev' install: cd couchdb; ./bootstrap && ./configure && make && make dev ./utils/run raindrop -------- Install Python 2.5 or 2.6 (note that Python 3 is not yet supported). Execute the 'check-raindrop.py' script in the server/python directory. This should check all dependencies and let you know what you are missing, then check your couchdb for certain configuration requirements. If you are brave, try executing 'check-raindrop.py --configure' (prefixing that command with 'sudo ' on some platforms). This will attempt to automatically install all dependencies necessary and configure couchdb. If you are less brave, run it without the --configure option, then manually resolve any dependency or configuration issues it reports, then repeat until no problems are found. A summary of the dependencies are: setuptools, twisted, PyOpenSSL, Skype4Py, python-twitter, simplejson, feedparser and paisley. Notes ----- Note for mac users: doing easy_install PyOpenSSL after May 1st, may install some badly. It may be a PyOppenSSL 0.9 issue. 0.8 is known to work. Try the latest code, but if that does not work, switch to 0.8. Running Raindrop ================ After check-raindrop.py reports everything is in order, the next step is to set up the accounts to use with raindrop, then have raindrop fetch the messages: Manually configure raindrop --------------------------- These steps should become less necessary as time moves forward (it will be possible in the future to do this work though a web interface), but for now, you need to set up the accounts you want to use in raindrop via a .raindrop file: configure raindrop: * edit ~/.raindrop * if your 'local' couchdb isn't on localhost, add a section along the lines of: [couch-local] host=hostname port=port Add one new section per account; note the "account-" prefix is important when defining accounts: * Add gmail accounts along the lines of [account-gmail-username] proto=imap kind=gmail username=username@gmail.com password=topsecret ssl=True * Add twitter accounts along the lines of [account-twitter-username] proto=twitter kind=twitter username=username password=topsecret * Add imap accounts along the lines of [account-imap-username] proto=imap kind=imap host=imap.example.com port=993 username=username password=topsecret ssl=True * Add skype accounts along the lines of [account-skype-username] proto=skype kind=skype username=username password=topsecret Once you are done with .raindrop, then go to the command line, to the raindrop/server/python directory and run the following command: % run-raindrop.py sync-messages --max-age=5days It will take a few minutes for run-raindrop to complete. The above command gets the last 5 days of messages for each account configured above. Once the above command finishes, then open your favorite Firefox or WebKit-based browser and go to: http://127.0.0.1:5984/raindrop/inflow/index.html You should see some of your messages displayed. There are many issues with the UI and how messages are processed, but hopefully you now have a feel for how raindrop works. Manually controlling raindrop ----------------------------- The 'run-raindrop.py' script is capable of fetching messages, re-running extensions, etc. It is expected that over time, this functionality will be rolled into the couchdb controlled 'couch-raindrop.py' script. As a result, some functionality is duplicated in these scripts. In particular, there is no protection against 'couch-raindrop.py' and 'run-raindrop.py' attempting to perform the same thing at the same time, which will cause many errors to be logged. Before using the advanced features of run-raindrop, you should ensure couch-raindrop.py is not running by executing a command similar to: % curl http://127.0.0.1:5984/raindrop/_raindrop/exit When run-raindrop.py is executed, it always checks to see if the accounts and other documents required by raindrop (eg, the front-end applications) are up to date, then performs the requested operation, then terminates. If no operation is requested a web-browser pointing at raindrop will be opened. This means you can edit any of the files in the 'schema', 'client' or 'couch_doc' directories, then see those changes reflected in the front-end when run-raindrop is next started. We don't detect the changes while we are running though, only at startup. Get messages from all accounts: % run-raindrop.py sync-messages --max-age=2days --folder=inbox Both --max-age and --folder are optional - see --help for details. Reload the front-end applications to see the messages as they arrive. Unprocessing: To delete all the intermediate messages in the DB, execute: % run-raindrop.py unprocess The next time you execute a 'process-backlog' command, all your messages will be reprocessed. Error handling: If there is an error during a 'process' operation (ie, an exception in the converter), we will write an 'error document' and continue processing the work queue. We don't make a very loud noise at the end when this happens - you need to notice it in the log output as it is running. At any time you can execute: % run-raindrop.py retry-errors To re-process those messages - but this will generally result in exactly the same error unless the converter has been fixed to deal with the condition causing the error. Alternatively, execute 'unprocess' to force reprocessing of all messages, not only those which previously caused an error. See --help for more. Testing Raindrop ---------------- Test everything using the test suite % ./test-raindrop.py
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor