wegmeister / databasestorage
This package adds the ability to store inputs of a form (or other input) into database and export the stored data as xlsx.
Installs: 18 330
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 5
Forks: 7
Open Issues: 7
Type:neos-plugin
Requires
- neos/form: ^5.0
- phpoffice/phpspreadsheet: ^1.2
- dev-master
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.x-dev
- 1.2.12
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-fix/prevent-formula-calculation
- dev-feature/papertiger
- dev-feature/remove-resources-on-delete
- dev-neos-4.x
This package is auto-updated.
Last update: 2024-12-03 12:16:29 UTC
README
This package adds the ability to store form submissions into a database and export the stored data as xlsx, xls, ods, csv or html.
Installation
To install the package simply run
composer require wegmeister/databasestorage
Usage
You can add the DatabaseStorage Finisher in the following ways:
Add DatabaseStorage using YAML definitions
Add the DatabaseStorage a finisher in your form definition/yaml file:
type: 'Neos.Form:Form' identifier: 'some-identifier' label: 'My form' renderables: # Your renderables / form fields go here finishers: - identifier: 'Wegmeister.DatabaseStorage:DatabaseStorageFinisher' options: # The identifier is used to group your data in the database. # You should avoid using the same identifier twice or your data could become a little messed up. identifier: 'my-form-data'
Add DatabaseStorage using the Neos Form Builder
You can also use the DatabaseStorage with the Neos.Form.Builder. You should be able to simply add DatabaseStorage as a finisher to your form.
Don't forget to set a (unique) identifier
!
Add DatabaseStorage using a Fusion Form
You can also use the DatabaseStorage Neos.Fusion.Form action.
Add the following configuration to your form action definition:
databaseStorage {
type = '\\Wegmeister\\DatabaseStorage\\FusionForm\\Runtime\\Action\\DatabaseStorageAction'
options {
identifier = 'identifier-in-backend'
formValues = ${data}
}
}
Available settings
The following settings are available and can be overridden by your Settings.yaml:
Wegmeister: DatabaseStorage: # Creator name of the exported files creator: 'die wegmeister gmbh' # Title for the exported files title: 'Database Export' # Subject for the exported files subject: 'Database Export' # DateTime format if the datetime is included in the export datetimeFormat: 'Y-m-d H:i:s' # Form element types that should not be stored by the finisher (for Node-based forms) nodeTypesIgnoredInFinisher: - 'Neos.Form.Builder:Section' - 'Neos.Form.Builder:StaticText' # Form element types that should not be part of the export (for Node-based forms) nodeTypesIgnoredInExport: - 'Neos.Form.Builder:Section' - 'Neos.Form.Builder:StaticText' - 'Neos.Form.Builder:Password' - 'Neos.Form.Builder:PasswordWithConfirmation'
Cleanup commands
The package comes with cleanup commands to delete data older than a date interval you can define in your settings. You can run the command manually or use a cron job.
Add storages you wish to be cleaned up and define how long the data of each storage should be stored:
Wegmeister: DatabaseStorage: cleanup: # Add storage identifier you wish to be cleaned up storageIdentifier1: # Define how long the data should be stored as date interval # https://www.php.net/manual/en/class.dateinterval.php dateInterval: "P6M" removeFiles: true storageIdentifier2: dateInterval: "P1Y" removeFiles: false
Run the cleanup command for the configured storages:
./flow databasestorage:cleanupconfiguredstorages
You can also run a cleanup command for all existing storages. The command comes with parameters:
./flow databasestorage:cleanupallstorages --date-interval=P1M --remove-files