The file location is set via the DMS.folder_name
configuation property, and points to a location in the webroot. By
default, this resides in an underscores folder within the assets folder. This means that automated snapshots/backups
(e.g. using sspak) can still handle DMS documents, but they will not show up
when navigating asset folders in the CMS.
You can change the default storage folder location using YAML configuration. This folder would be relative to your project root directory:
DMS:
folder_name: my-custom-folder
If you don't need documents/document sets for a specific page type you can disable this with YAML configuration:
MyPageType:
documents_enabled: false
Likewise, you could override a previously set configuration value by setting this back to true
in a configuration
file with a higher precedence.
By default the allowed extensions for DMS documents will come from the UploadField's allowed extesions list, and will
have a customised list of extensions for DMS merged in. The base allowed_extensions
is a site-wide configuration
setting. See here for information on changing this.
To add extra allowed file extensions purely for DMS documents, you can update the YAML configuration property:
DMSDocumentAddController:
allowed_extensions:
- php
- php5
Query builder fields are read from the DMSDocument::searchable_fields property set in querybuilder.yml. Some default fields are provided and can be customised by modifying the field and/or filter properties of a field or adding a new field entirely.
See here for information on how to modify search filters and see here for more information on the field types available.
The default searchable filters available to query builder is as follows:
DMSDocument:
searchable_fields:
Title:
title: "Document title matches ..."
Description:
title: "Document summary matches ..."
CreatedByID:
title: 'Document created by ...'
field: 'ListboxField'
filter: 'ExactMatchFilter'
LastEditedByID:
title: 'Document last changed by ...'
field: 'ListboxField'
filter: 'ExactMatchFilter'
Filename:
title: 'File name'
If you need to change the dms_document_link
shortcode handler for some reason, you can do so with YAML configuration
and some PHP:
DMS:
shortcode_handler_key: your_shortcode
And for example in _config.php
:
ShortcodeParser::get('default')->register(
Config::inst()->get('DMS', 'shortcode_handler_key'),
array('DMSShortcodeHandler', 'handle')
);