gnus: Agent Basics

 
 6.9.1 Agent Basics
 ------------------
 
 First, let’s get some terminology out of the way.
 
    The Gnus Agent is said to be “unplugged” when you have severed the
 connection to the net (and notified the Agent that this is the case).
 When the connection to the net is up again (and Gnus knows this), the
 Agent is “plugged”.
 
    The “local” machine is the one you’re running on, and which isn’t
 connected to the net continuously.
 
    “Downloading” means fetching things from the net to your local
 machine.  “Uploading” is doing the opposite.
 
    You know that Gnus gives you all the opportunity you’d ever want for
 shooting yourself in the foot.  Some people call it flexibility.  Gnus
 is also customizable to a great extent, which means that the user has a
 say on how Gnus behaves.  Other newsreaders might unconditionally shoot
 you in your foot, but with Gnus, you have a choice!
 
    Gnus is never really in plugged or unplugged state.  Rather, it
 applies that state to each server individually.  This means that some
 servers can be plugged while others can be unplugged.  Additionally,
 some servers can be ignored by the Agent altogether (which means that
 they’re kinda like plugged always).
 
    So when you unplug the Agent and then wonder why is Gnus opening a
 connection to the Net, the next step to do is to look whether all
 servers are agentized.  If there is an unagentized server, you found the
 culprit.
 
    Another thing is the “offline” state.  Sometimes, servers aren’t
 reachable.  When Gnus notices this, it asks you whether you want the
 server to be switched to offline state.  If you say yes, then the server
 will behave somewhat as if it was unplugged, except that Gnus will ask
 you whether you want to switch it back online again.
 
    Let’s take a typical Gnus session using the Agent.
 
    • You start Gnus with ‘gnus-unplugged’.  This brings up the Gnus
      Agent in a disconnected state.  You can read all the news that you
      have already fetched while in this mode.
 
    • You then decide to see whether any new news has arrived.  You
      connect your machine to the net (using PPP or whatever), and then
      hit ‘J j’ to make Gnus become “plugged” and use ‘g’ to check for
      new mail as usual.  To check for new mail in unplugged mode (See
      Mail Source Specifiers).
 
    • You can then read the new news immediately, or you can download the
      news onto your local machine.  If you want to do the latter, you
      press ‘g’ to check if there are any new news and then ‘J s’ to
      fetch all the eligible articles in all the groups.  (To let Gnus
      know which articles you want to download, SeeAgent
      Categories).
 
    • After fetching the articles, you press ‘J j’ to make Gnus become
      unplugged again, and you shut down the PPP thing (or whatever).
      And then you read the news offline.
 
    • And then you go to step 2.
 
    Here are some things you should do the first time (or so) that you
 use the Agent.
 
    • Decide which servers should be covered by the Agent.  If you have a
      mail back end, it would probably be nonsensical to have it covered
      by the Agent.  Go to the server buffer (‘^’ in the group buffer)
      and press ‘J a’ on the server (or servers) that you wish to have
      covered by the Agent (SeeServer Agent Commands), or ‘J r’ on
      automatically added servers you do not wish to have covered by the
      Agent.  By default, no servers are agentized.
 
    • Decide on download policy.  It’s fairly simple once you decide
      whether you are going to use agent categories, topic parameters,
      and/or group parameters to implement your policy.  If you’re new to
      gnus, it is probably best to start with a category, SeeAgent
      Categories.
 
      Both topic parameters (SeeTopic Parameters) and agent
      categories (SeeAgent Categories) provide for setting a policy
      that applies to multiple groups.  Which you use is entirely up to
      you.  Topic parameters do override categories so, if you mix the
      two, you’ll have to take that into account.  If you have a few
      groups that deviate from your policy, you can use group parameters
      (SeeGroup Parameters) to configure them.
 
    • Uhm... that’s it.