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

Reply
 
Thread Tools Display Modes
  #1  
Old 06-23-2005, 02:08 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default To hook or not to hook

.. that is the question.

Re-doing one of my hacks tonight, I find I can do it the standard way - with file edits - or - if I start duplicating blocks of already run code, and a few other messy tricks (like duplicating an already run query, and altering GPC variables) I can actually make it work with just hooks.

Now the question is - which is better - nice simple code that requires the end user to edit vb files, or messy, fudged, repeating code that simply requires the end user to upload a set of plugins.

An interesting problem ........
Reply With Quote
  #2  
Old 06-23-2005, 02:14 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Depends.
Running duplicate queries is bad, duplcating code as well - but if it's only 2-3 lines of if () do smth. this shouldn't hurt
Reply With Quote
  #3  
Old 06-23-2005, 02:20 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Maybe you should try to rethink the method of doing it if you need to hack?

For all my modifications, I am trying SO VERY HARD to not modify any files at all.

So far i've been successful
Reply With Quote
  #4  
Old 06-23-2005, 02:22 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Maybe you should try to rethink the method of doing it if you need to hack?
This is an important point!
Hacking the files is easy, but really thinking of the whole structure of the backend is more dofficult, but if one takes the time ... there are often possibilites which are not that obvious.
Reply With Quote
  #5  
Old 06-23-2005, 02:24 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by KirbyDE
Depends.
Running duplicate queries is bad, duplcating code as well - but if it's only 2-3 lines of if () do smth. this shouldn't hurt
I'm not worried about the duplicate query, too many people seem to get hung up on how many queries things use. The extra select this will run is neither here nor there (milliseconds). I'm more interested in the general way coders are going to go - is it better to use hooks as much as possible to avoid file edits, better for the end user, easier to install/upgrade etc - but messy for the writer - or continue to hack the files and avoid messy tricks.
Reply With Quote
  #6  
Old 06-23-2005, 03:23 AM
Brad Brad is offline
 
Join Date: Nov 2001
Posts: 4,765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M
.. that is the question.

Re-doing one of my hacks tonight, I find I can do it the standard way - with file edits - or - if I start duplicating blocks of already run code, and a few other messy tricks (like duplicating an already run query, and altering GPC variables) I can actually make it work with just hooks.

Now the question is - which is better - nice simple code that requires the end user to edit vb files, or messy, fudged, repeating code that simply requires the end user to upload a set of plugins.

An interesting problem ........
I think at the end of the day you have to ask yourself what is best for the server. If there is no big differnce between a hack and a hook in speed and load I'd make it a hook for the pubilc, but I would still probbly hack it in for my own board depending on what it is.
Reply With Quote
  #7  
Old 06-23-2005, 03:51 AM
merk merk is offline
 
Join Date: Nov 2001
Location: Canberra, Australia
Posts: 601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think it completely comes down to if you're able to do what you want easily in a hook (or even not easily) as it is easier for most people to upgrade.

On my own forums, though, because I use version control, modifications and upgrades mix easily

Hopefully a query-modification system is also implemented as per Kirby's class/idea.
Reply With Quote
  #8  
Old 06-23-2005, 07:18 AM
deathemperor's Avatar
deathemperor deathemperor is offline
 
Join Date: Jul 2003
Location: HOL
Posts: 1,270
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will defenitely choose hook like I'm doing it now. easier to install, manage, upgrade that's how 3.5's supposed to offer
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 03:13 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04315 seconds
  • Memory Usage 2,228KB
  • Queries Executed 13 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete