[news.admin] Avoiding multiple copies of news messages

crehta@tasu74.UUCP (Ran Ever-Hadani) (02/01/90)

I looking for a way to avoid the problem of having many users saving
multiple copies of news messages;  my problem has to do mostly with
large documents distributed via local newsgroups, documents that many
people may like to save.

What comes to mind is a package that will maintain a common area in
which a single copy of any news article saved will reside; every user
will have a file containing pointers to the articles he "saved" (of
course many users may point to a single file), and every article will
have a list of users who "saved" it.  A user should be able to "save"
an article (i.e. copy it to the common area if it is not there yet, add
a pointer to it to his/her file, and his/her userid to the article's
user list), list and view the articles he "saved", "delete" such
articles etc. .  ("delete" will remove the file pointer from the user
pointer file, and the user's name from the article user list.  If this
causes the user list to be empty, the article will be removed from the
disk).

Any ideas?

-- Ran
-----------------------------------------------
Reply-To: crehta@taux01.nsc.com (Ran Ever-Hadani)
Disclaimer: The above is to be attributed to me only, not to any organization.
Apology: Bad English.  E-mailed spelling and style corrections are welcome.

bob@MorningStar.Com (Bob Sutterfield) (02/03/90)

There are some low-volume newsgroups that we never expire.  Those
include internal stuff and some with topics that are very important to
our business.  Other stuff we expire nightly - C News is very flexible
in this way.

jimm@cbnewsi.ATT.COM (james.mumper) (02/06/90)

In article <3235@taux01.UUCP> crehta@taux01.nsc.com (Ran Ever-Hadani) writes:
>I looking for a way to avoid the problem of having many users saving
>multiple copies of news messages;  my problem has to do mostly with
>large documents distributed via local newsgroups, documents that many
>people may like to save.
>
>What comes to mind is a package that will maintain a common area in
>which a single copy of any news article saved will reside; every user
>will have a file containing pointers to the articles he "saved" (of

What about users who wish to save the file in order to edit it and re-send it
as a response?  How will they be able to accomplish this?  It makes sense to
do what you are proposing disk-space wise but it doesn't allow the user to make
any changes to the file.


-- 
________________________________________________________________________________
| James A. Mumper            |#include <silly.quote>|Disclaimer: All opinions  |
| jimm@cbnewsi.ATT.COM       |			    |are mine and not those of |
|			     |			    |my employer.	       |

rhg@cpsolv.CPS.COM (Richard H. Gumpertz) (02/15/90)

In article <3235@taux01.UUCP> crehta@taux01.nsc.com (Ran Ever-Hadani) writes:
>I looking for a way to avoid the problem of having many users saving
>multiple copies of news messages;  my problem has to do mostly with
>large documents distributed via local newsgroups, documents that many
>people may like to save.
>
>What comes to mind is a package that will maintain a common area in
>which a single copy of any news article saved will reside; every user
...

Assuming you are on a Unix system: just have the user do an "ln" to the news
file.  The file will go away when all users have deleted their links AND the
article has been expired.  Of course, you might want to build a shell script
or macro to do the linking for the user, but the central part of the function
would be something like the following:
	ln /usr/spool/news/comp/sources/wanted/3317 myfilename
This lets the Unix file system do all the hard part of maintaining reference
counts, etc., for the file.
-- 
  ==========================================================================
  | Richard H. Gumpertz    rhg@CPS.COM    (913) 642-1777 or (816) 891-3561 |
  | Computer Problem Solving, 8905 Mohawk Lane, Leawood, Kansas 66206-1749 |
  ==========================================================================