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

Reply
 
Thread Tools
Automatic Thread Tagger for vB3.8 Details »»
Automatic Thread Tagger for vB3.8
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.8.x Rating:
Released: 01-08-2009 Last Update: Never Installs: 1000
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

Download Now

File Type: zip product-auto_thread_tagger120.zip (18.7 KB, 7222 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
2 благодарности(ей) от:
sodasusu, xorex

Comments
  #252  
Old 05-30-2014, 04:55 AM
ForceHSS ForceHSS is offline
 
Join Date: Apr 2008
Posts: 6,357
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't use twitter then
Reply With Quote
  #253  
Old 06-16-2014, 06:58 PM
tazegame tazegame is offline
 
Join Date: Jun 2014
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for plugin
Reply With Quote
  #254  
Old 04-03-2015, 04:30 AM
mdawg's Avatar
mdawg mdawg is offline
 
Join Date: Mar 2009
Location: United States
Posts: 363
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How about making this for vb 5 - vb5 is the wave of the future!

I was stuck in vb3 for years but now that I've upgraded to vb5 over all I am glad I made the move.
Reply With Quote
  #255  
Old 04-03-2015, 04:24 PM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mdawg View Post
How about making this for vb 5 - vb5 is the wave of the future!

I was stuck in vb3 for years but now that I've upgraded to vb5 over all I am glad I made the move.
Why are you posting the exact same message in lots of threads??????
Reply With Quote
  #256  
Old 09-16-2016, 12:24 PM
beansbaxter's Avatar
beansbaxter beansbaxter is offline
 
Join Date: May 2005
Location: Seattle
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Would love to see an update to this in order to work with PHP 5.4 please ooooh please!
Reply With Quote
  #257  
Old 07-04-2018, 11:18 AM
yellow_spider yellow_spider is offline
 
Join Date: Dec 2005
Location: UK
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Worked OK for me on php 5.4 ?

Anyway it does not appear to work on php 7.x I have not yet had chance to look at a fix for it although in theory it does not (appear) to be a difficult thing to sort out.

Code:
Call to undefined function split() in ....\includes\functions_autotagger.php on line 148
Only in php7 , php5.6 perfectly fine . Confirmed by switching back to 5x without any issues and it works.

Trace:
Code:
#1 : vbstop() called in ....\includes\class_core.php on line 3834
#2 : vbulletin_exception_handler() called in  on line 

Var Type: [ NULL ]

Var Data: null
Something here tells me that likely a "require" or "require once" might be all that is needed as I cannot quite see why said function is awol in a different php version, unless its one of the &= vs = things.

I've not looked into this just yet but if anyone has any clues would be appreciated to point me in the right direction!
Reply With Quote
  #258  
Old 07-04-2018, 07:57 PM
yellow_spider yellow_spider is offline
 
Join Date: Dec 2005
Location: UK
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I thought I'd try replacing split with explode, which after a couple of tests appears to work now.

There are 11 instances of 'split' (not 'preg_split' , just 'split') to change in / includes / functions_autotagger.php , did not notice anything else in the two other files that needed any changes.

"Proof is in the pudding" so to speak so I grabbed a few RSS imports, then manually ran the auto tagger and now it does work with php7... I am running 7.0.10 to be more precise about it.

Pic of a random test RSS thread which then had the auto tagger run on it:
Attached Images
File Type: jpg auto_tag_fixed_php7.jpg (95.2 KB, 0 views)
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 08:03 PM.


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.06061 seconds
  • Memory Usage 2,316KB
  • Queries Executed 23 (?)
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
  • (2)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (8)post_thanks_box
  • (2)post_thanks_box_bit
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (8)post_thanks_postbit_info
  • (7)postbit
  • (2)postbit_attachment
  • (8)postbit_onlinestatus
  • (8)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete