vB Frameless Instructions

Starting with version 1.1.2 Beta, JFusion now supports vBulletin frameless integration for the 3.x series only. Below are the instructions on how to implement this feature.

Things to Note

1. Frameless integration is only fully supported for vBulletin 3.7.0 and newer. It may work with earlier versions but may not work to vB's full capacity. vBulletin 4.x series will not run frameless with Jfusion .. so frameless vB ends with the 3.x series. Alan reports that vB4 is just too bloated to run well embedded (frameless) in Joomla.

2. JFusion will rewrite vB's URLs. This may be a problem if your forum has been around for a while and its URLs are indexed by various search engines. A user referred by a SE will be taken to the standalone forum. A vB hook has been created that will redirect users from the standalone to Joomla counterpart.

3. Frameless integration and redirection does not support vBSEO.

4. Frameless vB performance will be slower than standalone vB as it and Joomla are both loaded at the same time. Therefore, it is recommended that php's memory limit is set to at least 16mb if not more. Note that many shared hosts have a cap on how high this can be set.

5. No hacks are required of vB to run it frameless (except installing a hook, see below). However, if you want full functionality for Project Tools and other mods that require JS/Ajax, dir='ltr' must be added to Joomla temlate's <html> tag.

6. Not all vB mods are compatible in JF frameless mode. However, if you find a mod that does not work, please post in the appropriate JF forum and we may be able to get it working. See the troubleshooting section below first.

7. Ajax will not be 100% functional without the standard Joomla SEF enabled. For example, you can edit a post via quick edit, but the Advanced Edit button or the Delete in quick edit will not work without Joomla SEF. This is due to vB using relative urls in their JS files (that is licensed) thus I cannot access the URLs to rewrite them. If you want full functionality, then you can either enable standard Joomla SEF or disable AJAX features in the General Settings of vB.

Preparing Joomla

Make sure the vB plugin is configured for JFusion before continuing.

Create a menu item linked to the JFusion component.

1. Under Parameters (Components) select Frameless for visual integration and vbulletin as the JFusion plugin. 2. Publish and save. 3. If you want almost full JS/Ajax functionality, add dir='ltr' to the html tag of your Joomla template.

Preparing vBulletin:

You have a choice of three vB hooks you can install to integrate vB with Joomla. All three can be enabled via JFusion's configuration page for the vBulletin plugin.

1) Frameless Plugin - required in order for frameless view to function

2) Redirect Plugin - redirects to the frameless equivalent of vB inside Joomla (does not work with JFusion wrapper mode!)

3) Dual Login Plugin - logs the user into or out of Joomla (and subsequant JFusion plugins) if logging directly in/out of vB.

After you enable and/or disable the plugins from the configuration page, you must reset vB's plugin cache. You can do this by logging into vB's admincp, click on Plugins & Products → Manage Plugins, then click on the Save Active Status button at the bottom.

You also have the choice of optimizing vB for frameless integration into Joomla. Under Frameless Integration Options, click Optimize vB for Frameless Integration. This will turn relative urls for smilies, avatars, icons, and the default forum icon into absolute URLs. This will drastically improve performance as JFusion will not have to parse these links on each page load.

If the CSS is messed up in frameless mode, you can enable the option to parse CSS so that vBulletin's CSS will not compete with Joomla's. This will slow down performance thus it is recommended to not parse the CSS if you can get away with it. Choose Yes to Parse CSS under Frameless Integration Options to enable this.

Frameless integration is now ready to go!

Note: If you are getting a PHP fatal error message, see the troubleshooting guide below.

Troubleshooting Guide:

1) I enabled one of vB's plugin but now I am getting fatal errors and can't get back into the Plugin Manager! Disable the plugin system by adding define('DISABLE_HOOKS', true); to vB's config.php file. Then login via the admincp and correct the plugin's PHP (please report this in the forums). Remove the forementioned line to reactive the plugin system.

2) I am getting a Fatal Error when accessing the forum in frameless mode. First, make sure that the plugin/hook system is enabled in vB's options.

If you've confirmed the plugin/hook system is enabled, make sure that the Frameless Plugin is enabled and that you have cleared vB's cache (see above). If that does not fix the issue then the problem is probably rooted in some other plugin and/or project you have installed in vB. vBulletin uses globals extensively. JFusion has to declare all of these globals before calling up vB. It then forces vB's main variable that contains all of its guts ($vbulletin) into the global scope before vB can use it. The Frameless Plugin that must be installed for frameless integration to work does this in the init_startup hook. If another plugin tries to access $vbulletin before the JFusion Frameless Integration Plugin has a chance to declare and fill it, fatal errors will be inevitable.

Before submitting a post for help, please check to see what plugins are being called for the hook, 'init_startup.' Look to see if the exectution order for those plugins are set to 1. If they are, change them to 2.

If the fatal errors persist, please disable each plugin one by one till the errors are no longer shown. Then create a thread in our support forum stating the error you encountered along with the plugin that caused the problem. If, after you've disabled all plugins and the error persist, create a thread in our support forum.

3) The template is all screwed up when in frameless mode. The CSS from Joomla's template and the CSS from vBulletin's template are conflicting.

Try enabling Parse CSS as outlined above. If that does not work, leave Parse CSS enabled and do the following:

First, you need to find out what styles from your Joomla template is affecting your vB template. I recommend using firefox http://www.getfirefox.com with the addon firebug http://getfirebug.com. Firebug is an excellent CSS debugging tool. Once installed, browse to the page in firefox. Click on the bug the bug in the bottom right hand corner. Then click Inspect. As you move along the screen, html tags will be outlined in blue and will show up in the main frame of firebug. The CSS affecting that element will show in the right frame. If the CSS element is crossed out, it is being overwritten by another style. You can temporarily disable a style by hover right in front of the style in firebug where a grayed out no sign will appear. Click on it and the element will be disabled. Do this until you find what is causing the issue. There are other css debugging tools available for other browsers; just do a google search.

Once you figure out what is causing the conflict, login to vB's admincp. Click on Styles & Templates then Style Manager. Find the style you are using and select Main CSS from the drop down box. Scroll to the bottom until you find Additional CSS Definitions. Add an overriding statement with #framelessVb in front of the selector.

So for example, say your Joomla template styles all your li tags but your vB template does not.

Joomla template:

ul li {

 border-bottom:1px solid #F1F1F1;
 line-height:170%;
 padding:5px 0;

}

To correct this, copy it over into the Additional CSS Definitions and change it to

#framelessVb ul li {

 border-bottom:0px;
 line-height:150%;
 padding:0;

}

Note that border-bottom is not the same as border or padding-left as padding. It must be the exact same property for it to be overridden.

4) I have strange characters all throughout my forum.

First, make sure that all of your database tables are UTF-8.

If you are still getting the characters. Try the following. Please back up your database. We will not be responsible for lost or corrupt data!

  1. From admincp, go to “Languages and Phrases” → “Language Manager”. Click “Edit settings” for your language. Find “HTML Character Set” and set it to “utf-8″. Save and close.
  2. Edit your includes/config.php file. Look for $config['Mysqli']['charset'] = 'utf8'; and uncomment it by removing the "//" before it.

If you are still seeing strange characters, make sure the language file you installed is UTF-8 encoded.

vBulletin 4 cannot run frameless:

1) vBulletin 4 is too bulky to run well embedded in Joomla, thus the jfusion Team has decided to discontinue vBulletin 4 frameless mode. This is unlikely to ever change.

vbulletin/frameless.txt · Last modified: 2010/03/29 19:01 by digitaldoctor
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki