Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 03-14-2004, 08:38 AM
buro9 buro9 is offline
 
Join Date: Feb 2002
Location: London, UK
Posts: 585
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Fixing vBulletin and bringing the hacker community back together.

I want to gauge an opinion here, and preferably with some input from users of everythingVb, vBulletin.nl, and all of the other hack sites. However I shall only post here solely to allow the discussion to exist in one place.

There are essentially two things that I would like to ponder:
  1. Turning vBulleting into an Enterprise product and adding a developer API.
  2. Giving the hack community a single, searchable breakdown of all hacks, template changes and modifications.

Turning vBulleting into an Enterprise product and adding a developer API.

As I see it vBulletin is quite simply the best forum software there is, I've been using it for ages and hacking the hell out of mine for almost as long.

Now, I work as a Senior Developer and in the past few years have worked for British Telecom and a few other FTSE100 companies... all of which had a need for forum software, none of which purchased vBulletin no matter how much I put the case forward.

To my mind, vBulletin has never cracked the Enterprise market... and in turn we lesser users haven't benefited from the improvements that an Enterprise version would bring us (improved stability, normalised database, external user database, database abstraction layer, choice of scripting language, increase scalability).

When I worked at Premium TV (we did football sites for the UK football clubs), we could expect 40,000 people online on a Saturday afternoon at one time. Nowhere could we find evidence that vBulletin could cope with this, and table locking in MySql suggested to us that it simply could not. Further... with 80 clubs to run sites for we would've purchased 80 licenses, however we would only have desired 1 codebase to maintain.



So here is my proposal: That the community of hackers take it upon themselves to offer a major hack to produce an Enterprise version of vBulletin.

My experience would say that these were some of the requirements of this:
  • Database Normalisation: Do away with MySql specific features or MySql based tricks (such as overloaded ID columns where a join would have been better).
  • Database Abstraction Layer: To have a plugin file hold the queries and take advantage of specific database features (the Oracle plugin would use Stored Procs and bind variables for example, and maybe even the Intermedia cartridge for searching), this is dependant on normalisation.
  • External User Database: Store local user preferences and signature, etc, but to have done core authentication against an admin defined custom database schema or LDAP.
  • Scripting Language Choice: Allow both Java and C# to be used as the front-end instead of PHP.
  • A developer API for performing common tasks, such as sending PM's, E-mails, etc. This would need to be for each scripting language and would assist the companies in developing rapidly their own extensions without having to delve deeply into the vBulletin codebase.
  • vBulletin Engine: Add a site flag and a site_hosts table to map domains to configurations. In effect to allow one codebase to power many sites (Each URL would have to be a seperate paid license of course).

Now that is an enormous amount of work... and something would be daunting for anyone. It's tantamount to a re-write of the ways in which vBulletin does things, almost a core re-write to accomodate some things (like database normalisation and abstraction).

The question would be asked whether this is an extension (major) to vBulletin or a seperate product (vBulletin Enterprise?), and in the case of the latter the relationship that would have to Jelsoft (would they sell it and take upon the additional staff, etc?) or whether it would be legit to create a totally seperate product, open source or paid... etc, etc. But for now the question is whether this could be achieved in the first place... the best way to go about it can be answered later.

But the benefits are huge, not least the choice of many databases very easily and the advantages each offers (row locking, permissioning, stored procs, tree-walking, transactions, searching, etc). But also for those with Windows boxes to be able to pick ASP .Net and C# and those with UNIX boxes to select a Java Tomcat version.

Organisations of this size already have Oracle DBA's, or Sql Server DBA's, they aren't especially willing to take on MySql.
They already have server farms and load balancing and redundancy for their Windows or UNIX web servers... they aren't willing to install PHP and manage that.
They already have their user database and a single-signon policy, they aren't willing to make their users register again.

So the above proposals are to help solve all of those and in turn give the vBulletin community an Enterprise branch of code that will be able to scale to tens of thousands online simultaneously (of course dependant on your hardware, but you can scale through multiple web servers with load balancing in front, caching for non-dynamic things and using Oracle clustering or a similar technology at the back).


Giving the hack community a single, searchable directory of all hacks, template changes and modifications.

Years of watching the hacker community splinter in ego driven tugs of war and petulance. Well I would love to say don't go there, but we have and the damage has already been done.

So what I propose here is not a forum! It's a Wiki... a simple web-site changeable by all, to be non-promoting of each community site and to act as a factual and searchable repository of all of the vBulletin hacks and extensions that exist, those that are paid for and those that are given back to the community for free.

It would NOT be a place to publish hacks, it would simply be a place to find out if a hack exists and where it can be found.

So this proposal is simply to use a Wiki to create a searchable directory of vBulletin hacks, modifications, additions, extensions, template changes, etc.

These would not be categorised by the type of change (template, code, new file), but by what they achieve... so the blink on new PM hack AND template change would both exist in the same place: Forum Home Enhancements.

No non-factual information would be stored... There would be none of the "This is the bestest and greatest hack for... " type thing... it would be just a factual description only.

As such it would act as a gateway to all of the communities, and the glue between them.

Now a fair few of the heavy users would argue that there is no need for this, that we know where to find things... yes, we do... but newbies and less frequent visitors do not, and remain lost in all of these sites and communities not understanding the personal politics that exist between some and the strange policies that each site has about how hacks, etc are published.

So that is the vBulletin Directory.


Summary
So there were the two proposals: One is an enormous piece of work to open vBulletin up to corporate customers and the other a way to help vBulletin administrators locate all changes across all of the developer communities and glue it all back together.

These are only proposals.

I think it's good to discuss such stuff, especially since the latter one shouldn't be driven by any particular owner or ego.

So please feedback what you think of them.

Cheers

David K
Reply With Quote
 


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:09 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.05910 seconds
  • Memory Usage 3,003KB
  • Queries Executed 12 (?)
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
  • (11)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (22)post_thanks_box
  • (22)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (22)post_thanks_postbit_info
  • (22)postbit
  • (22)postbit_onlinestatus
  • (22)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • 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_threaded
  • showthread_threaded_construct_link
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete