Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.7 > vBulletin 3.7 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Automatic Thread Tagger Details »»
Automatic Thread Tagger
Version: 1.2.0, by Phalynx Phalynx is offline
Developer Last Online: Nov 2015 Show Printable Version Email this Page

Category: New Posting Features - Version: 3.7.x Rating:
Released: 07-15-2008 Last Update: 01-08-2009 Installs: 841
DB Changes Uses Plugins Auto-Templates
Additional Files Translations  
No support by the author.

Automatic Thread Tagger


Description
When a user submits a new thread this modification will automatically take keywords from the thread title and use these as tags. You can use Automatic Thread Tagger to propose the user AJAX tags for his new thread, or it assigns new tags after saving the new thread. It can add the translated thread prefix to the tags.
Additionally, you can tag existing threads via maintenance and also scheduled tasks.

This modification is a successor to the terminated Automatic Thread Tagger by MrEyes:
https://vborg.vbsupport.ru/showthread.php?t=179927

As an example, if a user submits a thread with a title of:
"Fish Food for Cats!"

The thread will be automatically tagged with:

- Fish
- Food
- Cats

If the user also submits an actual tag of "Fish" this will not be duplicated. Any rules you have setup for tagging will be respected.
If you choose to do so this product will also automatically tag threads created by incoming RSS feeds.

Demo
I cannot show you the process of creation, but here is a list of tags generated by Auto Thread Tagger:
http://www.insideearth.net/tags.php?langid=5
http://www.insidesupcom.de/tags.php?langid=1


Automatic Tagging of existing threads
You can tag existing threads via maintenance or scheduled task/cron. They will be created with a special flag so they can be easily identified and deleted. Manual assigned tags are not touched. Maintenance is also working if Automatic Tagging is disabled via settings. Great if you want to test some settings. Automatic Tagging will take the date of the thread creation and also the userid of the creator. This process can be automated by running a scheduled job once a night.

Please keep in mind that tags that were proposed via AJAX are not tagged as auto tagged and therefore cannot be identified as such (and therefore not deleted automatically). If you want to retain the auto tagged flag you should disable AJAX and enable the tagging after the thread has been saved. As an alternative way you can also disable this and let new threads be tagged in the night from the scheduled job.


Installation / Upgrade
1. Upload all files from "upload" to your server, take care of the directory structure
2. Import "product-auto_thread_tagger110.xml" as a product, overwrite if it's already installed
3. Check settings
4. Run maintenance / Auto Tag Threads to tag existing threads (needed if you want to use the cron)

After install, and by default the modification is disabled, this will allow you to play around with configuration before switching it on.


Troubleshooting
If you report a bug please post the thread title that created it, without this I cannot test it and improve the language parsers.

* If no threads are tagged you will have to check the following:
- Is the modification enabled? Is the action you are testing enabled? (vBulletin tagging, whole auto thread tagger system, AJAX, new threads)
- Are the words you are using badwords or filtered out?

* Cron/Scheduled Task is not tagging all threads.
- The cron is limited to 500 (you can change this via settings) threads per run to avoid heavy impact on server. Make sure you run maintenance auto tagger before this to tag old threads. You can check the scheduled tasks log to see if it is running correctly.
Important: If a thread title does not meet minimum requirements to be included in tags (f.e. one word thread titles, too short words), it will be forever in this queue.

* I'm using polish, arabic, turkish, etc.. language and the tagger is not working like it should.
- If not already replaced, replace the filter replacement '&'=>'and' with ' & '=>'and' (a space before and after &)



Todo
What comes next? You decide. Tell me what you are missing and I'll look if it can be integrated.


Why thread title and not thread text?
Parsing the thread text for tags is an extremely unlikely addition as this would require some fairly heavy processing to ensure quality of tags.


What are Stopwords?
Stopwords is the name given to words which are filtered out prior to processing of tags.
The user Hostboard on vBulletin.org posted some resources regardings this:
https://vborg.vbsupport.ru/showpost....&postcount=380



History
1.2.0, 9th August 2008
- Fixed error with missing threadid's
- Fixed error with AJAX and prefix
- Fixed error with not indexing tags via cron
- Added polish, spain, english stopwords
- Compatibel with vBulletin 3.8

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #312  
Old 08-07-2008, 07:40 AM
Phalynx Phalynx is offline
 
