Notes and Future Work
Rnews is designed to be used interactively in a browser. But with some Un*x know-how, you can use cron in two ways to update feeds periodically. Why? Some high-volume sites include only relatively few articles in their feeds. In the eight hours that you sleep at night (and are not using Rnews), you might—heaven forfend—completely miss some articles. There are two options:
- Use Links. Access Rnews and login (make sure to select the 'remember me' box) to your account. After this first step, you can use a crontab entry like this one to automatically update your feeds every four hours (probably more than often enough):
0 0,4,8,12,16,20 * * * /path/to/links -dump http://your.host/path/to/rnews/index.php >/dev/null
- Use a command-line script now included in the distribution, e.g.:
0 0,4,8,12,16,20 * * * ( cd /path/to/rnews; /path/to/php cron.php uid=2 category=7 >/dev/null 2>&1 )
The script cron.php updates all users' feeds by default, but it can be limited to a given user, category, or particular feed with the uid, category, and feed arguments. To find out the proper user id, run php cron.php listuids. If you really want to be clever and send yourself an SMS when something appears on your blog's comments feed, you can remove the redirection and parse the output. But gosh, that's just nerdy.
Note: this is not for web access. It is only for command-line use. There are no security or login checks, as we assume that if you have shell access to the Rnews distribution you can do whatever you want anyway.
Now you can eat your cheerios in bliss, knowing you haven't missed any articles while you wasted time sleeping.
By default, when it is time to fetch feeds again, they are loaded asynchronously (you see "Loading articles...", then they appear). This is because some feed servers take a while to respond and we want you to be able to read whatever news is available while you wait. Also, it lets you fetch multiple in parallel.
The main control for this is in inc/config.php, and is called AJAX_LOAD. If it is set to FALSE this behavior will be disabled for all users. What if only one user doesn't want it for some reason, or at some time? You can override it by adding an argument to the URL. There is (currently) no user interface element for this because it's a real corner case / power-user thing.
Add &async=0 to turn it off, and &async=1 (or log out and back in) to turn it on again. If there are no other query arguments in the URL, use a question mark (?) instead of an ampersand (&), for example: http://your.server/rnews/index.php?async=0. It will be saved in your cookie, so you need only do this once per session, and it will reset to the default AJAX_LOAD setting the next time you log in.
There are many possible future features we're considering, including, in no particular order:
- An admin interface for managing users.
- Per-user interface theming.
- Filter feeds without new articles, show unread articles, etc.
- Feed re-ordering via drag-and-drop.
If there are other must-haves, let us know (or send patches!), and feel free to vote on the forums.