the next generation CMS built on top of Symfony and Doctrine components. Give us a star to support our project :)
PHP HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Annotations cleaned ChainAnnotationReader Jul 10, 2015
AutoLoader [insight] Follow PSR-1 rules on function naming Oct 6, 2015
Bundle [BugFix] Avoid strict standard warning while counting a non -array va… Feb 15, 2018
Cache [insight] Follow PSR-1 rules on function naming Oct 6, 2015
ClassContent Fix mime type for file element Jan 12, 2018
Config fix routes Nov 9, 2017
Console Refactor command UpdateUsersRightsCommand Jun 13, 2017
Controller [Controller] updated FrontController to return response if exists aft… Apr 8, 2016
DependencyInjection [DependencyInjection] added project root directory into container's p… Jul 4, 2016
Doctrine [Doctrine] added RepositoryFactory to ease customization of entity re… Jun 19, 2017
Event [Event] added Dispatcher::clearAllListeners() to give proper way to c… Sep 22, 2017
Exception [insight] Follow PSR-1 rules on function naming Oct 6, 2015
Installer Insures the name of the altered table is quoted according to the plat… Feb 16, 2018
Logging [insight] Follow PSR-1 rules on function naming Oct 6, 2015
MetaData make resolveConst() method protected to allow proper overload by bundles Apr 14, 2016
NestedNode [BugFix] Avoid strict standard warning while counting a non -array va… Feb 15, 2018
Profiler Improved configuration panel Jul 12, 2015
Renderer [BUGFIX] [Renderer] Fix insert new item in array at any position Apr 3, 2017
Resources Fix mime type for file element Jan 12, 2018
Rest [Rest] fixed SecurityListener to not throw exception on null token Nov 29, 2017
Rewriting [NestedNode] Fix generation of url with special characters like '+' Aug 3, 2015
Routing [Routing] updated RouteCollection::getUriForSite to preserve scheme f… Feb 1, 2017
Security Fix use sort Nov 9, 2017
Serializer Fixed missing use statments Apr 1, 2015
Session Updated the PdoSessionHandler configuration Nov 10, 2015
Site [insight] Follow PSR-1 rules on function naming Oct 6, 2015
Stream Add classcontent.streamparsing event dispatching Jul 4, 2017
Tests Allow to define a specific vendor dir in MockBBApplication Apr 13, 2016
Translation typo correction into comments Jun 30, 2015
Util [Doctrine] added RepositoryFactory to ease customization of entity re… Jun 19, 2017
Workflow Add user right management. Oct 19, 2017
.formatter.yml Fixed typo in class header. Feb 14, 2015
.gitignore cleaned unused files from project root and refactored travis ci files May 14, 2015
.scrutinizer.yml Improve scrutinizer configuration Jun 19, 2015
.travis.yml [MISC] Remove support of PHP < 5.6 May 29, 2017
ApplicationInterface.php [ClassContent] Introducing content iconizer Sep 14, 2015
BBApplication.php Update to version v1.3.11 Jun 6, 2018
CHANGELOG-1.0.md Replaced reference to 'AClassContent' by 'AbstractClassContent' and u… May 8, 2015
CHANGELOG-1.1.md Release v1.1.2 Aug 23, 2016
CONTRIBUTING.md Rename BackBee into BackBee CMS Dec 12, 2016
LICENCE Adding licencing information Nov 24, 2013
README.md Update README.md Jan 12, 2018
apidoc.json Add user right management. Oct 19, 2017
backbee [Doctrine] added RepositoryFactory to ease customization of entity re… Jun 19, 2017
composer.json Add user right management. Oct 19, 2017
phpdox.xml Creating phpdox.xml for documentation generation and complete gitignore Nov 14, 2014
phpunit.xml.dist cleaned unused files from project root and refactored travis ci files May 14, 2015

README.md

BackBee CMS Core library

Stories in Ready Build Status

BackBee CMS core is the core part of an open source PHP CMS BackBee built on top of Symfony & Doctrine 2 components.

Overview

BackBee CMS 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 CMS 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.

this is the Core library repository of BackBee CMS, if you are looking for the packaged CMS, take a look to BackBee CMS

💬 If you want to have more information about the project progression you can take a look at the actual Roadmap.

Features:

  • Powerful and easy to use content system
  • Multiple websites
  • Custom themes
  • Custom pages
  • Advanced block system
  • Users/Groups management

Documentation

📖 Documentation for api is available, and you can also follow BlogBee, a tutorial to help you make a complete website with BackBee CMS.

Ask for help

💬 If you need help about this project you can:

Contributing

Pull requests and stars on project repository 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 PSR-1 and PSR-2. If you don't know about any of them, you should really read the recommendations. Can't wait? Use the PHP-CS-Fixer tool.

  • 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.

Workflow

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);

Sync a fork

Github dev team has already described the right way to do.

$ git fetch upstream
$ git checkout master
$ git merge upstream/master

Formatting

We use php-formatter to manage your file headers and the way the use statements should be added to the classes.

Before submit your Pull Request, don't forget to apply this commands:

    ~$ php-formatter formatter:header:fix .
    ~$ php-formatter formatter:use:sort .

You need to install php-formatter before.

Deciders & mergers

BackBee CMS have 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 @eric-chau and @crouillon, current deciders are @ndufreche, @fkroockmann, @hbaptiste and @mickaelandrieu.

All the core team is here to help you if you want to improve BackBee CMS, we love contribution :)

Thank you!

note: this CONTRIBUTING file is proudly inspired from Hateoas' one

Thanks to everyone who has contributed already.

Requirements

BackBee core is only supported on PHP 5.4 and up. BackBee also need mbstring, mcrypt, pdo PHP extensions.

Installation

The recommended way to install BackBee CMS is through Composer:

{
    "require": {
        "backbee/backbee-php": "@stable"
    }
}

Protip: you should browse the backbee/backbee-php page to choose a stable version to use, avoid the @stable meta constraint.


This project is supported by Lp digital

Lead Developer : @crouillon

Released under the GPL3 License