Mogo combines multiple news feeds (or feed topic searches) into a single web page view, much like a typical “Planet”-style feed aggregator. It’s built in Ruby on top of Sinatra and DataMapper.
Dependencies and all configuration is done in environment.rb
. Your database is also set up here. DataMapper will use sqlite3 by default. Tests use the sqlite3-memory adapter (no configuration needed).
rake db:migrate rake feeds:add URL=http://blog.zerosum.org rake feeds:update ruby application.rb
Use the web interface located at /admin
to add and remove feeds. Accessing this URL will require a username and password. These settings are adjustable in environment.rb
; the defaults are ‘admin’ and ‘password’.
You can also add feeds directly from the command line:
rake feeds:add URL=http://blog.zerosum.org
Run rake feeds:update
to update the cached feeds. You can schedule this as a cron job to fire every few minutes if you like.
We use Sphinx for full-text indexing and search. Therefore, you’ll need to have it installed. You can find downloads and installation instructions at www.sphinxsearch.com.
To enable search in Mogo, set the option in environment.rb
. Search is disabled by default. I’ve only tested search with MySQL, so set your database connection string to a MySQL database you’ll create (default: ‘mogo’ with user ‘root’). Feel free to tune the sample configuration provided in sphinx.conf
to your taste. You probably won’t want to use a passwordless root user in a production environment ;-).
Once that’s done, go ahead and run the supplied Rake tasks to get up and running:
rake sphinx:reindex # update the search indexes; you'll probably want to schedule this periodically rake sphinx:search:start # start it up rake sphinx:search:stop # shut it down
You should now be able to run application.rb
and use the rudimentary search interface.