mirror of
https://github.com/humhub/humhub.git
synced 2025-01-17 14:18:27 +01:00
112 lines
6.8 KiB
Markdown
112 lines
6.8 KiB
Markdown
Module Migration Guide
|
|
======================
|
|
|
|
See [humhub/documentation::docs/develop/modules-migrate.md](https://github.com/humhub/documentation/blob/master/docs/develop/modules-migrate.md)
|
|
for full version.
|
|
|
|
Version 1.16 (April 2024)
|
|
-------------------------
|
|
At least PHP 8.0 is required with this version.
|
|
|
|
#### Removed
|
|
- `\humhub\modules\search\*` The existing search module was removed and the related features merged
|
|
into the 'content', 'user' and 'space' modules.
|
|
- `\humhub\modules\user\models\User::getSearchAttributes()` and `\humhub\modules\space\models\Space::getSearchAttributes()`
|
|
|
|
### Behaviour change
|
|
- New Meta Search API
|
|
- Controller route change: `/search/mentioning` -> `/user/mentioning`
|
|
- `Yii::$app->search()` component is not longer available.
|
|
- Use `(new ContentSearchService($exampleContent->content))->update();` instead of `Yii::$app->search->update($exampleContent);`
|
|
- The method `setCellValueByColumnAndRow()` has been replaced with `setCellValue()` and `setValueExplicit()`.
|
|
- When rendering xlsx generated data cells, use the `setCellValue()` method with the appropriate coordinate obtained using `getColumnLetter()`.
|
|
|
|
### Deprecations
|
|
- `\humhub\components\Module::getIsActivated()` use `getIsEnabled()` instead
|
|
(note: this also affects the virtual instance property `\humhub\modules\friendship\Module::$isActivated` which should
|
|
now read `$isEnabled`!)
|
|
- `\humhub\components\Module::migrate()` use `getMigrationService()->migrateUp(MigrationService::ACTION_MIGRATE)` instead
|
|
- `\humhub\libs\BaseSettingsManager::isDatabaseInstalled()` use `Yii::$app->isDatabaseInstalled()` instead
|
|
- `\humhub\models\Setting::isInstalled()` use `Yii::$app->isInstalled()` instead
|
|
- `\humhub\modules\content\components\ContentAddonActiveRecord::canRead()` use `canView()` instead
|
|
- `\humhub\modules\content\components\ContentAddonActiveRecord::canWrite()`
|
|
- `\humhub\modules\file\models\File::canRead()` use `canView()` instead
|
|
- `\humhub\modules\friendship\Module::getIsEnabled()` use `isFriendshipEnabled()` instead
|
|
(note: `\humhub\modules\friendship\Module::getIsEnabled()` and the virtual
|
|
property `\humhub\modules\friendship\Module::isEnabled` now return the status of the module -
|
|
which yields always true for core modules.)
|
|
- `\humhub\modules\marketplace\Module::isEnabled()` use `isMarketplaceEnabled()` instead
|
|
- `\humhub\modules\marketplace\services\ModuleService::activate()` use `enable()` instead
|
|
|
|
### New
|
|
- `humhub\modules\stream\actions\GlobalContentStream`
|
|
- `humhub\modules\stream\models\GlobalContentStreamQuery`
|
|
- `humhub\modules\stream\models\filters\GlobalContentStreamFilter`
|
|
- A new protected function `SpreadsheetExport::getColumnLetter()` has been introduced to get the column letter based on the column index.
|
|
|
|
### Type restrictions
|
|
- `\humhub\commands\MigrateController` enforces types on fields, method parameters, & return types
|
|
- `\humhub\components\behaviors\PolymorphicRelation` enforces types on fields, method parameters, & return types
|
|
- `\humhub\components\bootstrap\ModuleAutoLoader::findModules()` is enforcing types on method parameters and return value
|
|
- `\humhub\components\bootstrap\ModuleAutoLoader::findModulesByPath()` is enforcing types on method parameters and return value
|
|
- `\humhub\components\bootstrap\ModuleAutoLoader::locateModules()` is enforcing return type
|
|
- `\humhub\components\ModuleManager::register()` is enforcing types on method parameters
|
|
- `\humhub\modules\comment\models\Comment` on `canDelete()`
|
|
- `\humhub\modules\content\components\ContentAddonActiveRecord` on `canDelete()`, `canWrite()`, `canEdit()`
|
|
- `\humhub\modules\content\models\Content` on `canEdit()`, `canView()`
|
|
- `\humhub\modules\file\models\File` on `canRead()`, `canDelete()`
|
|
|
|
### Bugfix with potential side-effect
|
|
- `\humhub\modules\ui\form\widgets\BasePicker` and `\humhub\modules\ui\form\widgets\MultiSelect` do now treat and empty array for the field `BasePicker::$selection` as a valid selection list and will not attempt to get the list from the model in that case.
|
|
|
|
Version 1.15
|
|
-------------------------
|
|
|
|
### Behaviour change
|
|
- `\humhub\libs\BaseSettingsManager::deleteAll()` no longer uses the `$prefix` parameter as a full wildcard, but
|
|
actually as a prefix. Use `$prefix = '%pattern%'` to get the old behaviour. Or use `$parameter = '%suffix'` if you
|
|
want to match against the end of the names.
|
|
- `\humhub\libs\BaseSettingsManager::get()` now returns a pure int in case the (trimmed) value can be converted
|
|
- New `PolymorphicRelation::getObjectModel()`: should replace `get_class()`
|
|
- Removed deprecated javascript method `setModalLoader()`
|
|
- Javascript CSP Nonces are now required and enabled by default! See: https://docs.humhub.org/docs/develop/javascript/
|
|
- Use the verifying `Content->canArchive()` before run the methods `Content->archive()`
|
|
and `Content->archive()`, because it was removed from within there.
|
|
- Permission to configure modules is now restricted to users allowed to manage settings (was previously restricted to users allowed to manage modules). [More info here](https://github.com/humhub/humhub/issues/6174).
|
|
- `$guid` properties in `contentcontainer`, `file`, `space`, and `user` models are now enforced to be valid UUIDs
|
|
(See `UUID::validate()`) and unique within the table.
|
|
|
|
### Type restrictions
|
|
- `\humhub\libs\BaseSettingsManager` and its child classes on fields, method parameters, & return types
|
|
- `\humhub\libs\Helpers::checkClassType()` (see [#6548](https://github.com/humhub/humhub/pull/6548))
|
|
- rather than throwing a `\yii\base\Exception`, it now throws some variations of `yii\base\InvalidArgumentException`
|
|
with different Exception Codes as documented in the function's documentation:
|
|
- `\humhub\exceptions\InvalidArgumentClassException`
|
|
- `\humhub\exceptions\InvalidArgumentTypeException`
|
|
- `\humhub\exceptions\InvalidArgumentValueException`
|
|
- the return type has changed from `false` to `string|null`
|
|
- the second parameter `$type` is now mandatory
|
|
|
|
### Deprecations
|
|
|
|
#### New
|
|
- `Content::addTags()` and `Content::addTag()`. Use `ContentTagService`
|
|
- `humhub\libs\UUID::is_valid()`. Use `UUID::validate()`
|
|
|
|
#### Removed
|
|
- `humhub\libs\Markdown`
|
|
- `humhub\libs\MarkdownPreview`
|
|
- `humhub\modules\content\widgets\richtext\AbstractRichText::$markdown`
|
|
- `humhub\modules\content\widgets\richtext\AbstractRichText::$maxLength`
|
|
- `humhub\modules\content\widgets\richtext\AbstractRichText::$minimal`
|
|
- `humhub\modules\content\widgets\richtext\PreviewMarkdown`
|
|
- `humhub\modules\content\widgets\richtext\ProsemirrorRichText::parseOutput`
|
|
- `humhub\modules\content\widgets\richtext\ProsemirrorRichText::replaceLinkExtension`
|
|
- `humhub\modules\content\widgets\richtext\ProsemirrorRichText::scanLinkExtension`
|
|
- `humhub\modules\ui\form\widgets\Markdown`
|
|
- `humhub\widgets\AjaxButton`
|
|
- `humhub\widgets\MarkdownEditor`
|
|
- `humhub\widgets\MarkdownField`
|
|
- `humhub\widgets\MarkdownFieldModals`
|
|
- `humhub\widgets\ModalConfirm`
|