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
  #582  
Old 03-26-2009, 10:28 AM
jskoh jskoh is offline
 
Join Date: Dec 2008
Posts: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how to put the tagger in forums home? i can only see it in search page. anyone?
Reply With Quote
  #583  
Old 03-26-2009, 12:45 PM
rmxs rmxs is offline
 
Join Date: Apr 2006
Posts: 419
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello why this replacements doesnt work??
'σ '=>'ς'
'Σ '=>'ς'

I wont all the last Σ and σ become ς
byt no lack..
Reply With Quote
  #584  
Old 03-27-2009, 01:00 AM
cosy cosy is offline
 
Join Date: Jul 2007
Posts: 207
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

got a small problem when the title is like bla:bla the tag is balbla any way to fix that ?
Reply With Quote
  #585  
Old 03-29-2009, 06:37 PM
rmxs rmxs is offline
 
Join Date: Apr 2006
Posts: 419
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Remove the ':'=>'' from hack settings (replacements)
Reply With Quote
  #586  
Old 03-29-2009, 06:40 PM
marshal_ramdev marshal_ramdev is offline
 
Join Date: Mar 2009
Location: Ludhiana
Posts: 192
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks
Reply With Quote
  #587  
Old 03-30-2009, 02:14 AM
Azonaco Azonaco is offline
 
Join Date: Aug 2008
Posts: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is a wonderful mod. Thanks again.
Reply With Quote
  #588  
Old 03-31-2009, 06:19 AM
eido eido is offline
 
Join Date: May 2007
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

getting the same flood error :S
Reply With Quote
  #589  
Old 04-03-2009, 10:32 PM
creative-friend creative-friend is offline
 
Join Date: Feb 2009
Posts: 340
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Done
Thanks Alot...
Reply With Quote
  #590  
Old 05-26-2009, 06:18 AM
Farman Farman is offline
 
Join Date: Jan 2009
Location: Pakistan
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great mod, installed !
Reply With Quote
  #591  
Old 07-02-2009, 03:56 AM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The cron is deadly to boards with many threads... the cron query returns every thread in the database, (the 500 "limit" applies to how many loop recursions are processed), where it should be limiting the query itself. Once that's fixed, we face a table scan - an INDEX should be added on taglist and autoskip:
Code:
ALTER TABLE " . TABLE_PREFIX . "thread
ADD INDEX taglist (taglist ( 1 ) , autoskip)
Since we only need to check if taglist is empty, indexing the entire MEDIUMTEXT value is unnecessary, so use a length of 1 to save space.
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 01:35 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.08174 seconds
  • Memory Usage 2,313KB
  • 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
  • (1)bbcode_code
  • (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