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

2.9 KiB

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 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 for more information on this.