History of bitweaverFAQ

Version 54

bitweaverFAQ

a list of frequently answered questions

Created by: Will, Last modification: 29 Mar 2009 (23:05 UTC) by Will
To edit this page and add some wisdom please register. If you have a question, please ask in the support forum. Mention your version of bitweaver and as much information as possible - operating system of your server, name and version of your database, client details like browser name/version, where'd you click, what's the error message and so forth ... or you could just go ahead and ask ;)

{backtotop min=2}



Releases

How do I get the latest stable version of bitweaver? (official release)

Please view the page GetCode for details.

How do I get the latest and greatest of bitweaver? (beta release)

you need access to CVS. To set up CVS and how to use it, please view:
bitweaverCVS

How can I get hold of packages that haven't been released yet?

Try accessing /builds/packages and see if the package is available for testing. If it's not available there, you can get it using CVS. For a list of available packages, you can check out CVSROOT and look in the modules file. With most packages, the CVS module name is _bit_<package> (e.g.: use _bit_wiki for the wiki)

What is happening in CVS? How stable is CVS?

CSV branch R1 (versions 1.3 of Bitweaver) is stable, but not updated anymore. It's got a database schema and API lockdown. Also, there are known security problems with Bitweaver below version 2, depending on your specific packages/feature set. However, you can update using the CVS R1 branch without harming your install. Backup your files and database before. For detailed upgrade instructions, please view bitweaverUpgrade.

CVS branch R2 (versions 2 of Bitweaver) is also available. While many version 2 live sites are being updated directly from CVS (mainly the ones that the developers are running), you need to do extensive testing after an upgrade. An alternative to CVS are weekly builds in http://bitweaver.org/builds. It's an advantage to monitor changes via IRC, if you plan on running your site off CVS in the sense of frequently updating your code to the most recent.

Final releases (versions) are made from the code in CVS after extensive testing and debugging (unlike weekly builds). For the highest quality, this process of coding, testing, and releasing takes several months between versions of Bitweaver. See also Help Wanted.



Installs, Migrations and Upgrades

How do I install bitweaver?

Download bitweaver and unpack it in a place of your choice. Point your browser to install/install.php, and follow the on screen instructions. After installation, set the permissions of your install directory so that users cannot access it. To see what the installer does, before actually installing Bitweaver, watch: Bitweaver Installation (Screencast).

What files should I take care of when upgrading?

Please view the page bitweaverUpgrade for details.

How do I upgrade bitweaver to the latest version?

Please view the page bitweaverUpgrade for details.

I have just upgraded bitweaver to the latest version but I can't log in anymore

Since problem appears mostly when using Bitweaver version 1.3 and below. The reason were changes to the way logins were handled. First off, try deleting the cookies in your browser. If the problem persists after clearing out the cookies, try removing the cookie related entries in the table tiki_preferences:

Removing cookie related entries in the database


DELETE FROM `tiki_preferences` WHERE `name` = 'cookie_domain' LIMIT 1
DELETE FROM `tiki_preferences` WHERE `name` = 'cookie_path' LIMIT 1


How do I convert my existing TikiWiki install to bitweaver?

Download bitweaver and unpack the archive in a place of your choice. Make a backup of your database. Point your browser to /yourbitweaver/install/install.php and follow the on screen instructions. When asked what path you want to follow, choose upgrade and point your browser to the backup database first to test if it works. If you are using MySQL, the upgrade process requires at least version 4.1. Bitweaver will work on previous version of MySQL as well, but the upgrader requires it. If your host does not provide MySQL 4.1, you need to upgrade on a server that does and then export/import the converted database onto your host server. For further information see our page on Database Upgrades and on bitweaver and TikiWiki.

Where can I find more documentation on installing bitweaver?


The installer can't detect my database

Please make sure the database is available from PHP. To do so, create a file with the following contents:

PHPinfo


<?php
phpinfo
();
?>

and point your browser to it. This will display all your PHP settings and will also show you if your database is accessible from php. If the database does not show up, you need to recompile PHP or add the appropriate extension. If it still fails, please look at /yourbitweaver/install/install_database.php where the database recognition code is. If you can fix the bug, please report it to the bitweaver development team.

During the installation process, I get the following error "bitweaver cannot connect to the database", even though I have checked the database name, username and password to be correct.

This indicates an issue with permissions set in the pg_hba.conf file. This file is used to configure which software is permitted to connect to the PostgreSQL database. For a detailed overview of this configuration file, please check the PostgreSQL FAQ

I get an error "404 File not found" when trying to access anything in the /users/ folder.

You are most likey running ISPConfig, if so comment out the following line(s) from /etc/apache2/vhosts/Vhosts_ispconfig.conf. There is one entry per vhost, so you will need to comment out the particular webs you want to run bitweaver on:

/etc/apache2/vhosts/Vhosts_ispconfig.conf


AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web1/user/$1/web/$3


I get an error "403 Forbidden" when trying to access bitweaver after a clean install.

The rewriteEngine needs supporting settings in Apache's httpd.conf. Alternatively you can change each .htaccess file that includes "rewriteEngine on". There are several .htaccess files that need to be edited. They are in each package directory. Add the following line:

Add to .htaccess


Options +FollowSymlinks


I forgot/lost my admin password an cannot access my site anymore. How can I reset the admin password?

Try the following command in your database. It should allow you to log in using admin/foobar:

Reset admin password in the database


UPDATE users_users SET hash=md5('foobar') WHERE login='admin';


How do I find out which version of bitweaver I have?

Login as admin and click Administration -> Kernel -> Check version. If you can't login or did not install bitweaver yet, open <path to="" your="" bitweaver="" directory="">/kernel/setup_inc.php to find the version number.

How do I migrate my users from one bitweaver install to another?

Please view the page Migrating Users Between Bitweaver Sites for details.

Is it possible to install bitweaver within another bitweaver directory?

It's not possible out of the box, due to the way bitweaver scans directories. If you insist on having one install within another, you will have to modify /kernel/BitSetup.php, function scanPackages(), to exclude the directory where you have that second bitweaver installation:

<?php
// change this line
if( ($dirName != '..')  && ($dirName != '.') && is_dir(BIT_ROOT_PATH '/' $dirName) && ($dirName != 'CVS') && (preg_match'/^\w/'$dirName )) ) {

// to
if( ($dirName != '..')  && ($dirName != '.')  && ($dirName != 'bitweaver_sub_dir') && is_dir(BIT_ROOT_PATH '/' $dirName) && ($dirName != 'CVS') && (preg_match'/^\w/'$dirName )) ) {
?>




Configuration Problems


I created a custom module and when I inserted it into the layout, the site died.

This only happens with Bitweaver version 1.3.x and below. The problems are syntax errors when saving a custom module. The data submitted goes to the database table tiki_user_modules, column data. The data of the culprit module has to be edited/removed manually.

Cannot upload files larger than 8 Megabytes

This is caused by your php.ini configuration. To get PHP to accept files larger than that, php.ini must be configured. The upload_max_filesize, memory_limit, and post_max_size variables should be equal, at minimum, to the size of the file you'd like to upload. The memory_limit may need to be set even larger than the size of your file.

How to get non-English characters display correctly (UTF-8)

To a certain degree, it depends on your server setup if "special" characters are displayed correctly. If they are not, and you're using MySQL, try the page MySQL and character encoding for more information.



Documentation


Where can I find documentation on package X?

In your bitweaver install, click on Administration -> Kernel -> Packages, there is a description of all packages and a link to the relevant page on bitweaver.org. If a page does not exist here, it is likely that there is no decent documentation for that package available yet. In this case, you could create such a wiki page and fill in the information yourself. The packages's author, other developers, and other users of the package will be glad to help.

Where can I find documentation on feature X?

Our inline help provides a brief description in virtually all forms and input areas. Should something not be clear, please search bitweaver.org for that feature. If you find an answer to your question, please add the question and answer to this page.

Where can I find developers documentation?




Theming

How do I create a new theme?

We have an extensive ThemeTutorial, which gives you an outline how our themes work, how you create a theme. It includes some basic CSS rules.

How do I change the center width when side columns disappear?

Bitweaver version 2 and above has a feature called StyleLayouts which takes care of this automatically (a specific CSS class name is applied to the center column depending on what side columns are visible). Which columns or content areas appear to the users can be controlled manually: Administration -> Themes -> Columns.

How do I customize the top menu?

You can make all sorts of customizations to the top menu, you will find options at: Administration -> Themes -> Menus

Create a random digit in a template?


<?php
// Try {0|rand:7} to output a random digit between 0 and 7.
// Can be used for
interface-image_{0|rand:7}.jpg
// or for interfaces with flaws:
<something style="margin-left:{0|rand:7}0px">
?>


Theming with MSIE in mind

Please view the page theme compliance with MSIE for details.

How do I add Google AdSense to all my pages?

  • Automatically 1: Find the AdSense module in Admin > Themes > Layout and indlude it.
  • Automatically 2: Create a Custom Module with the code below, then assign this module you just made via Admin -> Themes -> Layout.
  • Manually: Include the AdSense script in one of your templates such as footer.tpl. Copy kernel/templates/footer.tpl to your theme directory (or themes/force/, see ThemeTutorial) and insert the AdSense Javascript code there. This applies also for similiar Javascript code like user tracking.

Insert something like this into your template


<script type="text/javascript">
    /* <![CDATA[ */
    google_ad_client = "pub-xxxxxxxxxxxxxxxx";
    google_ad_width = 728;
    google_ad_height = 90;
    google_ad_format = "728x90_as";
    google_ad_type = "text_image";
    google_ad_channel ="";
    /* ]]> */
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>


Include a module anywhere? For instance, Last Modified Pages in the footer instead of in a column?

There's a smarty plugin for that. Read the documentation page of function.inlinemodule.php. In short:

<?php
{inlinemodule file="bitpackage:wiki/mod_last_modif_pages.tpl" rows="50"}
?>




Development

How do I start my own package?

Please view the page SamplePackage for details.

How do I share a package?

You have written a package and you want to share it with others? We only use CVS to organize our packages. If you drop by IRC, we can have a chat about how and what you want to share.

Where do I put functions?

  • CodingGuidelines
  • if it has SQL, it should go in Class.php or _lib.php
  • other functions can be sprinkled in the logic PHP
  • if two different logic PHP files need the same function, put it in a Class or _lib

Where and how do I get hold of PHP reserved variables and constants in smarty templates?

PHP reserved variables in Smarty templates


<?php
$_REQUEST
['foo']        => {$smarty.request.foo}
$_SERVER['foo']        => {$smarty.server.foo}
PHP_CONSTANT        => {$smarty.const.PHP_CONSTANT}
?>


What are your generic dev tools?

We have a set of debugging functions and tools available for developers. We recommend the use of xdebug.

Commonly used dev tools


<?php
# our version of var_dump();
vd();

# our version of backtrace(); - this is also the function used to generate the WSOD output
bt();

# this will generate lots of output: all SQL queries and some other random functions will display
$gDebug 99;

# this file has various settings useful for developers
kernel/config_inc.php
?>


What files get included on a typical page load?

Due to the modular nature of bitweaver, this question is very hard to answer. Depending on your settings, a number of files might be included that are not listed here. All active services will probably load some of their files and the active package will probably load a number of its files as well.

PHP file inclusion on a typical page load


<?php
/bit_setup_inc.php
/kernel/setup_inc.php
/kernel/config_defaults_inc.php
/kernel/Bit*.php
/liberty/Liberty*.php
/<package>/bit_setup_inc.php
/<active package>/...
?>
</path></package>
Page History
Date/CommentUserIPVersion
29 Mar 2009 (23:10 UTC)
try to make column control faq question a little more general sounding
Will69.203.72.16155
Current • Source
Will69.203.72.16154
View • Compare • Difference • Source
xing62.47.253.18953
View • Compare • Difference • Source
xing62.47.240.2552
View • Compare • Difference • Source
xing62.47.240.2551
View • Compare • Difference • Source
laetzer85.178.55.15850
View • Compare • Difference • Source
laetzer85.178.28.6249
View • Compare • Difference • Source
laetzer85.177.83.3648
View • Compare • Difference • Source
laetzer85.179.32.2747
View • Compare • Difference • Source
laetzer85.179.32.2746
View • Compare • Difference • Source
laetzer85.178.47.1444
View • Compare • Difference • Source
laetzer85.178.47.1443
View • Compare • Difference • Source
laetzer85.178.10.6241
View • Compare • Difference • Source
laetzer85.178.62.11740
View • Compare • Difference • Source
xing194.152.164.4537
View • Compare • Difference • Source
Marco Lussetti87.8.239.12536
View • Compare • Difference • Source
xing194.152.164.4535
View • Compare • Difference • Source
xing194.152.164.4534
View • Compare • Difference • Source
xing194.152.164.4533
View • Compare • Difference • Source
laetzer85.178.9.21432
View • Compare • Difference • Source
Dan Nehring68.74.5.15131
View • Compare • Difference • Source
laetzer85.178.61.22930
View • Compare • Difference • Source
xing194.152.164.4529
View • Compare • Difference • Source
Mike Williamson203.173.156.7828
View • Compare • Difference • Source
laetzer85.178.57.10327
View • Compare • Difference • Source
laetzer85.178.57.10324
View • Compare • Difference • Source