BackBee is an open-source content management system. Because it incorporates HTML5 programming to an unprecedented extent, its usability and design flexibility surpasses all other content management systems that we know of.
All changes in content – adding, deleting or changing text, images or new page elements – can be made directly on the page. Just click and type, or drag and drop. No back office. No shuttling back and forth between the back end and a “preview” page that often fails to match the final page display.
BackBee offers what we like to call WYSIWYRG, What You See Is What You Really Get. And because it automatically saves different page versions, there’s no fear of losing changes along the way. If only everything in life could be this easy and secure.
💬 If you want to have more information about the project progression you can take a look at the actual Roadmap.
💬 If you need help about this project you can post a message on our gitter room
Pull requests are welcome.
Please take a look to our CONTRIBUTING.md file
First of all, thank you for contributing, you are awesome!
Here are a few rules to follow in order to ease code reviews, and discussions before maintainers accept and merge your work.
You MUST follow the ECMAScript 5 Standard
You MUST never change a file in dist folder
- You MUST run the test suite.
- You MUST write (or update) unit tests.
- You SHOULD write documentation.
Please, write commit messages that make sense, and rebase your branch before submitting your Pull Request.
One may ask you to squash your commits too. This is used to "clean" your Pull Request before merging it (we don't want commits such as fix tests
, fix 2
, fix 3
, etc.).
Also, while creating your Pull Request on GitHub, you MUST write a description which gives the context and/or explains why you are creating it.
To be sure that the code of your pull request is valid run "grunt test" command.
When you create a Pull Request ("PR"), if it's component related you can prefix it by the component name. You can also use plus or minus to describe if you globally add or remove something, and reference it to an issue.
For instance, this is a PR valid label: [Rest] #42 + Updated & completed PageController tests
.
When you want to take an issue, create your PR prefixed by a [WIP]("Work in progress") and add a "in progress" label. This way, we know you are working on it and we can give you some advices if needed.
When you have finished your PR, you can update the PR label to replace [WIP] by [RFR]("Ready for review") prefix.
Consider your PR finished if:
- You have written a test with a new feature;
- All tests pass;
- The build is all green;
- You (may) have introduced a little documentation;
- Your PR respects project formatting rules (see above);
Github dev team has already described the right way to do.
$ git fetch upstream
$ git checkout master
$ git merge upstream/master
Install nodejs and npm
Download the lastest version of selenium (used for functional testing using nightwatch)
http://selenium-release.storage.googleapis.com/index.html
and run it using the following command
$ java -jar selenium-server-standalone-{VERSION}.jar
Install grunt-cli, bower and nightwatch
npm install -g grunt-cli bower nightwatch
Install project dependencies
npm install --save-dev
Download front dependenies
bower install
grunt
Before running the functional testing you need to create a configuration file inside nightwatch/configuration/globals.json (The file globals.json.dist can be used as an example)
grunt nightwatch
BackBee has a core team who have rights on repositories.
- Only mergers can merge your work on master branch;
- If one of the deciders gives a
:-1:
on your suggestion, the pull request won't be merged until he changes his mind;
Current mergers are @crouillon and @fkroockmann, current deciders are @eric-chau and @hbaptiste.
All the core team is here to help you if you want to improve BackBee, we love contribution :)
Thank you!
note: this CONTRIBUTING
file is proudly inspired from Hateoas' one
Thanks to everyone who has contributed already.
This project is supported by Lp digital
Lead Developer : @crouillon
Released under the GPL3 License