novactive/formbuilder

A bundle to create dynamic symfony form

Installs: 7 614

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 22

Forks: 5

Open Issues: 3

Type:ezplatform-bundle

v1.7.5 2023-11-21 15:36 UTC

README

A bundle to create dynamic symfony form.

This bundle aims to provide a lib to help generating dynamic form in a symfony app.

It provides 2 bundles:

  • bundle the symfony bundle
  • ezbundle the bridge to use bundle in eZ Platform

Note that eZ Platform is a pure symfony app then the bridge is just about wiring the IHM



Installation

Requirements

  • eZ Platform 2+
  • PHP 7.1+
  • MySQL 5.7.8+ / Maria DB 10.1+

Installation steps

Run composer require novactive/formbuilder to install the bundle and its dependencies:

Register the bundles

Activate the bundle in app\AppKernel.php file.

// app\AppKernel.php

public function registerBundles()
{
   ...
   $bundles = array(
        new FrameworkBundle(),
        ...
        // FormBuilder bundles
        new Novactive\Bundle\FormBuilderBundle\FormBuilderBundle(),
        new Novactive\Bundle\eZFormBuilderBundle\NovaeZFormBuilderBundle()
   );
   ...
}

Add routes

_novaezformbuilder_routes:
    resource: '@NovaeZFormBuilderBundle/Resources/config/routing.yml'

Install the database schema

bin/console novaformbuilder:install

Troubleshooting

If the bundle web assets (css, js etc.) are missing in the public directory it can be fixed by running the following commands:

bin/console assets:install --symlink --relative
bin/console assetic:dump

That will install bundles web assets under a public directory and dump them to the filesystem.

Also if the translations are not loaded at once clearing the Symfony cache folder must help.



Migrate DB from Ez Survey

The database of the old Ez Survey Bundle can be migrated to this Novactive Form Builder Bundle. To do that run the following commands inside ezplatform folder:

php bin/console novaformbuilder:migrate --export
php bin/console novaformbuilder:migrate --import

The first one exports the data from the old database to json files. The second one imports the data from json files to the new database. After that the dumped data is still in the json files inside web/var/site/storage/files/forms folder. They can be removed manually if they are not needed anymore.

What the migration script does is: It takes all surveys to convert them into forms. Each of them is related to particular Ez content. If more than one record have the same content_id the script takes the latest one due to the ID value. Then it takes all questions to convert into fields and results + questions results to convert into submissions.

There is also the option to truncate the current Novactive Form Builder Bundle tables in the database:

php bin/console novaformbuilder:migrate --clean

After running the Migrate scripts you might need to clear the Redis Cache if it's used on the project to apply the changes that have been made to the database.

The migration doesn't support the cases if there are more than one ezsurvey fields in any particular Content Type.

To apply the custom Form design on the Front End the bundle template fields/ezcustomform_show_front.html.twig should be overridden with another template inside Ez Platform.



Contributing

Contributing

Change and License

License

Made with <3 by novactive.