The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Details »» | |||||||||||||||||||||||||
Description:
This hack provides a gateway to selected usenet groups. The entire usenet group is mirrored locally. Posts submitted locally to mirrored newsgroups will also be sent out to usenet. A single perl script is executed via cron that collects news and posts any outgoing articles. Incoming messages are parsed against customizable spam filters and threaded correctly before being placed in your forums. By default, no personal information is sent to usenet other than the posters username and whatever you have globally configured as a footer and organization. The option does exist for a user to include a custom email to use for usenet posts. After initial installation (which involves creating some new tables, adding a few columns to existing vB tables, and entering the database connection information to the news script) configuration is completed via the vB control panel.
Current version is 20020323 for vB2.xx Current feature list:
Main Options More Options Configuration of Newsgroups Add New Newsgroups Spam Control What an imported usenet article looks like in vB The latest version of this hack will always be in this first post of the thread. Before asking questions in this thread, please read all the posts in this thread. If your question goes unanswered, it will probably be because the question has already been answered countless times in this thread. This hack was created for use on my forums and will only be supported as time permits. Links to required Perl Modules Show Your Support
|
Comments |
#452
|
|||
|
|||
Ahh. Thats the problem:
> 80ms pings to my (remote) database < In newnews.pl the function indexpost() executes the following two queries very often (for every word of an article): db_execute("INSERT IGNORE INTO word (title) VALUES ($word)"); db_execute("INSERT IGNORE INTO searchindex (wordid,postid,intitle) VALUES ($wid,$id,0)"); When I change the code to use extended multi-value INSERT's instead things speed up dramatically @fastforward: Thank You for Your (fast) aid !! etom |
#453
|
|||
|
|||
Actually, that index function used to do multi-inserts, but I changed it when I switched to Gemini tables. Gemini didn't like being sent a big insert list for some reason and with the transaction support, multiple inserts didn't matter that much anyway.
I suppose I should really add an option in the next version to select whether or not you are using transaction safe tables and fully optimize the SQL for both cases. |
#454
|
|||
|
|||
Hi.
Sometimes when fetching a batch, it stops "fetching" and starts printing ... NNTPERROR: 420 No current article NNTPERROR: 420 No current article NNTPERROR: 420 No current article NNTPERROR: 420 No current article ... for the rest of the batch. Inserting (successfully) fetched threads and replies etc. works fine after that, but it seems it's loosing many posts under some circumstances ?! etom |
#455
|
|||
|
|||
They can be safely ignored. The problem is in the accuracy of the first and last post numbers reported by the server. They often lie about it.
The next version will not rely on the reported article numbers so this won't happen. You can turn off the errors by finding this line in newnews.pl Code:
my $con = new News::NNTPClient($server,$port) or die "Unable to connect to $$newsgroup->{server}"; Code:
my $con = new News::NNTPClient($server,$port,0) or die "Unable to connect to $$newsgroup->{server}"; |
#456
|
|||
|
|||
Sure ?
This happens mid of a download: * last post number on server ~46000 * ~15000 articles on newsserver * batch running for articles 4000 to 4500 * stoped fetching at 4300 with this 420 error * next batch starts at 4500 !! There is missing 4300 to 4500 then, isn't it ?! PS: @fastforward: your fast support is great etom |
#457
|
|||
|
|||
Quote:
|
#458
|
|||
|
|||
Paul, I'm with you all the way.
The Perl script is great. If you need any testing done etc .. lemme know. I've been using your USENET hack for quite a while now. No problems across versions etc... I have however made some changes for my purposes. Namely... To allow for multiple concurrent runs. I use up to 6 different news services. I provide a parm to the newnews module(s) hardcoded and have a perl module for each news reader. I update PID files and kill the newname if already running. Just before termination I do a wait of 'x' minutes and then it relaunches itself. (the 4 crons per day make sure there is continuity) --- Another nice feature would be to allow for grouping of newgroups by eg.:subject JOBS, PGMLANG, OS etcc and 'ageing/ pruning' of threads based on the group above or specified per newsgroup in days. eg: i would like to prune JOBS at 14 days while keep PGMLANG forever (or until the MySql limit ) If I can help ... i'll be pleased to oblige. thx |
#459
|
||||
|
||||
Quote:
Quote:
Quote:
I don't actually use the auto expire option as it takes too long to empty the searchindex on an individual post basis. We need some a timestamp in the searchindex table, but that will probably more than double the size of the table. Mine is already over 1GB. (Or at least it was until yesterday... I'm experimenting with full text search at the moment, so I emptied it. Quote:
|
#460
|
|||
|
|||
etom,
If you download the latest version from the first thread, it has the multi-insert statement for the searchindex table. There may a few other little differences in this file as it's the one I use that may get tweaked as I go along. You just need to replace your newnews.pl. If you've made your own edits and just want the indexing change... Just replace the indexpost() function. |
#461
|
|||
|
|||
Quote:
866 1/2 gig 20gb HD .. linux 7.... and so on dedicated only to the forum. I'll be doing other things soon .. and expect server load increases. I will then upgrade to a dual 1.x Ghz... 2GB system (estimated nov-dec) Quote:
In the post table you can switch the displaybit off. Thats all you do. Then we know that the parent forum is a usenet forum (by adding a column if needed.. i have already for another purpose) or from the posts table we know if it is a usenet post.. or a certain group post. The post will not be displayed. Ok! you then determine the the lowest usage times of the day and schedule a delete posts in forums usenet where do not display post is on. You can maybe tell it to do 50 at a time or whatever... hmm Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|