Join Date: Feb 2004
Location: Erlangen, Germany
Posts: 2,747
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Kuntz View Post
All of you are suggested to use this as it fixes two bugs in the CRON file. The first bug is in relation to RSS threads not being tagged at all. This was due to the fact the creator used incorrect syntax to get NULL fields, so no fields would get returned. The second bug prevented threads from being tagged if they were created in a 'wierd' method. What is that? I'm not sure, but I had about 20 threads that weren't tagged but were marked as being tagged, the datelines were spread apart pretty evenly, so I'm assuming the creators of the topics created the threads, they had tags, then those creators for some reason removed their tags manually afterwards. This leaves the thread marked Auto-Tagged, but there are no tags. So now the cron will re-tag these threads. This is all a guess, but who cares, all your tags are belong to me.
For the first part of the NULL I agree, thanks for pointing me to this. It seems it works on some MySQL versions and on some not.

Also there is no mark for already tagged threads. But there is a mark for threads tha cannot be tagged, f.e. because of title containing only bad words or just too short words. This is an attempt to not try to tag these threads every night.
The autoskip option is going to reset to 0 by editing the title.

I will incorporate the changes to the official release if someone can confirm that cron is now working.
Reply With Quote
  #313  
Old 08-07-2008, 08:04 AM
Kuntz Kuntz is offline
 
Join Date: Mar 2008
Location: http://www.k-stats.com
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Erm, according to my DB, all my threads are 'autoskip = 2' once they're tagged by the CRON Auto-Tagger.

There are two kinds of untagged threads in my DB:

-Threads with NULL as the tag list
-Threads with a blank tag list (this is different then NULL)

-Threads set to NULL have an autoskip value of 0
-Threads that are blank have an autoskip value of 2

For my DB and installation, the above CRON works perfectly fine, and on top of that, tags the RSS feed as it comes in. My two RSS feeds are set to check every 30 minutes, I then edited my CRON to run the RSS script at '00' and '30', and edited the autotag CRON to run at '00' and '30' as well. Then I 'reset' my two RSS feeds and when the clock hit the top of the hour, it checked my RSS feeds, added the topics, and tagged them, all in one go! Been working great all day so far.
Reply With Quote
  #314  
Old 08-07-2008, 08:14 AM
Phalynx Phalynx is offline
 
Join Date: Feb 2004
Location: Erlangen, Germany
Posts: 2,747
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Check line 68-76 in functions_autotagger.php
Reply With Quote
  #315  
Old 08-07-2008, 08:55 AM
tekguru tekguru is offline
 
Join Date: May 2007
Posts: 366
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So have the Cron, etc fixes gone ino this Mod yet? Working out whether to install now or later.
Reply With Quote
  #316  
Old 08-07-2008, 09:55 AM
Ploz Ploz is offline
 
Join Date: Jun 2008
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think it would be useful to add an option to show the text of the first post below the thread title in the "Threads Tagged with" listings...
Reply With Quote
  #317  
Old 08-07-2008, 03:31 PM
Kuntz Kuntz is offline
 
Join Date: Mar 2008
Location: http://www.k-stats.com
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Phalynx View Post
Check line 68-76 in functions_autotagger.php
Some of my threads are set to '2', and some are set to '0'. It seems pretty random. =\

Maybe don't do !taglist OR !isarray() and instead just do !isarray() ??
Reply With Quote
  #318  
Old 08-07-2008, 04:43 PM
mcyates mcyates is offline
 
Join Date: Jan 2003
Location: Middlesbrough, Cleveland
Posts: 798
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I keep getting this error when uploading the product

XML Error: Invalid character at Line 42
Reply With Quote
  #319  
Old 08-07-2008, 06:09 PM
Mazinger's Avatar
Mazinger Mazinger is offline
 
Join Date: Nov 2006
Location: Egypt
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Tag RSS Feeds?
If yes the auto tagger will also attempt to tag incoming RSS feeds.

In order for RSS tagging to work you will have to manually edit one of the default vbulletin files. Please refer to the product page on vBulletin.org for further information.
Any help with that?
Reply With Quote
  #320  
Old 08-07-2008, 06:17 PM
Kuntz Kuntz is offline
 
Join Date: Mar 2008
Location: http://www.k-stats.com
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mazinger View Post
Any help with that?
outdated info
Reply With Quote
  #321  
Old 08-07-2008, 06:53 PM
Hostboard's Avatar
Hostboard Hostboard is offline
 
Join Date: May 2002
Location: CT
Posts: 843
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Line item #5 in 1.1.0 GOLD, 31th July 2008 release notes addressed this.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:08 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05287 seconds
  • Memory Usage 2,320KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete