Table of Contents
Interested in Testing
The current development version of glFusion can be found here. If you are interested in helping with the testing, you can follow the steps below to get going.
Shoot us an email or Connect via Discord
- Development code should not be used to run a production site
- Many things are work-in-progress, so you will see some very ugly screens during the initial development of a feature, but they will transition into a thing of beauty over time.
- Sometimes things just break! We try our best to keep the system as stable as possible, but depending on the feature being worked on, things may not work until all the code is complete.
Install Git Client
The source code for glFusion is stored in a Git source code repository hosted by GitHub. You will need a Git client to check out the source code. Most Linux/FreeBSD system have the Git client installed or available to install as a package. For other users, grab the SmartGit or GitHub for Windows.
The URL to use for checking out the latest glFusion source code is:
All development is done on the develop branch in our GitHub repository. The master branch should always have production ready code available. Be sure to test against the develop branch.
Visit our GitHub site at https://github.com/glFusion/glfusion. You will see feature branches and release branches from time to time. In many cases, when working on a major feature, we may create a specific feature branch to hold that work during development. Once the feature is complete, the feature branch will be merged back into the develop branch.
I also recommend you subscribe to the glFusion Git Announce mailing list so you will be notified each time we check in a revised source file.
Setup a Test Environment
I could write a book on the various methods to create a test environment, so this will be a quick and terse overview.
Windows user, I recommend you grab a copy of WAMP, it makes setting up a test system very simple.
If you are running Windows 10 - check out this tutorial on how to setup IIS with PHP - it is pretty straight forward: https://jamesmccaffrey.wordpress.com/2017/01/26/installing-php-on-windows-10-and-iis/
For Linux/FreeBSD/Mac OSX users, you'll need to have Apache, PHP, and MySQL, installed.
If you have the ability to setup an additional site on your hosting account, that is always a good option too.
You can also use virtual machines to test, I recommend Oracle's VirtualBox, it is free and allows you to easily setup virtual machines.
If you are using PHP v5.4 or above (which you should be using v7.0 or greater since anything older is no longer supported by the PHP Group), you can use PHP's built in webserver. Open a CMD window, change to the glFusion public_html/ folder and run:
<path_to_php>/php.exe -S localhost
This will start a web server using glFusion's public_html/ directory as the web root.
As we develop glFusion, we fall into a trap of testing in our 'clean' environment. I know my development system has all the proper permissions, latest version of software, etc. The more folks we can have running the development code in other environments, the better.
Test everything, not just one feature that was changed. For example, I may tweak the upload code so it handles uploading user photos, this change could impact Media Gallery, FileMgmt, Forum, and any other plugin that uses the upload code. We want to test stuff that we didn't touch just to make sure it still works as it should when a core feature is changed.
Part of the testing process should be to see how glFusion reacts to problems; What happens when all the permissions are changed so the web server can no longer write to the log files? What happens when the database server dies, etc. Change your PHP environment to run in Safe Mode, add some open_basedir restrictions, drop the memory_limit setting, etc. We want to make sure we properly handle adverse conditions as much as we want to make sure everything works properly when the environment is correct.
We also want to make sure upgrades work as they should. Test upgrading from glFusion v1.4.3 or another older release of glFusion.
Having more hands helping with the testing will make for a much more stable product. We appreciate all the help we can get with the testing effort.
When you find an issue (and we hope you do), please report it using the methods described here.