Framaforms becomes Yakforms
What does this mean ? It means the We are taking advantage from the fact that the number of known instances of the software is low at the moment to make a clean transition from the old to the new name.
Here are the implications of that change of name :
- the name will be replaced everywhere on the project, starting from the name of the Drupal modules, but also the database table names, etc. A new
yakformsmodule, with exactly the same features as the old one, is being introduced.
- the old
framaformsmodule will not be maintained from now on, and development will take place on the
- if you manage an instance, the actions to take to make sure your site is up to date are below. This basically mean giving up on the old module, and installing the new one.
Actions to take on my instance
Here you'll find instructions to migrate your instance.
Use the script
- download the migration script (
framaforms2yakforms.php). Place it in the root directory of your Yakforms installation.
- run the script in backup mode :
php framaforms2yakforms.php backup. This will backup all your settings in temporary tables.
- disable and uninstall
drush dis framaforms drush pm-uninstall framaforms
If you installed
framaforms side modules like
framaforms_public_results, you'll have to disable and uninstall these first.
- download and install
drush cc drush drush dl yakforms drush en yakforms
If you'd rather use
composer to manage your Drupal dependencies, then use
composer require 'drupal/yakforms'.
- run the script in restore mode to restore the backup data :
php framaforms2yakforms.php restore.
- You're almost done ! Check your website to make sure nothing is broken.
- If something looks odd, chances are your data hasn't been restored properly. You'll have to run the
restoresteps manually (see section below).
- If you were using
framaformsside modules like
framaforms_share_results, these were deactivated at the moment you uninstalled
framaforms. You'll just have to download the
yakformsversion of these :
drush dl yakforms_share_results -y drush en yakforms_share_results -y drush dl yakforms_public_results -y drush en yakforms_public_results -y
- If everything looks good to you, you can run
php framaforms2yakforms.php clean. This will delete temporary backup data and put your site back to a fully normal state. Now you're really done !
(Only if necessary) migrate manually
You should follow these steps to migrate your instance manually only if the script fails for you.
- connect to your Framaforms database.
- save the
framaforms_expiredtable in a temporary table:
CREATE TABLE framaforms_expired_bak AS TABLE framaforms_expired;
- save global variables set by Framaforms :
CREATE TABLE variables_bak AS (SELECT * FROM variable WHERE name LIKE 'framaforms_%');
- disable and uninstall
framaforms, either from the GUI or through
drush dis framaforms -y drush pmu framaforms -y
drush en yakforms -y
- go back to your database and insert your saved data back into the newly created tables :
INSERT INTO yakforms_expired (SELECT * FROM framaforms_expired_bak ); INSERT INTO variable SELECT REGEXP_REPLACE(variables_bak.name, 'framaforms', 'yakforms'), variables_bak.value FROM variables_bak ON CONFLICT (name) DO UPDATE SET value = excluded.value;
- check that your site is working properly.
- If everything looks fine to you, clean up by running the following in your database :
DROP TABLE framaforms_expired_bak; DROP TABLE variables_bak;
Side note : this process, whether you used the script or not, will download the latest versions of the modules on your site. You will therefore benefit from the latest version of Yakforms.
New updating process
yakforms module is now available on Drupal.org. This means that you can pull new releases through
drush to update the module to its latest version.
cd to your instance's root folder and run the following to update
yakforms from now on :
drush up yakforms
(Yes, do the same for all
yakforms side modules, like
Don't forget to also run any pending updates after doing so, by logging in to your instance, and browsing to