Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Beta Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
[HTL] & [very simple TXT] vB-Bugs Details »»
[HTL] & [very simple TXT] vB-Bugs
Version: 1.00, by Andreas Andreas is offline
Developer Last Online: Jan 2023 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 02-03-2004 Last Update: Never Installs: 23
Is in Beta Stage  
No support by the author.

OK, this is my first Hack release, so please forgive me if it's crap.

vB-Bugs
Version: 0.1f Alpha
vB-version: 3.0.0 Release Candidate 2
Developer: Kirby
Install difficulty: Easy
File edits: 1
Template edits: 0

Description of the Hack:
This is a basic vBulletin-powered Bug-Tracker
It is based on vB-Todolist originalli created by RekiM who kindly gave me permission to make this "port".

Features
  • User-definable Types, Severities and States
  • Front-End fully phrased
  • XHTML-Compliant
  • Various possibilities to Filter/Search

Requirements
  • vBulletin 3 RC2
  • mySQL > 4.0.2

Please note that this is an alpha release only and I can't and
won't take any responsibilities. Use it as-is at you own risk.


HACK INSTALLATION DETAILS:
New files for this Hack:
bugs.php
admincp/bugsadmin.php

Files modified for this Hack:
admincp/index.php

New templates for this Hack:
bugs_addbug
bugs_addbugnote
bugs_listbit
bugs_bugnote
bugs_details
bugs_list
BUGS

New DB tables for this Hack:
bugs
bugnotes
bugtypes
bugseverities
bugstates


This post was generated by the Hack Tracking Log

Show Your Support

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

Comments
  #102  
Old 03-03-2004, 12:31 PM
ixian's Avatar
ixian ixian is offline
 
Join Date: Oct 2001
Location: Denver, CO
Posts: 189
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Catch-22|BL
I stand by Kirby and agree we should keep it simple. People need something that is EASY to understand or else a feature such as this will not be accepted by the community.

One small request: Is it possible to have a rudimentary "upload' function so people can attach simple jpg or txt files? Sometimes people have screenshots or long error sequences that are necessary to describe the bug. Any attachment is fine but a thumbnail style preview would be a "nice to have" bonus.

There's something funny about you agreeing it needs to be kept simple and then asking for a new feature in the same post.

I don't understand this keep it simple mentality at all. This is a purpose-driven hack. It's going to get used by the people who need it and not used by the people who don't. Keeping it simple to have it be more "accepted" by the community really serves no purpose.

In any case, I'm not advocating turning it into something massively complex; I think it's a great hack and I'm offering suggestions to make it even better. Things like:

Subcats for bugs/trouble reasons

A way to edit bugnotes.

Email notification

Are not huge things, and in fact can use the stuff vb3 already has built in. I'm advocating change here for the good of everyone who uses this hack. Otherwise it's going to go the way of other hacks I have seen - everyone just goes off and does their own private modifications and the main hack itself dies. There must be 30+ vb2 hacks I've seen that happen to.

Let's work on making this thing better then. It's massively useful for a lot of vb owners.
Reply With Quote
  #103  
Old 03-04-2004, 03:51 AM
Stadler Stadler is offline
 
Join Date: Apr 2002
Location: Kiel, Germany
Posts: 142
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by KirbyDE
I don't see a point in doing this as mySQL 3 is outdated anyway, so feel free to do that if you want.
I disagree with you although I prefer MySQL 4 as well, but this isn't the right thread to discuss this
Quote:
But I think it'll require more then "a bit more" hacking.
You were right, but I've done it anyway It looks to me, that all changes we're flawless so but I'm going though a bit more testing now, before I'll 'release' it here.

You could eMail me, if you want to take a look.
Reply With Quote
  #104  
Old 03-04-2004, 10:35 PM
Roderik Roderik is offline
 
Join Date: Sep 2002
Location: Belgium
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

concerning the mySQL v3 - v4 questions that float throught this thread:

I'm running a forum on a virtual hosting with some company that isn't going to upgrade anytime soon. The host runs with 3.23.58 Since i really really really wanted this hack i went snooping throught the source and on the mySQL site.

