PHPackages                             webforge/cms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. webforge/cms

AbandonedArchivedLibrary[Framework](/categories/framework)

webforge/cms
============

A cms written in knockoutjs and twitter-bootstrap on top of symfony

v3.3.0(6y ago)1820[1 issues](https://github.com/webforge-labs/cms/issues)[13 PRs](https://github.com/webforge-labs/cms/pulls)MITJavaScriptPHP &gt;=7.2.0

Since Mar 28Pushed 3y ago1 watchersCompare

[ Source](https://github.com/webforge-labs/cms)[ Packagist](https://packagist.org/packages/webforge/cms)[ Docs](https://www.ps-webforge.com/docker)[ RSS](/packages/webforge-cms/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (13)Versions (159)Used By (0)

cms
===

[](#cms)

this repo contains the Webforge/CmsBundle and a symfony bundle (AppBundle) that allows self-tests

The "core" of the cms is in the Webforge\\CmsBundle (located in `src\php\Webforge\CmsBundle`). The cms consists of this bundle and some components (see `src\php`).

versioning
----------

[](#versioning)

The npm package webforge-cms and the composer package webforge/cms will be always in sync in versioning. So some minor changes may only apply to the js package, to the php-package or to both of them.

testing
-------

[](#testing)

phpunit

and several javascript tests

npm test

Sponsoring
----------

[](#sponsoring)

A big thank you to [BrowserStack.com](https://www.browserstack.com) for sponsoring a free Live account, that allows us to test on Iphones and other devices.

changelog
---------

[](#changelog)

BC Breaks 3.1.x
---------------

[](#bc-breaks-31x)

- added resetMediaMetadata to MediaFileEntityInterface. If you are using the MediaFileEntityMetadata-Trait you're all good

BC Breaks for 3.0.x
-------------------

[](#bc-breaks-for-30x)

- symfony/symfony is now longer a dependency. You have to use symfony/flex and configure EVERYTHING on your own. (prepend config is no longer used)
- the public folder is now www (not public)
- construct CommonController with em and dc
- Symfony\\Kernel was removed
- CommonController is now an Symfony-AbstractController and therefore has narrower dependency injection: You need to refactor your controller code
- [Read Upgrading to 3.0](docs/upgrading-to-3.0.x.md)

BC Breaks for 2.3.x
-------------------

[](#bc-breaks-for-23x)

- after serialization there will be no automatic flush (after each binary serialization) as before - this was slow as hell. You have call em-&gt;flush yourself
- exif is now read with lsolesen/pel, not with php native anymore. This might have more or less failing cases for you
- original image metadata (allthough with rotation-exif-data) wont be automatically rotated, because the physical file is not rotated as well, but thumbnails-meta will be rotated and images are physically rotated

BC Breaks for 2.2.x
-------------------

[](#bc-breaks-for-22x)

- you need php 7.2 to install
- dependency symfony/symfony updated to 4.1
- use phpunit 6.5.x
- TestCaseTrait now uses the mockery trait, so you have to install mockery to 1.1.0 now

BC Breaks for 2.1.x
-------------------

[](#bc-breaks-for-21x)

- files uploaded to the media controller will overwrite existing files (but warnings will still be generated)

Upgrade to 2.0.x
----------------

[](#upgrade-to-20x)

- [Read Upgrading to 2.0](docs/upgrading-to-2.0.x.md)
- Update to Symfony 4.0

BC Breaks for 1.15.x
--------------------

[](#bc-breaks-for-115x)

- use PHPUnit 5.x.x
- BlockExtender Interface has been changed to pass value of blocks-array by reference

BC Breaks for 1.14.x
--------------------

[](#bc-breaks-for-114x)

- MediaFileEntityInterface has two new methods: `setMediaMetadata` and `getMediaMetadata`
- add this to your model.json for binaries `"mediaMeta": { "type": "Object", "nullable": true }`
- use the trait: `Webforge\CmsBundle\Media\MediaFileEntityMetadata` to implement the methods
- generation of thumbnails with imagine is deprecated
- thumbnails will be created with thumbor and therefore have no `width` and `height` per default (pass metadata\_only: true to the configuration of the transformation to enable getting metadata)
- add `cms.version` to your global twig variables

BC Breaks for 1.13.x
--------------------

[](#bc-breaks-for-113x)

- Dont add \\Knp\\Bundle\\MarkdownBundle\\KnpMarkdownBundle() to the appkernel. It will be added automatically
- create a `etc/cms/blocktypes.json` file (containing one empty array sufficient)
- split the `admin/config.js` into `etc/cms/blocktypes.json` and include it with: requirejs-json
- Refactor `When I click on "" in context` to `When I click on ""`

BC Breaks for 1.12.x
--------------------

[](#bc-breaks-for-112x)

- change `site.url` into `cms.site.url` in global twig variables
- change `site.title` into `cms.site.title` in global twig variables

BC Breaks for 1.11.x
--------------------

[](#bc-breaks-for-111x)

- Rename Webforge\\Common\\String into Webforge\\Common\\StringUtil (because of PHP 7.x)

BC Breaks for 1.7.x
-------------------

[](#bc-breaks-for-17x)

- A link in the CMS adds and activates the tab with one click (instead of two). So calling tabs.open() was changed. add and select will still work.

BC Breaks for 1.6.x
-------------------

[](#bc-breaks-for-16x)

- You need to provide the database parameters again (database\_host, database\_port, database\_name, database\_user, database\_password)
- You need to set `sidebar.activeGroup` in the base.html.twig template
- You need to set `site.url` and `site.title` in the base.html.twig template
- You need to set `cms.title` and (optional) `site.xsTitle` in the base.html.twig template (do this with a global twig extension: `Twig_Extension_GlobalsInterface`)

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 97.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Recently: every ~78 days

Total

141

Last Release

2255d ago

Major Versions

v1.16.8 → v2.0.02018-04-17

v2.3.5 → v3.0.02019-03-18

v2.3.7 → v3.0.42019-03-25

PHP version history (3 changes)1.0.0PHP &gt;=5.4.0

v2.0.0PHP &gt;=7.1.0

v2.2.0PHP &gt;=7.2.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc659f3d1fe2fd98e62c9ac16965126a8b2c7f3fe7fad3b7c6c5f548c46e0c27?d=identicon)[pscheit](/maintainers/pscheit)

---

Top Contributors

[![pscheit](https://avatars.githubusercontent.com/u/488189?v=4)](https://github.com/pscheit "pscheit (497 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (12 commits)")

### Embed Badge

![Health badge](/badges/webforge-cms/health.svg)

```
[![Health](https://phpackages.com/badges/webforge-cms/health.svg)](https://phpackages.com/packages/webforge-cms)
```

###  Alternatives

[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k84.2M225](/packages/laravel-horizon)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[magento/community-edition

Magento 2 (Open Source)

12.1k52.1k10](/packages/magento-community-edition)[laravel/vapor-cli

The Laravel Vapor CLI

31310.7M8](/packages/laravel-vapor-cli)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
