Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
Details »»

Version: , by robertusss (Guest)
Developer Last Online: Jan 1970 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 04-12-2001 Last Update: Never Installs: 0
 
No support by the author.

hi,

everybody around here is complaining about upgrading, and installing hacks.

on the other hand, software like vbulletin literally LIVES by these hacks: they bring Ideas for the next versions of vB and also give webmaster the feeling they bought a deeply customizable software.

Well I think it's about time, the developers stop talking of "hacks" and should start refer to them as "plugins".

We need standartization like a plugin-libary in the controlpanel (where all hack shave to enlist themselves with version number if they want to appear profesional) and some install-routines. Also a documentation if the database model and the variables to help developers.

I know this is hard work to implement - but this in my eyes would be the key to ...ehm... simply rule the internet forum-software market.

think about it.

Show Your Support

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

Comments
  #2  
Old 04-12-2001, 09:42 AM
chrispadfield's Avatar
chrispadfield chrispadfield is offline
 
Join Date: Oct 2001
Posts: 180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is what is uses at cgi-resources and it is a good idea but i think probably not appropriate here.

The reason is to have a decent plugin system you need to use hooks. Every time a certain action is done, the script looks in the plugin library for anything using that hook, if it find something it excecutes that code if not it dosent.

A very simple example for links SQL that uses this system is search logging. When someone comes and searches they get returned a list of links. There is a "hook" after searching which a plugin can use. So was born the search logger, it literally logs a search term into a table and is called by a hook.

Why won't this work for vbulletin

- the number of hooks needed would be ENERMOUS! There are far far more actions in vbulletin than in links SQL which has maybe 6 or 7 visitor paths.
- Efficiency. This is essential in vbulletin and a plugin system would add a lot of strain to the system.

So that is why i don't think plugins like this (using hooks) will work.

So what can you do?

An auto installation routine that searches the php files and installs the hack automatically is possible but hacks will conflict and it won't last long.

In the end the system we have at the moment, although not perfect, is the best you are going to get. Fortunatly the hack writers here write the most amazing documentation for their hacks, just look at Kier's, waynes, ed, etc... hacks they all have copious installation instructions and sometimes screenshots as well helping you install the hack - you can't ask for much more.

A plugin system would be nice but is impractical for this application (IMHO).
Reply With Quote
  #3  
Old 04-12-2001, 03:02 PM
Wayne Luke's Avatar
Wayne Luke Wayne Luke is offline
Senior Member
 
Join Date: Jan 2002
Location: Southern California
Posts: 1,694
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually after a brief look of code, you would only need to track 7 events for the major sections.

These events are:
InitSystem - Initialize the page in Global.php
Session - Verify or start a new session, get user info.
Templates - Building the global templates. (headinclude, header, footer, phpinclude)
InitPage- before you start parsing code for the actual page.
DisplayPage - code to be executed during the display of the page.
AfterPage - code to run after page is displayed.
ShutdownSystem - Very last thing to do.

The major sections would be:
Index page
Forumdisplay
Showthread
NewPosts
Calendar
User Control Panel
Private Messages

The API is in functions.php, it only needs to be documented. As do the global variables such as control panel options, $bbuserinfo, $session and the few global templates.

The function calls can be stored in the database (49 rows or thereabouts). The appropriate function can be eval'ed based upon section ids and location.

Some Cons:
  1. If enabled it would add one more query to the rendering of each page to pull out the function identifiers in each section.
  2. The system would also not fit every single scenario and complex features would most likely still require hacking.
  3. A plugin development kit would have to be made to lesson the likelihood of errors killing the system.
  4. Improved error handling within vBulletin itself would need to be created to handle errors passed back from plugins.
Reply With Quote
Reply

Thread Tools

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:42 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.03936 seconds
  • Memory Usage 2,202KB
  • Queries Executed 16 (?)
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)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (3)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
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_imicons
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete