Since phpMyFAQ is an Open Source project we encourage developers to contribute patches and code for us to include in the main package of phpMyFAQ. However, there are a few rules and limitations when doing so and this page lists them.
These basic rules makes it possible for us to earn a living of the phpMyFAQ project but it also ensures that the code remains Open Source and under the MPL 2.0 license. All contributions will be added to the changelog and on the phpMyFAQ website.
Contributing to phpMyFAQ is quite easy - just fork the project on GitHub, work on your copy and send pull requests.
Before working on phpMyFAQ, setup an environment with the following software:
Set up your user information with your real name and a working e-mail address:
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ git config core.autocrlf # if you're on Windows
Clone your forked phpMyFAQ repository locally:
$ git clone git@github.com:USERNAME/phpMyFAQ.git
Add the upstream repository as remote:
$ cd phpMyFAQ
$ git remote add upstream git://github.com/thorsten/phpMyFAQ.git
Please check our coding standards before sending patches or pull requests.
The Dockerfile provided in the phpMyFAQ repository only builds an environment to run any release it's for development purpose. It does not contain any code as the phpmyfaq folder is meant to be mount as the /var/www/html folder in the container.
For development purposes you can start a full stack to run your current PhpMyFAQ source code from your local repository.
$ docker-compose up
The command above starts 5 containers as following.
Specific images started once to prepare the project:
Running using named volumes:
Running apache web server with PHP 8.2 support:
Then services will be available at following addresses:
After cloning your forked repository, you have to fetch the 3rd party libraries used in phpMyFAQ:
$ cd phpMyFAQ
$ curl -s https://getcomposer.org/installer | php
$ php composer.phar install
$ yarn install
$ yarn build
Then just start a normal, local phpMyFAQ installation.
If you changed some JavaScript code, you have to merge the .js files into one with the following yarn task:
$ yarn build
Before submitting your patch, please update your local branch:
$ git checkout 3.2
$ git fetch upstream
$ git merge upstream/3.2
$ git checkout YOUR_BRANCH_NAME
$ git rebase 3.2
You can now make a pull request on the phpMyFAQ Github repository.
Here's a list of contributors to phpMyFAQ since we host our repository on Github.