Skip to content

Commit 2aa6158

Browse files
authored
Pimcore 11 Support (#406)
1 parent fdba349 commit 2aa6158

File tree

718 files changed

+3207
-9540
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

718 files changed

+3207
-9540
lines changed

.github/workflows/codeception.yml

+10-8
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
TEST_PROJECT_ROOT_DIR: "${{ github.workspace }}"
1616

1717
PIMCORE_CODECEPTION_FRAMEWORK: "${{ github.workspace }}/pimcore-codeception-framework"
18-
PIMCORE_CODECEPTION_VERSION: "2.0"
18+
PIMCORE_CODECEPTION_VERSION: "3.0"
1919

2020
APP_ENV: test
2121
PIMCORE_TEST_DB_DSN: "mysql://test:[email protected]:3306/dachcom_bundle_test"
@@ -38,12 +38,12 @@ jobs:
3838
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
3939
strategy:
4040
matrix:
41-
php: [ 8.1 ]
42-
symfony: [ ^5.4 ]
43-
pimcore: [ ~10.6.0 ]
41+
php: [ 8.2 ]
42+
symfony: [ ^6.2 ]
43+
pimcore: [ ~11.0.0 ]
4444
include:
45-
- pimcore: ~10.6.0
46-
template_tag: v10.2.5
45+
- pimcore: ~11.0.0
46+
template_tag: v11.0.0
4747
steps:
4848
- uses: actions/checkout@v2
4949
with:
@@ -98,9 +98,11 @@ jobs:
9898

9999
- name: Setup Chromium
100100
run: |
101-
nohup $CHROMEWEBDRIVER/chromedriver --url-base=/wd/hub /dev/null 2>&1 &
101+
export DISPLAY=:99
102+
chromedriver --url-base=/wd/hub &
103+
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
102104
103-
- name: Start Webserver and Chrome
105+
- name: Start Symfony Server
104106
run: |
105107
curl -sS https://get.symfony.com/cli/installer | bash -s -- --install-dir=$HOME/.symfony/bin
106108
~/.symfony/bin/symfony server:start --port=8080 --dir=public --allow-http --no-tls --daemon

.github/workflows/ecs.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
TEST_PROJECT_ROOT_DIR: "${{ github.workspace }}"
1616

1717
PIMCORE_CODECEPTION_FRAMEWORK: "${{ github.workspace }}/pimcore-codeception-framework"
18-
PIMCORE_CODECEPTION_VERSION: "2.0"
18+
PIMCORE_CODECEPTION_VERSION: "3.0"
1919

2020
APP_ENV: test
2121
PIMCORE_TEST_DB_DSN: "mysql://root:[email protected]:3306/dachcom_bundle_test"
@@ -37,12 +37,12 @@ jobs:
3737
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
3838
strategy:
3939
matrix:
40-
php: [ 8.1 ]
41-
symfony: [ ^5.4 ]
42-
pimcore: [ ~10.6.0 ]
40+
php: [ 8.2 ]
41+
symfony: [ ^6.2 ]
42+
pimcore: [ ~11.0.0 ]
4343
include:
44-
- pimcore: ~10.6.0
45-
template_tag: v10.2.5
44+
- pimcore: ~11.0.0
45+
template_tag: v11.0.0
4646
steps:
4747
- uses: actions/checkout@v2
4848
with:

.github/workflows/php-stan.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
TEST_PROJECT_ROOT_DIR: "${{ github.workspace }}"
1616

1717
PIMCORE_CODECEPTION_FRAMEWORK: "${{ github.workspace }}/pimcore-codeception-framework"
18-
PIMCORE_CODECEPTION_VERSION: "2.0"
18+
PIMCORE_CODECEPTION_VERSION: "3.0"
1919

2020
APP_ENV: test
2121
PIMCORE_TEST_DB_DSN: "mysql://root:[email protected]:3306/dachcom_bundle_test"
@@ -37,12 +37,12 @@ jobs:
3737
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
3838
strategy:
3939
matrix:
40-
php: [ 8.1 ]
41-
symfony: [ ^5.4 ]
42-
pimcore: [ ~10.6.0 ]
40+
php: [ 8.2 ]
41+
symfony: [ ^6.2 ]
42+
pimcore: [ ~11.0.0 ]
4343
include:
44-
- pimcore: ~10.6.0
45-
template_tag: v10.2.5
44+
- pimcore: ~11.0.0
45+
template_tag: v11.0.0
4646
steps:
4747
- uses: actions/checkout@v2
4848
with:

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ php-cgi.core
5252
/tests/_output/*
5353
/tests/_data/*
5454
!/tests/_data/.gitkeep
55-
/tests/_support/_generated/*
55+
/tests/Support/_generated/*

ISSUE_TEMPLATE.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
| Q | A
2-
| ---------------- | -----
3-
| Bug report? | yes/no
4-
| Feature request? | yes/no
5-
| BC Break report? | yes/no
6-
| RFC? | yes/no
1+
| Q | A |
2+
|------------------|--------|
3+
| Bug report? | yes/no |
4+
| Feature request? | yes/no |
5+
| BC Break report? | yes/no |
6+
| RFC? | yes/no |
77

88
<!--
99
- Please fill in this template according to your issue.

LICENSE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# License
2-
Copyright (C) 2022 DACHCOM.DIGITAL
2+
Copyright (C) 2023 DACHCOM.DIGITAL
33

44
This software is available under the GNU General Public License version 3 (GPLv3).
55

PULL_REQUEST_TEMPLATE.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
| Q | A
2-
| ------------- | ---
3-
| Branch? | dev-master for features / 3.x for bug fixes
4-
| Bug fix? | yes/no
5-
| New feature? | yes/no
6-
| BC breaks? | no
7-
| Deprecations? | yes/no
8-
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
1+
| Q | A |
2+
|---------------|----------------------------------------------------|
3+
| Branch? | dev-master for features / 4.x for bug fixes |
4+
| Bug fix? | yes/no |
5+
| New feature? | yes/no |
6+
| BC breaks? | no |
7+
| Deprecations? | yes/no |
8+
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any --> |
99

1010
<!--
1111
Write a short README entry for your feature/bugfix here (replace this comment block.)

README.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
| Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch |
1414
|---------|-----------------------------------|----------------------------|--------------|----------------|----------------------------------------------------------------------------------|
15-
| **4.x** | `10.5`, `10.6` | `^5.4` | 13.10.2021 | Feature Branch | master |
15+
| **5.x** | `11.0` | `6.2` | -- | Feature Branch | master |
16+
| **4.x** | `10.5`, `10.6` | `^5.4` | 13.10.2021 | Feature Branch | [4.x](https://github.com/dachcom-digital/pimcore-formbuilder/tree/4.x) |
1617
| **3.x** | `6.0` - `6.9` | `3.4`, `^4.4` | 17.07.2019 | Bugfix only | [3.x](https://github.com/dachcom-digital/pimcore-formbuilder/tree/3.x) |
1718
| **2.7** | `5.4`, `5.5`, `5.6`, `5.7`, `5.8` | `3.4` | 27.06.2019 | Unsupported | [2.7](https://github.com/dachcom-digital/pimcore-formbuilder/tree/2.7) |
1819
| **1.5** | `4.0` | -- | 18.03.2017 | Unsupported | [pimcore4](https://github.com/dachcom-digital/pimcore-formbuilder/tree/pimcore4) |
@@ -21,11 +22,17 @@
2122

2223
```json
2324
"require" : {
24-
"dachcom-digital/formbuilder" : "~4.5.0"
25+
"dachcom-digital/formbuilder" : "~5.0.0"
2526
}
2627
```
2728

28-
- Execute: `$ bin/console pimcore:bundle:enable FormBuilderBundle`
29+
Add Bundle to `bundles.php`:
30+
```php
31+
return [
32+
FormBuilderBundle\FormBuilderBundle::class => ['all' => true],
33+
];
34+
```
35+
2936
- Execute: `$ bin/console pimcore:bundle:install FormBuilderBundle`
3037

3138
## Upgrading

UPGRADE.md

+10-123
Original file line numberDiff line numberDiff line change
@@ -1,132 +1,19 @@
11
# Upgrade Notes
2-
3-
## Version 4.5.0
4-
- **[BUGFIX]**: allow `GET` operation on `/form-control/get-url-structure` route [#383](https://github.com/dachcom-digital/pimcore-formbuilder/issues/383)
5-
- **[BUGFIX]**: suppress php warning of undefined array key [@jheimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/387)
6-
- **[ENHANCEMENT]**: Adds sort buttons for choices in ChoiceType [@jheimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/388)
7-
- **[ENHANCEMENT]**: Allow Relation(s) in Object Channel [#390](https://github.com/dachcom-digital/pimcore-formbuilder/issues/390)
8-
- **[NEW FEATURE]**: Data Injectors [#395](https://github.com/dachcom-digital/pimcore-formbuilder/issues/395)
9-
10-
## Version 4.4.1
11-
- **[BUGFIX]**: [Constraint Options] ignore internal properties [#381](https://github.com/dachcom-digital/pimcore-formbuilder/pull/381)
12-
13-
## Version 4.4.0
14-
- **[ENHANCEMENT]**: Added `format` option to `Birthday`, `DateTime` and `DateField`
15-
- **[ENHANCEMENT]**: Translate all non-default constraints messages (Key contains `message`)
16-
- **[ENHANCEMENT]**: New Constraints added:
17-
- `Symfony\Component\Validator\Constraints\Type`
18-
- `Symfony\Component\Validator\Constraints\Count`
19-
- `Symfony\Component\Validator\Constraints\Choice`
20-
21-
## Version 4.3.2
22-
- **[BUGFIX]**: Assert valid timezone in date time fallback output transformer
23-
24-
## Version 4.3.1
25-
- **[BUGFIX]**: Fix field collection assignment [#375](https://github.com/dachcom-digital/pimcore-formbuilder/issues/375)
26-
27-
## Version 4.3.0
28-
- **[ENHANCEMENT]**: Use Flysystem for Storage [#334](https://github.com/dachcom-digital/pimcore-formbuilder/issues/334)
29-
- Remove `PIMCORE_SYSTEM_TEMP_DIRECTORY/formbuilder-cache` as it is no longer needed
30-
31-
## Version 4.2.3
32-
- **[BUGFIX]**: Fix field collection mapping [#370](https://github.com/dachcom-digital/pimcore-formbuilder/issues/370)
33-
34-
## Version 4.2.2
35-
- **[BUGFIX]**: Export/Import Form fix [#371](https://github.com/dachcom-digital/pimcore-formbuilder/issues/371)
36-
37-
## Version 4.2.1
38-
- **[ENHANCEMENT]**: Input Transformer [#7bde83b](https://github.com/dachcom-digital/pimcore-formbuilder/pull/369/commits/7bde83b015d242f2ce2f93fcd0b4feb78431587c)
39-
- **[BUGFIX]**: Translate Funnel Action Label in Backend [#b4966a2](https://github.com/dachcom-digital/pimcore-formbuilder/pull/369/commits/b4966a2f23c0aa55e1df214632984ff0164aa945)
40-
41-
## Version 4.2.0
42-
- **[NEW FEATURE]**: Funnel Feature [#362](https://github.com/dachcom-digital/pimcore-formbuilder/issues/362)
43-
- **[FEATURE]**: PIMCORE 10.5 Support only!
44-
- **[ENHANCEMENT]**: Removed deprecated session `NamespacedAttributeBag` which was unused
45-
- **[ENHANCEMENT]**: Remove session from service DI
46-
- **[ENHANCEMENT]**: Use EventListener instead of legacy plugin architecture, to boot ExtJS extensions
47-
- **[DEPRECATION]**: Deprecated Method `assembleViewVars()` in `FormAssembler`, use `assemble()` instead
48-
49-
## Version 4.1.4
50-
- **[BUGFIX]**: Fix link to translation list [#359](https://github.com/dachcom-digital/pimcore-formbuilder/pull/359)
51-
- **[BUGFIX]**: skip dependency if document is null [@JHeimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/354)
52-
- **[BUGFIX]**: Check for valid success management configuration [#299](https://github.com/dachcom-digital/pimcore-formbuilder/issues/299)
53-
- **[NEW FEATURE]**: Add Mail-Log Filter to Email Channel [#297](https://github.com/dachcom-digital/pimcore-formbuilder/issues/297)
54-
- **[NEW FEATURE]**: Allow mapping of elements in fieldset container in Object Chanel [@JHeimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/355)
55-
56-
## Version 4.1.3
57-
- **[BUGFIX]**: Fix `ignoreFields` Assignment: Use `CollectionType` instead of `ChoiceType` [#352](https://github.com/dachcom-digital/pimcore-formbuilder/pull/352)
58-
59-
## Version 4.1.2
60-
- **[BUGFIX]**: Rename overwitten `$translator` property in `MailEditorController` (Pimcore 10.5 compatibility). [@vollborn](https://github.com/dachcom-digital/pimcore-formbuilder/pull/345)
61-
- **[BUGFIX]**: Type mismatch in `FormOptionsResolver` fixed. [#346](https://github.com/dachcom-digital/pimcore-formbuilder/pull/347)
62-
- **[BUGFIX]**: Remove dummy csv generation loader [@pascalmoser](https://github.com/dachcom-digital/pimcore-formbuilder/pull/328)
63-
- **[BUGFIX]**: ConditionalLogic: Load form data from container fields [@JHeimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/330)
64-
- **[BUGFIX]**: ConditionalLogic: Allow empty Validation field when removeAllValidations action is checked [@JHeimbach](https://github.com/dachcom-digital/pimcore-formbuilder/pull/331)
65-
- **[BUGFIX]**: Fix detectFormRuntimeDataInRequest null return [@dpfaffenbauer](https://github.com/dachcom-digital/pimcore-formbuilder/pull/335)
66-
- **[BUGFIX]**: Consider Pimcore Frontend FullPath for File Output [@dpfaffenbauer](https://github.com/dachcom-digital/pimcore-formbuilder/pull/336)
67-
- **[BUGFIX]**: E-Mail CSV Export contains data of several forms when their Output Workflows share the same title [@anyMOTION-GRAPHICS](https://github.com/dachcom-digital/pimcore-formbuilder/issues/325)
68-
- **[ENHANCEMENT]**: Add `role="presentation"` to honeypot field [#333](https://github.com/dachcom-digital/pimcore-formbuilder/issues/333)
69-
70-
## Version 4.1.1
71-
- **[BUGFIX]**: Fix legacy fine uploader identifier
72-
73-
## Version 4.1.0
74-
- **[NEW FEATURE]**: API Output channel [#290](https://github.com/dachcom-digital/pimcore-formbuilder/issues/301)
75-
- **[NEW FEATURE]**: API Output channel field transformer
76-
- **[BUGFIX]**: ensure migration of form configs will be symfony5 compatible [@grizzlydotweb](https://github.com/dachcom-digital/pimcore-formbuilder/pull/310)
77-
- **[BUGFIX]**: introduce output workflow signals: attachments not working with multiple channels [#311](https://github.com/dachcom-digital/pimcore-formbuilder/issues/311)
78-
- **[BUGFIX]**: fix typo in translation [#312](https://github.com/dachcom-digital/pimcore-formbuilder/issues/312)
79-
- **[BUGFIX]**: disable `selectOnFocus` [#315](https://github.com/dachcom-digital/pimcore-formbuilder/issues/315)
80-
- **[BUGFIX]**: ⚠️ add help text block to dynamic multi file. touched view: `form/theme/type/dynamic_multi_file.html.twig` [#308](https://github.com/dachcom-digital/pimcore-formbuilder/issues/308)
81-
- **[BUGFIX]**: ⚠️ multi file upload: hidden type `_data` not in form row. touched view: `form/theme/type/dynamic_multi_file.html.twig` [#316](https://github.com/dachcom-digital/pimcore-formbuilder/issues/316)
82-
83-
## Version 4.0.2
84-
- [ENHANCEMENT] enable placeholder in cc and bcc field in email output workflow [@frithjof](https://github.com/dachcom-digital/pimcore-formbuilder/pull/305)
85-
86-
## Version 4.0.1
87-
- [FEATURE] PIMCORE 10.2 Support
882

89-
## Migrating from Version 3.x to Version 4.0.0
90-
⚠️ If you're still on version `2.x`, you need to update to `3.x` first, then [migrate](https://github.com/dachcom-digital/pimcore-formbuilder/blob/3.x/UPGRADE.md) to `3.3`. After that, you're able to update to `^4.0`.
91-
92-
> 💀 Be careful while migrating to production!
93-
> A lot of things (including form configuration) have changed and will break your installation if you're ignoring the migration guide below!
94-
95-
### Migration
96-
- Execute `bin/console doctrine:migrations:migrate --prefix 'FormBuilderBundle\Migrations'` after you've installed FormBuilder
97-
- Remove `var/bundles/FormBuilderBundle/forms` if migration was successful
3+
## Migrating from Version 4.x to Version 5.0
4+
- Execute: `bin/console doctrine:migrations:migrate --prefix 'FormBuilderBundle\Migrations'`
985

996
### Global Changes
100-
- Deprecations have been removed:
101-
- `FormBuilderBundle\Storage\Form` needs to be `FormBuilderBundle\Model\FormDefinition` now
102-
- `FormBuilderBundle\Storage\FormInterface` needs to be `FormBuilderBundle\Model\FormDefinitionInterface` now
103-
- `FormBuilderBundle\Storage\FormFieldSimpleInterface` needs to be `FormBuilderBundle\Model\FieldDefinitionInterface` now
104-
- `FormBuilderBundle\Manager\FormManager` needs to be `FormBuilderBundle\Manager\FormDefinitionManager` now
105-
- `FormBuilderBundle\Event\MailEvent` has been removed, use `FormBuilderBundle\Event\OutputWorkflow\ChannelSubjectGuardEvent` instead
106-
- Method `FormBuilderBundle\Assembler\FormAssembler::setFormOptionsResolver` has been removed. `FormBuilderBundle\Assembler\FormAssembler::assembleViewVars($optionsResolver)` directly requires FormOptionsResolver now
107-
- CSV export types `Only Admin-Mail` and `Only User-Mail (Copy)` have been removed. Instead, you're now able to filter CSV export by available output workflows
108-
- Mail layout fallback feature has been removed (which was enabled if no workflows have been defined and have been stored in `formbuilder_forms.mailLayout`). Please migrate layouts to email channels. This column will be removed with FormBuilder 5.0
109-
- PHP8 return type declarations added: you may have to adjust your extensions accordingly
110-
- Email properties (`mail_successfully_sent`, `mail_ignore_fields`, `mail_force_plain_text`, `mail_disable_default_mail_body`) have been removed and won't be recognized anymore
111-
- Area-Brick Configuration does not allow `sendMailTmplate` and `sendCopyMailTemplate` fallbacks anymore. They must be configured by output workflows now
112-
- All Folders in `views` are lowercase/dashed now (`common/redirect-flash-message.html.twig`, `email/form-data.html.twig`, `form/elements/dynamic-multi-file`, `form/presets`, `form/theme`, ...)
113-
- If you have a custom email template, make sure that you're passing the `body`, `editmode`, `document` attributes to your email view template (@see `\FormBuilderBundle\Controller::emailAction()`). Also use `{{ body|raw }}` instead of `%Text(body);` inside your view template!
114-
- `DropZoneAdapter` has been declared to the new default Multi File Handler. You can switch back to FineUploader by changing the `form_builder.dynamic_multi_file_adapter` configuration node
115-
- All frontend javascript libraries have been removed from core. If you still want to use the jQuery extensions, please check out our [jquery-pimcore-formbuilder repo](https://github.com/dachcom-digital/jquery-pimcore-formbuilder)
116-
117-
### Conditional Logic Changes
118-
- ⚠️ Action `Change Mail Behaviour` has been removed. Use `Switch Output Workflow` Action instead.
119-
120-
### Fixes
121-
- Bootstrap Theme: Class `form-control` has been removed from dynamic multi file (see [#253](https://github.com/dachcom-digital/pimcore-formbuilder/pull/253)). You now need to set some [style definitions](docs/90_FrontendTips.md#multi-file-validation) by yourself
122-
- Fixes root meta validation [#290](https://github.com/dachcom-digital/pimcore-formbuilder/issues/290)
7+
- [DEPRECATION REMOVED] removed `FormDefinition::setMailLayout`. Please migrate to output workflows before updating
8+
- [IMPROVEMENTS] Recommended folder structure by symfony adopted
9+
- [FUNNEL] Route include changed from `@FormBuilderBundle/Resources/config/pimcore/routing_funnels.yml` to `@FormBuilderBundle/config/pimcore/routing_funnels.yaml`
10+
- [BC BREAK] Mail Layout Editor: While there is a migration, we're not able to migrate container (fieldset, repeater) fields. Please adjust your output workflow channels manually.
11+
- [BC BREAK] All views are lowercase/underscore now (`email/form_data.html.twig`, `form/elements/dynamic_multi_file/*`)
12312

12413
### New Features
125-
- Conditional Logic Action `Switch Output Workflow` added
126-
- [Configurable Html2Text Options](./docs/OutputWorkflow/10_EmailChannel.md#configure-html2text-options)
127-
- Yaml file storage migrated to Database storage
128-
- Import/Export Improvement: You're able to export/import the complete form dataset (form, workflows and channels)
14+
- Mail Layout Editor, see [#390](https://github.com/dachcom-digital/pimcore-formbuilder/issues/398)
15+
- If [Emailizr](https://github.com/dachcom-digital/pimcore-emailizr) is installed, formbuilder will use it automatically to transform html tables
12916

13017
***
13118

132-
FormBuilder 3.x Upgrade Notes: https://github.com/dachcom-digital/pimcore-formbuilder/blob/3.x/UPGRADE.md
19+
FormBuilder 4.x Upgrade Notes: https://github.com/dachcom-digital/pimcore-formbuilder/blob/4.x/UPGRADE.md

codeception.dist.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
namespace: DachcomBundle\Test
2+
support_namespace: Support
23
actor: Tester
34
paths:
45
tests: tests
5-
output: tests/_output
6-
data: tests/_data
7-
support: tests/_support
86
envs: tests/_envs
7+
output: tests/_output
98
log: tests/_output/var/logs
9+
data: tests/_data
10+
support: tests/Support
11+
bootstrap: _bootstrap.php
1012
settings:
11-
bootstrap: _bootstrap.php
1213
memory_limit: -1
1314
colors: true
1415
params:

0 commit comments

Comments
 (0)