vBulletin Good Thread Titles 1.0.1

Gives you flexibility in ensuring good thread titles are being used.

  1. MarkFL
    Overview:

    This product is designed to give you many options to ensure good titles, as you define them, are used for the threads created on your forum. A thread with a good title is more likely to get views, and participation than a poorly titled thread. A good thread title should be informative and offer at least one level of information more than can be ascertained from where it is posted. For example, on a math help site, a thread posted in the "Calculus" forum titled "Help With Calculus" is redundant and essentially useless, as it is assumed the OP is going to be asking for help with a calculus problem. But a title such as "Optimization With Multiple Constraints" immediately indicates the nature of the problem being discussed.

    Thread titles with text abbreviations, excessive punctuation, long strings of repeated letters, duplicate titles, etc. are also some of the things that can dilute the atmosphere and usefulness of the content you work so hard to nurture and curate. This product will help you and your moderating staff to make sure your users title their threads appropriately.

    If you find that you have thread title issues not addressed by this product, I welcome you to let me know in the discussion thread for this product, so I can consider adding settings/code to deal with issues I haven't included.

    The settings for this product are divided into three main groups:

    • Title Censoring Options
    • Duplicate Title Options
    • Product Scope

    Title Censoring Options:

    This section of settings pertains to unwanted issues with the content and format of a thread title, as well as similarity between thread and forum titles. It is further divided into two sub-sections:

    • Manual Correction (Generates Error Messages)
    • Automatic Correction

    Manual Correction (Generates Error Messages):

    This section deals with those issues which will generate an error and require the user to take action to edit their thread title before being able to preview/submit their post.

    Censored Words And Error Messages: Here, you can group censored words by the error message that will be displayed. Each line of text enteres here should contain one or more censored words in a case-insensitive comma-delimited list, followed by the pipe symbol "|" and then the error message pertaining to the words given. Any words you have defined in vBulletin's "Censorship Options" will be censored first, so you should only list words that are okay elsewhere, but that you just don't want appearing in thread titles.

    markfl_gtt_censoredwords.png

    Prevent Acronyms/Abbreviations?: If you have "MarkFL: Acronyms And MathJax" installed and active, and have a list of defined abbreviations/acronyms, you can choose to have these added to your censored words.

    markfl_gtt_acronyms.png

    Allowed Acronyms/Abbreviations: If you wish for most of your acronyms/abbreviations to be censored, but want to allow some to be present in thread titles, then you can "whitelist" them here. Enter each case-insensitive item on a separate line.

    Censored Strings And Error Messages: This is much like the "Censored Words And Error Messages" setting except that strings can appear anywhere, even within words. Otherwise, defining the list works in the same way.

    markfl_gtt_censoredstrings.png

    Minimum Letters In Title: Here you can impose a lower limit on the number of alphabetical characters that must be present in thread titles, to encourage your users to use sufficiently descriptive titles.

    markfl_gtt_letters.png

    Check Thread Title Against Forum Title?: This setting allows you to ensure thread titles aren't too similar to the name of the forum in which the threads are posted. The number you enter represents the percentage of words relative to the string with more words (after your defined list of common words is stripped from both) that match each other with at least 80% accuracy.

    markfl_gtt_forumtitle.png

    Common Words To Strip (Forum Title Comparison): Enter the case-insensitive comma-delimited list of common words that you want to be ignored (removed from both the thread and forum titles) before they are compared for similarity.

    Automatic Correction:

    This section deals with issues that are automatically corrected, and require no action on the part of the user. When the post is submitted, the relevant changes to the title will be made before being saved to the database.

    Repeated Letters: Sometimes people like to go overboard with repeated letters, which might be fun in some places, but you might not want such tomfoolery in your thread titles. No legitimate English word contains the same letter more than twice in a row, so I would recommend setting this to 2 if you want to enable it. Or, you may want to allow some antics like setting it to 3 which will allow for "words" like "shhh" or "brrr."

    Excessive Punctuation: This setting will prevent users from putting a gaggle of exclamation and/or question marks at the end of their title, and can be used to prevent any excessive punctuation you desire.

    Capitalization: If you choose to use this option, you can choose to either capitalize the first character in the title (if it's a letter) of capitalize the first letter of each word.

    markfl_gtt_auto.png

    Duplicate Title Options:

    This section deals with the issue of thread titles matching the titles of existing threads. In the event that a user's new thread title matches with one or more existing threads, the user is show a list of these threads, sorted in descending order by start date, with links to the threads. The user is encouraged to check to see if their post would be better suited in one of the listed threads, rather than as a new thread.

    markfl_gtt_duptitles.png

    Duplicate/Similar Titles: This setting allows you to decide if you wish to check for similar titles, and if so whether to check for such titles by the same author, or by any author.

    Characters Not Stripped For Comparison: Here you can define the characters that will remain in the user's thread title and those to which it is being compared. This way you can strip punctuation, numerals, etc., so that only what describes the thread remains. You can choose to strip everything except letters (Alpha), everything except letters and numbers (Alphanumeric), or use your own custom Regex.

    Custom Regex: The "Characters Not Stripped For Comparison" setting has two preset character sets, and this setting allows you to define your own. Some knowledge of regex is required, so you should only choose this if you are familiar with regex. A link to the regex manual is provided.

    Common Words To Strip (Duplicate Title Comparison): Enter the case-insensitive comma-delimited list of common words that you want to be ignored (removed from both the new and existing thread titles) before they are compared for similarity.

    Strength Of Match: The number you enter represents the percentage of words relative to the string with more words (after your defined list of common words is stripped from both) that match each other with at least 80% accuracy.

    Duplicate/Similar Thread Title Forum Scope: This allows you to either check for titles in the same forum as the new thread is being posted, or for titles in all forums you have designated as active.

    Time Threshold: This setting allows you to enter the number of days ago a thread's last post must have been made in order to be checked as a possible duplicate title. Enter 0 to disable (check threads regardless of timestamp of last post).

    Product Scope:

    This section deals with who is affected by the product, and in which forums the product is active.

    Affected Usergroups: Here you may select the usergroups whose members (whether a primary or secondary usergroup) will be affected by this product. You may also select "All" usergroups so that everyone is affected, or you may select "None" so that only those users you specify by username are affected.

    Post Count Threshold: If you wish for those who are members of one or more affected usergroups to only be affected up until they reach a specified post count, then enter that post count here. Enter 0 to have no post count threshold.

    Affected Users: Here you may specify users by username who will be affected no matter to what usersgroups they belong. They will be affected regardless of postcount, for as long as they are specified here. Enter each case-insensitive username on separate lines.

    Excluded Users: Here you may specify users who will not be affected by the product, regardless of the preceding two settings. This setting takes precedence over them.

    Active Forums: This setting allows you to specify in which forums this product will be active. Any selected forum will have all of its children forums affected as well, for ease of selection.

    The phrases used by this product:

    markfl_gtt_phrases.png

    Updates:

    Version 1.0.1

    • Fixed issue with quick edit save potentially generating a short title error.

    Compatibility:

    Tested and working on vB 4.2.5 and may work on earlier 4.x versions of vBulletin.

    Backup/Warning:

    This product does not alter your database, however it is always good practice to make regular backups and you should make a backup before installing ANY new mod.

    As always, products are USE AT YOUR OWN RISK. I will provide support and do my best to help but no absolute guarantee is offered.

    To Install:

    1. Download and extract the attached .zip file.
    2. Upload the files from the "upload" folder to your forum's root folder on your server.
    3. Follow AdminCP -> Plugins & Products -> Manage Products -> Add/Import Product.
    4. Click on "Choose File" and browse to the product .xml file that was packaged in the .zip file.
    5. Click "Import".
    6. You MUST enable the product in the settings before it will function.
    7. Configure the remaining settings to your liking. Each setting has a detailed explanation of its use.

    markfl_gtt_acp.png