=========================================================================== dbagg2, a personal news aggregator toolkit l.m.orchard http://www.decafbad.com/cvs/dbagg2 $Header: /cvsroot/dbagg2/README,v 1.3 2004/01/23 14:46:44 deusx Exp $ =========================================================================== Welcome to my second experiment in writing an aggregator in Python. Be warned that things are in an interesting, yet barely functional, state. The goal of this little kit is to make it easy to get an aggregator up and running in order to spend time tinkering with new ideas in GUI, presenting information, aggregation patterns, and other such things. Although it could someday be packaged up as an end-user aggregator, this is by no means the main goal. =========================================================================== INSTALLATION =========================================================================== You're going to need the following prerequisites: * Some UNIX-y OS (ie. Linux, *BSD, OS X, etc.) * Python 2.3 * MySQL * Apache * MySQLdb - http://sourceforge.net/projects/mysql-python * SQLObject - http://sqlobject.org/ * SimpleTAL - http://www.owlfish.com/software/simpleTAL/ Once you have those installed, you'll need to create a new database and user. For example: $ mysqladmin -uroot -ppasswd create dbagg2 $ mysql -uroot -ppasswd -e'GRANT ALL PRIVILEGES ON dbagg2.* \ TO dbagg2@localhost IDENTIFIED BY "somepass"' Then, you'll need to update conf/global.conf with the details used in creating the database: [data] driver = mysql [data_mysql] host = localhost db = dbagg2 user = dbagg2 passwd = somepass After that, you can initialize the database tables used: $ export PYTHONPATH=./lib $ python lib/dbagg2/model.py createTables At this point you should get a list of feeds in an OPML file, assuming that you have been using another aggregator. You can then import these feeds: $ python lib/dbagg2/OPMLImport.py mySubscriptions.opml Once the database is populated with feeds, scans can begin. This is done via crontab: 30 * * * * (cd /path/to/dbagg2; PYTHONPATH=./lib python lib/dbagg2/scan.py;) In order to view things, you'll need to make htdocs/ available via your web server. In Apache, you'll want to make an alias to the htdocs/ directory, or symlink somewhere. To view new items: http://localhost/path/to/dbagg2/htdocs/index.cgi?method=newItems You can use this as a bookmarklet for subscribing to sites, with some tweaking of the URL to your aggregator installation: javascript:void(location.replace('http://localhost/~deusx/dbagg2/? method=sourcesManage&action_add=1&url='+escape(document.location))); Or, just go to this URL to add a source manually: http://localhost/dbagg2/htdocs/index.cgi?method=sourcesManage Share and Enjoy!