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
  #332  
Old 08-11-2008, 11:33 AM
ThorstenA's Avatar
ThorstenA ThorstenA is offline
 
Join Date: Nov 2004
Posts: 669
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

With no
  • DB Changes
  • Additional Files
I'd install this mod in a second.
Reply With Quote
  #333  
Old 08-11-2008, 11:39 AM
Phalynx Phalynx is offline
 
Join Date: Feb 2004
Location: Erlangen, Germany
Posts: 2,747
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

With no
  • DB Changes
  • Additional Files
You would not have
  • Changing automated generated tags in case of changed parameters (-> additional field that marks a tag as automated)
  • AJAX driven input method (-> additional file)
  • Cron tagging new threads in background (-> additional file)
Reply With Quote
  #334  
Old 08-11-2008, 11:46 AM
ThorstenA's Avatar
ThorstenA ThorstenA is offline
 
Join Date: Nov 2004
Posts: 669
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

isn't it possible to add ajax and cron within plugins? I installed some products and they use additional ajax features. As far as I know there are also cron plugins. But I am not sure.
Reply With Quote
  #335  
Old 08-11-2008, 12:34 PM
fredang85 fredang85 is offline
 
Join Date: Sep 2007
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Invalid SQL:

SELECT tagid
FROM vBull_tag
WHERE tagtext IN ('russian', 'Вообщем', 'привет', 'всем');

MySQL Error : Illegal mix of collations for operation ' IN '
Error Number : 1271

is it because of the weird language?
Reply With Quote
  #336  
Old 08-11-2008, 02:38 PM
ThorstenA's Avatar
ThorstenA ThorstenA is offline
 
Join Date: Nov 2004
Posts: 669
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Mysql collation errors are usually when there's a difference between language types of tables. You can enter there UTF, ISO formats etc.
Reply With Quote
  #337  
Old 08-11-2008, 07:48 PM
fredang85 fredang85 is offline
 
Join Date: Sep 2007
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

who to i rectify that?
Reply With Quote
  #338  
Old 08-12-2008, 05:25 AM
ThorstenA's Avatar
ThorstenA ThorstenA is offline
 
Join Date: Nov 2004
Posts: 669
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am sorry to not be able to help you further. I just told you all I know about that. Try googling for mysql cllation errors and take a look into admincp > style which collation do you use (UTF / ISO) and then compare it with collations in database via phpmyadmin > whole database collation and phpmyadmin > table vbull_tag.
Reply With Quote
  #339  
Old 08-12-2008, 07:20 AM
fredang85 fredang85 is offline
 
Join Date: Sep 2007
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok thanks alot =)
Reply With Quote
  #340  
Old 08-12-2008, 07:21 AM
Phalynx Phalynx is offline
 
Join Date: Feb 2004
Location: Erlangen, Germany
Posts: 2,747
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ThorstenA View Post
isn't it possible to add ajax and cron within plugins? I installed some products and they use additional ajax features. As far as I know there are also cron plugins. But I am not sure.
For sure, I can incorporate all files as plugins, but every coder should know that this blows up the plugin system unnecessary, espacially if there is so many code that has to be loaded like with this modification. On big boards this makes a huge difference compared to files that are loaded on demand.

Also, please show me the product that is using plugin crons. As far as I know you have to specify a file to execute in that part.

Quote:
Originally Posted by fredang85 View Post
Invalid SQL:

SELECT tagid
FROM vBull_tag
WHERE tagtext IN ('russian', 'Вообщем', 'привет', 'всем');

MySQL Error : Illegal mix of collations for operation ' IN '
Error Number : 1271

is it because of the weird language?
That is something I cannot help you with. Just don't use russian and english words... That error is causing in the vBulletin function called "insert_tags_thread" in file "functions_newpost.php". Auto Thread Tagger is also using such a file.
Reply With Quote
  #341  
Old 08-12-2008, 08:28 AM
freecodevn freecodevn is offline
 
Join Date: Oct 2006
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Power full for me this mod, that all what i want.
Thanks alot Phalynx lv
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 04:50 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.05576 seconds
  • Memory Usage 2,318KB
  • 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
  • (2)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