API Remove deprecated methods in EditableFormField, add upgrade guide for UF 4-5

This commit is contained in:
Robbie Averill 2017-09-19 16:04:48 +12:00
parent 5021cc4162
commit de3c8db399
3 changed files with 28 additions and 70 deletions

View File

@ -9,7 +9,6 @@ use SilverStripe\Core\ClassInfo;
use SilverStripe\Core\Config\Config; use SilverStripe\Core\Config\Config;
use SilverStripe\Core\Convert; use SilverStripe\Core\Convert;
use SilverStripe\Core\Manifest\ModuleLoader; use SilverStripe\Core\Manifest\ModuleLoader;
use SilverStripe\Dev\Deprecation;
use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\CheckboxField;
use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\DropdownField;
use SilverStripe\Forms\FieldList; use SilverStripe\Forms\FieldList;
@ -567,36 +566,6 @@ class EditableFormField extends DataObject
return stripos($this->ID, 'new') === 0; return stripos($this->ID, 'new') === 0;
} }
/**
* @deprecated since version 4.0
*/
public function getSettings()
{
Deprecation::notice('4.0', 'getSettings is deprecated');
return (!empty($this->CustomSettings)) ? unserialize($this->CustomSettings) : array();
}
/**
* @deprecated since version 4.0
*/
public function setSettings($settings = array())
{
Deprecation::notice('4.0', 'setSettings is deprecated');
$this->CustomSettings = serialize($settings);
}
/**
* @deprecated since version 4.0
*/
public function setSetting($key, $value)
{
Deprecation::notice('4.0', "setSetting({$key}) is deprecated");
$settings = $this->getSettings();
$settings[$key] = $value;
$this->setSettings($settings);
}
/** /**
* Set the allowed css classes for the extraClass custom setting * Set the allowed css classes for the extraClass custom setting
* *
@ -611,22 +580,6 @@ class EditableFormField extends DataObject
} }
} }
/**
* @deprecated since version 4.0
*/
public function getSetting($setting)
{
Deprecation::notice("4.0", "getSetting({$setting}) is deprecated");
$settings = $this->getSettings();
if (isset($settings) && count($settings) > 0) {
if (isset($settings[$setting])) {
return $settings[$setting];
}
}
return '';
}
/** /**
* Get the path to the icon for this field type, relative to the site root. * Get the path to the icon for this field type, relative to the site root.
* *
@ -715,26 +668,6 @@ class EditableFormField extends DataObject
return $this->i18n_singular_name() . ' (' . $this->Title . ')'; return $this->i18n_singular_name() . ' (' . $this->Title . ')';
} }
/**
* @deprecated since version 4.0
*/
public function getFieldName($field = false)
{
Deprecation::notice('4.0', "getFieldName({$field}) is deprecated");
return ($field) ? "Fields[".$this->ID."][".$field."]" : "Fields[".$this->ID."]";
}
/**
* @deprecated since version 4.0
*/
public function getSettingName($field)
{
Deprecation::notice('4.0', "getSettingName({$field}) is deprecated");
$name = $this->getFieldName('CustomSettings');
return $name . '[' . $field .']';
}
/** /**
* Append custom validation fields to the default 'Validation' * Append custom validation fields to the default 'Validation'
* section in the editable options view * section in the editable options view

View File

@ -28,6 +28,7 @@ See the "require" section of [composer.json](https://github.com/silverstripe/sil
* [Troubleshooting](troubleshooting) * [Troubleshooting](troubleshooting)
* [User Documentation](userguide/index.md) * [User Documentation](userguide/index.md)
* [Compiling Front-End Files](compiling-front-end-files.md) * [Compiling Front-End Files](compiling-front-end-files.md)
* [Upgrading to SilverStripe 4](upgrading.md)
## Thanks ## Thanks

24
docs/en/upgrading.md Normal file
View File

@ -0,0 +1,24 @@
# Upgrading to SilverStripe 4
## API changes
The SilverStripe 4 compatible version of UserForms (5.x) introduces some breaking API changes:
* Namespaces are added. Please use the SilverStripe upgrader to automatically update references in your code.
* Previously deprecated code from UserForms 4.x has been removed:
* `EditableFormField::getSettings()`
* `EditableFormField::setSettings()`
* `EditableFormField::setSetting()`
* `EditableFormField::getSetting()`
* `EditableFormField::getFieldName()`
* `EditableFormField::getSettingName()`
The frontend JavaScript and SASS assets have been converted from Compass to
[Webpack](https://github.com/silverstripe/webpack-config), and now live in the `client/` folder. Please
[see here](https://docs.silverstripe.org/en/4/contributing/build_tooling/) for information on this build toolchain.
## Data migration
UserForms 5.0 includes a legacy class name remapping configuration file (legacy.yml) as well as `$table_name`
configuration for every DataObject to ensure that existing data in your database will remain unchanged. This
should help to ensure that your upgrade process from UserForms 4.x on SilverStripe 3 is as seamless as possible.