The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
[How-To] Product Managament (vBulletin 3.5 RC 1 and up)
This How-To is mainly meant for Hack-Developers, if you are only planning to use Hacks just read the End-User section. Developers vBulletin 3.5.0 RC1 introduces a new concept for customizing/modifying vBulletin: Products. With Products, you can manage Plugins, Phrases, Settings and Templates in just one XML File. Furthermore it supports Install/Uninstall Codes (for running queries, etc.), it also covers updating existing Hacks as you can add Codes for different Versions. To start, you first have to turn on debug mode: Put PHP Code:
Then go to ACP / Plugin System / Manage Products. Click Add/Import Product. In the second Form (Add New Product) fill in the Details for your Hack:
Afterwards, create all the Plugins, Phrases, Templates and Settings your Hack requires and make sure you select the Product you just created. Important: Templates must be placed in the MASTER Style, Phrases in the MASTER Language When you are finished, go to ACP / Plugin System / Manage Products and select Edit from the Dropdown next to your Product. In the Form (Add New Install/Uninstall Code) add all Code necessary to install/uninstall your Hack (eg, Queries, etc.). If you are updating an existing Hack, add new Install/Uninstall Codes for the new Version that just make the changes necessary to upgrade the previous Version; Product Management will make sure that all necessary Codes will be run. If your Hack includes Usergroup Permissions/Bitfields, add the following Code to Install and Uninstall to rebuild the Bitfield cache: PHP Code:
End-Users Go to ACP / Plugin System / Manage Products. Click Add/Import Product, select the product XML File for the Hack you want to install. If you are upgrading an existing Hack, make sure that Allow Overwrite is set to Yes This How-To is (C) 2005 by KirbyDE and you are not allowed to redistribute it in any way without my explicit consent. |
#102
|
||||
|
||||
<font size="3">Important change in vBulletin 3.5.1</font>
Product install code is now executed before the product gets inserted into the database; this way you can run any necessary pre-installation checks (mySQL Version, files are in place, etc.) and abort the instalation if necessary. |
#103
|
||||
|
||||
What's the best way to go about updating a product?
Say you add a new field to a table with an update. Do you just put an alter table? Will it just skip it in future updates if they already have the field? Or should you just have a seperate upgrade script? |
#104
|
|||
|
|||
Just put the alter statement for the new version upgrade code.
|
#105
|
|||
|
|||
This is a wonderful thread...
This is my introduction to this feature. It sure puts a whole new light on the extent to what this software can do! QUESTION: is it ok to leave the debug enabled or should it be disabled after the product is created, or does it matter? Is there any security issue to consider if left enabled 'permanently'? Thanks in advance. |
#106
|
|||
|
|||
Quote:
|
#107
|
|||
|
|||
is this the only way to export your plugins?
|
#108
|
||||
|
||||
Is there a way to bundle php code within the product installation process?
It would be nice if the install was one xml file import and not an import, plus an upload. |
#109
|
||||
|
||||
When you edit a product, there's a place to put install and uninstall code.
|
#110
|
|||
|
|||
Hi
I am in the process of converting any hacks etc., to do this, I read the manual for any info and then looked at the xml files that came with the installation and some of the product hacks that are around. I then wrote a basic product, imoported it and then exported it to see if there were any changes in the file. This led to more research and that is the reason that I am posting here. This is the basic "product" xml file (without values) that I have gleaned thus far: Code:
<?xml version="1.0" encoding="UTF-8"?> <product xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\Inetpub\wwwroot\webxpertz_net\products\product.xsd"> <title></title> <description></description> <version></version> <url></url> <versioncheckurl></versioncheckurl> <dependencies maxversion="" minversion="" dependencytype=""></dependencies> <codes> <code version=""> <installcode></installcode> <uninstallcode></uninstallcode> </code> </codes> <templates> <template date="" username="" name="" templatetype="" version=""></template> </templates> <plugins> <plugin executionorder="" active=""> <title date="" username="" executionorder="" active="" version=""></title> <hookname></hookname> <phpcode></phpcode> </plugin> </plugins> <phrases> <phrasetype fieldname="" name=""> <phrase date="" username="" name="" version=""></phrase> </phrasetype> </phrases> <options displayorder="" name=""> <settinggroup varname="" displayorder=""> <setting varname="" displayorder=""> <datatype></datatype> </setting> </settinggroup> </options> <helptopics hasphrases="" product="" vbversion=""> <helpscript name=""> <helptopic disp=""> <title date="" username="" version=""></title> <text date="" username="" version=""></text> </helptopic> </helpscript> </helptopics> <cronentries> <cron></cron> </cronentries> <faqentries> <faqtype> <faq></faq> </faqtype> </faqentries> </product> There does not seem to be a gui for that data in th cp (although I may have missed it) so, if someone can shed some light, I would be grateful. I have written a schema for the file (as it is above) as I prefer to write the product offline as an xml file and then just import it. Thiat is also the reason for the schema, it makes life easier. Thanks for any help. |
#111
|
||||
|
||||
That data is all in AdminCP->vBulletin Options. Where you add/edit Settings groups and additional settings.
The xml format is really meant to be auto-generated for import/export and isn't intended to be edited by hand. I find it much easier to develop mods in my development environment, then let the export generate the xml file. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|