The only fulltext search thing in the script is the "MATCH AGAINST IN BOOLEAN MODE". The mySQL manual stats

Quote:
As of Version 3.23.23, MySQL has support for full-text indexing and searching. Full-text indexes in MySQL are an index of type FULLTEXT. FULLTEXT indexes are used with MyISAM tables only and can be created from CHAR, VARCHAR, or TEXT columns at CREATE TABLE time or added later with ALTER TABLE or CREATE INDEX. For large datasets, it will be much faster to load your data into a table that has no FULLTEXT index, then create the index with ALTER TABLE (or CREATE INDEX). Loading data into a table that already has a FULLTEXT index could be significantly slower.
Some pages back in this thread there is someone with 3.23.57 that uses it without problems so it works just fine on myISAM tables on a mySQL server > 3.23.23.
Reply With Quote
  #105  
Old 03-04-2004, 10:43 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@Roderik
Quote:
Originally Posted by http://www.mysql.com/doc/en/Fulltext_Search.html
As of Version 4.0.1, MySQL can also perform boolean full-text searches using the IN BOOLEAN MODE modifier.
Therefore I don't think it'll work on mySQL-Versions < 4.0.1

@Stadler
If you want you can send me a copy - kirby(at)gmx.net
Reply With Quote
  #106  
Old 03-04-2004, 11:58 PM
Roderik Roderik is offline
 
Join Date: Sep 2002
Location: Belgium
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Damn should have kept reading till the botom of the page

Since i was bored i made a little function that makes a nice mySQL 3 string of where statements to "replace" the full text indexing.

Function works, didn't try the sql output but it's already 3.00 AM...

Hope you can do something with it to make the thing fully mySQL 3 compatible

PHP Code:
<?php
/**
 * Function that will handle the conversion from the boolean 
 * full text search that is only available for mySQL v4.0.1 
 * and higher to a mySQL v3 alternative.
 *
 * @param       string      $keywords (+xxx -yyy +zzz)
 * @return      string      the string with the sql commands
 * @author      Roderik van der Veer <roderik@vanderveer.be>
 * @version     $Id$
 */


function mysqlVersionThreeFix($keywords){
    
$kw explode(" "$keywords);
    
    
$kwplus = array();
    
$kwmin = array();
    
    for (
$i=0$i sizeof($kw); $i++){
        if (
$kw[$i]{0} == '+'){
            
array_push($kwplussubstr($kw[$i], 1));
        } else {
            
array_push($kwminsubstr($kw[$i], 1));   
        }      
    }

    
$sqlstring 'AND (';
    
    for (
$i=0$i sizeof($kwplus); $i++){
        if (
$i != 0) {
            
$sqlstring .= ' AND ';
        }
        
$sqlstring .= "(name LIKE '%".$kwplus[$i]."%' OR description LIKE '%".$kwplus[$i]."%')";
    }
    for (
$i=0$i sizeof($kwmin); $i++){
        
$sqlstring .= " AND (name NOT LIKE '%".$kwmin[$i]."%' OR description NOT LIKE '%".$kwmin[$i]."%')";
    }  
        
    
$sqlstring .= ') '
    
    return 
$sqlstring;    

}

$keywords '+word1 +word2 -word3 +word4 -word5';

echo 
mysqlVersionThreeFix($keywords);

?>
Output:
Code:
AND ((name LIKE '%word1%' OR description LIKE '%word1%') AND (name LIKE '%word2%' OR description LIKE '%word2%') AND (name LIKE '%word4%' OR description LIKE '%word4%') AND (name NOT LIKE '%word3%' OR description NOT LIKE '%word3%') AND (name NOT LIKE '%word5%' OR description NOT LIKE '%word5%'))
Reply With Quote
  #107  
