silverstripe-dms/docs/en/changelogs/2.0.0.md

46 lines
2.9 KiB
Markdown
Raw Normal View History

# 2.0.0 (unreleased)
## Document sets
Documents now belong to "sets", which are attached to Pages. A Page can have many Document Sets, and a Set has a
many_many relationship with Documents.
When upgrading from 1.x to 2.x you will need to migrate the relationships from your Pages to Documents to support
having a Document Set intermediary. [See here](../migration/document-sets.md) for an example build task to help with
this process.
## API changes
* `DMSSiteTreeExtension::no_documents_tab` removed, use YAML configuration `MyPage.documents_enabled: false` instead
* `DMSSiteTreeExtension::show_documents_tab` removed, use YAML configuration `MyPage.documents_enabled: true` instead
* `DMSSiteTreeExtension::PageDocuments` removed, use `DMSSiteTreeExtension::getDocumentSets` instead
* `DMSSiteTreeExtension::getDocuments` removed, use `DMSSiteTreeExtension::getAllDocuments` instead
* `DMSDocument::addPage` removed, use document sets instead
* `DMSDocument::addPages` removed, use document sets instead
* `DMSDocument::removePage` removed, use document sets instead
* `DMSDocument::removeAllPages` removed, use document sets instead
* `DMSDocument::getPages` removed, use `DMSDocument::getRelatedPages` instead
* `DMSDocumentInterface` has had the page manipulation methods removed, as above
* `DMSDocumentAddController::add_allowed_extensions` removed, use YAML configuration `DMSDocumentAddController::allowed_extensions` instead
* `DMSInterface` (and `DMS`) are stricter in the `getByPage` method, enforcing a `SiteTree` type hint
* New method `DMSInterface::getDocumentSetsByPage` (and in `DMS`)
* `DMS::$dmsFolder` removed, use YAML configuration `DMS.folder_name` instead
* `DMS::$dmsFolderSize` removed, use YAML configuration `DMS.folder_size` instead
* `DMS::get_dms_path` made non-static, use `DMS::inst()->getStoragePath()` instead
* `DMS::transform_file_to_file_path` made non-static, use `DMS::inst()->transformFileToFilePath()` instead
* `DMS::create_storage_folder` made non-static, use `DMS::inst()->createStorageFolder()` instead
* `DMS::get_storage_folder` made non-static, use `DMS::inst()->getStorageFolder()` instead
* `DMSDocument::addTag`, `::getTagsList`, `::removeTag` and `::removeAllTags` removed from the `DMSDocument` and `DMSDocumentInterface`. Please use the ORM relationship created by applying the `DMSDocumentTaxonomyExtension` extension to `DMSDocument` instead.
* `DMSInterface::getByTag` removed from `DMSInterface` and `DMS`. Use ORM relationships from applying `DMSDocumentTaxonomyExtension` to `DMSDocument` instead.
* `DMSGridFieldDeleteAction` removed
## Template changes
The default template entry point is now `DocumentSets.ss` (previously `Documents.ss`). As well as this change,
`Documents.ss` has been renamed to `DocumentSet.ss`.
## Frontend assets
We've removed the configuration for using Compass to build SCSS. You can now use Webpack instead.
[See here](building-frontend-assets.md) for more information on this.