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
).
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.
phpunit
and several javascript tests
npm test
A big thank you to BrowserStack.com for sponsoring a free Live account, that allows us to test on Iphones and other devices.
- added resetMediaMetadata to MediaFileEntityInterface. If you are using the MediaFileEntityMetadata-Trait you're all good
- 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
- after serialization there will be no automatic flush (after each binary serialization) as before - this was slow as hell. You have call em->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
- 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
- files uploaded to the media controller will overwrite existing files (but warnings will still be generated)
- Read Upgrading to 2.0
- Update to Symfony 4.0
- use PHPUnit 5.x.x
- BlockExtender Interface has been changed to pass value of blocks-array by reference
- MediaFileEntityInterface has two new methods:
setMediaMetadata
andgetMediaMetadata
- 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
andheight
per default (pass metadata_only: true to the configuration of the transformation to enable getting metadata) - add
cms.version
to your global twig variables
- 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
intoetc/cms/blocktypes.json
and include it with: requirejs-json - Refactor
When I click on "" in context
toWhen I click on ""
- change
site.url
intocms.site.url
in global twig variables - change
site.title
intocms.site.title
in global twig variables
- Rename Webforge\Common\String into Webforge\Common\StringUtil (because of PHP 7.x)
- 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.
- 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
andsite.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
)