FusionCMS is currently in an open beta state and under heavy active development.

Contributing

FusionCMS greatly encourages user contributions. There are several ways to contribute! Please read the following article to learn how.
Contributing

Issue Tracking

You can visit our issue tracker at anytime to report bugs or make an enhancement requests.

Reporting Bugs

If you come across a bug, where something isn't working properly or just doesn't seem right, please feel free to report them as a New Bug Report. Please be as clear as possible detailing your experience in order to best help us reproduce them. Other helpful information includes:

  • List out any behaviors you weren't expecting to happen.
  • Include screen shots of the issue, if possible.
  • Give us your browser and version, if you think it's related.

We will do our best to read every issue that comes in, please be patient if we don't immediately take notice.

We also encourage code contributions via pull requests.

Feature Requests

We also encourage our users to suggest new features or enhancement; please report them here: Feature Request or our discussions board.

We will do our best to read every request, however not all requests will be considered.

Contributing

We appreciate any pull requests regarding fixing typos or bugs, however any new features or major change may be denied. This could be due to several reasons (i.e. it doesn't follow the current Roadmap), and the last thing we want to happen is for you to waste your valuable time; therefore, we encourage you to first suggest any ideas you have in our discussions board before pursuing it.

Pull Requests

The following section will walk you through the process of getting setup to start submitting pull requests. You will need a GitHub account and a fork of FusionCMS.

Creating a Fork

  • Click Fork in the upper-right corner of the FusionCMS repository.
  • GitHub will make a copy of FusionCMS onto your account.
  • You can then clone a copy of your fork on to your workstation.

Git Workflow

Git Workflow

The following is an outline of the process we use internally to submit pull requests. We recommend following the steps below to assure everything works as expected, although if you are confident in your skills you can do what works for you.

Configure remote

After cloning your fork of FusionCMS, you will need to configure a remote. This will allow you to sync changes from the original repository. We will refer to the original repository as upstream.

$ git remote add upstream <original-repository-url>

For example:

$ git remote add upstream git@github.com:fusioncms/cms.git

And, then to verify your remote was setup correctly:

$ git remote -v

> origin    git@github.com:your_account/cms.git (fetch)
> origin    git@github.com:your_account/cms.git (push)
> upstream  git@github.com:fusioncms/cms.git (fetch)
> upstream  git@github.com:fusioncms/cms.git (push)

For in-depth documentation read this.

Creating a Branch

First, make sure your nightly branch is up to date.

$ git pull upstream nightly

If any updates come in, you may want to keep your origin remote up to date.

$ git push origin nightly

Next, make a branch off ofnightly. Name your branch something that represents what you're trying to accomplish. The branch name should define a single goal you are trying to accomplish.

$ git checkout -b <branch-name>

Pushing Changes

Before pushing changes to your origin remote, you will want to merge in any changes that may have occurred in the meantime on the original repository's nightly branch.

# Pull in any changes on nightly
$ git checkout nightly
$ git pull upstream nightly
$ git push origin nightly

# Switch to branch and merge any changes
$ git checkout <branch-name>
$ git merge nightly

Please resolve any conflicts that occurred and re-commit your changes. Once you have resolved any conflicts, you can then push your branch up to your origin remote.

$ git push origin <branch-name>

This will push your changes to your Forked repository as a new branch. If you visit your forked repository you will notice a yellow banner has appeared asking if you would like to submit a pull request. Click create pull request button from the forked repository homepage.

Please detail the changes you made, provide screenshots if necessary, and reference any issues your pull request will resolve. Please allow time for a user with access to review your pull request. We will try to respond to any denied requests on why it was denied.

Other Considerations

Coding Style

Refer to Coding Standards.

Which Branch?

  • All - at this time submit all pull requests to the beta release branch: nightly.

Have Further Questions?

You can always reach out to the development team through several sources listed below. We will try our best to get back to you with acknowledgement, further follow-up questions, and possibly a virtual high-five! :hand:

Have questions?

We're always happy to help with code or other questions you might have. Contact support or chat live with us on Discord.

Last edited on Thursday, January 28, 2021 (8 months ago)