Old 03-05-2004, 12:27 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice one
But I fear it's not fully compatible:
  • What about complete phrases enclosed by quotes?
    I think your implementation will treat it as individual words.
  • What about asterisk?
    I think this is a major problem. If I search for hack (with mySQL 4) it would not return rows containing hacks - your implementation would.
    If I search for hack* (with mySQL 4) it would return rows containing hack, hacks, etc. - your implementation would return nothing.
  • What about negation?
    It seems like you don't support this at all, treating it as part of a word.
    Now if I search for ~vB3 (with mySQL 4) it would return rows that do not contain vB3, your implementation would return those only.
  • What about sub-expressions?
  • What if you do not put a plus/miuns in front of a word?
    It seems link in this case your implementation would strip off the first character and treat them as NOT words.

Although I think the performance wouldn't be good. Anyway, it's in interesting point to start with.
Reply With Quote
  #108  
Old 03-05-2004, 09:49 AM
Roderik Roderik is offline
 
Join Date: Sep 2002
Location: Belgium
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

as i said, was bored, didn't even install the mod yet zo i based what $keywords would be from the little example at the mySQL manual

Quote:
* What about complete phrases enclosed by quotes?
I think your implementation will treat it as individual words.
it does indeed, and it will break if you try but that can be fixed by

PHP Code:
    $lastgood 0;
    
$lastsign true;
    
    for (
$i=0$i sizeof($kw); $i++){
        if (
$kw[$i]{0} == '+'){
            
array_push($kwplussubstr($kw[$i], 1));
            
$lastgood++;
            
$lastsign true;
        } else if (
$kw[$i]{0} == '-'){
            
array_push($kwminsubstr($kw[$i], 1));
            
$lastgood++; 
            
$lastsign false;  
        } else {
            if (
$lastsign){
                
$kwplus[$lastgood] .= ' ' $kw[$i];         
            } else {
                
$kwmin[$lastgood] .= ' ' $kw[$i]; 
            }
        }      
    } 

Quote:
* What about asterisk?
I think this is a major problem. If I search for hack (with mySQL 4) it would not return rows containing hacks - your implementation would.
If I search for hack* (with mySQL 4) it would return rows containing hack, hacks, etc. - your implementation would return nothing.
indeed, also true , just stripping these special chars would do the trick, only thing, searching for hack* could be betaHacks as well.

But it can be fixed too , by replacing * with % and in the code that builds of the sql we remove the %'s from the strings

Quote:
* What about negation?
It seems like you don't support this at all, treating it as part of a word.
Now if I search for ~vB3 (with mySQL 4) it would return rows that do not contain vB3, your implementation would return those only.
you can use + and -, so the - does negation
name NOT LIKE '%".$kwmin[$i]."%'
so name won't contain $kwmin[$i]

what does the ~do other than de - ?

Quote:
* What about sub-expressions?
yeah that doesn't work it's a backward fix, if everyting was so easy they would have put it in in version 1

Quote:
* What if you do not put a plus/miuns in front of a word?
It seems link in this case your implementation would strip off the first character and treat them as NOT words.
also correct, partially fixed in the code above. But it does indeed depend on the correct input from the script that calls it.
Reply With Quote
  #109  
Old 03-05-2004, 01:20 PM
Roderik Roderik is offline
 
Join Date: Sep 2002
Location: Belgium
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok never mind my code

http://www.evolt.org/article/Boolean...ySQL/18/15665/
Reply With Quote
  #110  
Old 03-05-2004, 01:45 PM
Red Blaze's Avatar
Red Blaze Red Blaze is offline
 
Join Date: Jan 2003
Location: Texas
Posts: 493
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So is this hack stable now? Is it safe to install without having problems?

EDIT: I threw the risk and I'm glad I did. Worked flawlessly. Thanks alot.
Reply With Quote
  #111  
Old 03-09-2004, 03:32 PM
daFish's Avatar
daFish daFish is offline
 
Join Date: Nov 2002
Location: Germany
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Kirby,

any news on a news version or something else?
Maybe you can change the displayed location in the navbar based on the forum where the bugtrack is installed.
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 02:04 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.05105 seconds
  • Memory Usage 2,356KB
  • 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
  • (2)bbcode_php
  • (10)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
  • (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