2012-08-06 16:20:33 +02:00
# Document Management Module (DMS)
2017-05-01 06:44:51 +02:00
[![Build status ](https://travis-ci.org/silverstripe/silverstripe-dms.png?branch=master )](https://travis-ci.org/silverstripe/silverstripe-dms)
2018-06-15 07:34:06 +02:00
[![SilverStripe supported module ](https://img.shields.io/badge/silverstripe-supported-0071C4.svg )](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)
2017-05-01 06:44:51 +02:00
[![Code quality ](https://scrutinizer-ci.com/g/silverstripe/silverstripe-dms/badges/quality-score.png?b=master )](https://scrutinizer-ci.com/g/silverstripe/silverstripe-dms/?branch=master)
[![Code coverage ](https://codecov.io/gh/silverstripe/silverstripe-dms/branch/master/graph/badge.svg )](https://codecov.io/gh/silverstripe/silverstripe-dms)
2017-05-02 02:32:49 +02:00
![Helpful Robot ](https://img.shields.io/badge/helpfulrobot-52-yellow.svg?style=flat )
2013-03-11 01:44:38 +01:00
2012-08-06 16:20:33 +02:00
## Overview
2017-05-02 02:32:49 +02:00
The module adds a new `DMSDocument` model which allows management of large amounts of files, and their relations to
pages. In contrast to the `File` model built into SilverStripe core, it aims to wrap storage and access concerns in
a generic API. This allows more fine-grained control over how the documents are managed and exposed through the website.
2012-10-09 07:01:44 +02:00
2017-05-02 02:32:49 +02:00
Additionally, documents are stored and managed as part of a page instead of away in a separate assets store.
2012-11-20 22:52:15 +01:00
2017-05-02 02:32:49 +02:00
## Features
2012-08-06 16:20:33 +02:00
* Relation of documents to pages
2017-05-02 02:32:49 +02:00
* Relation of documents to other documents
2012-08-06 16:20:33 +02:00
* Management and upload of documents within a page context in the CMS
* Metadata management through the powerful `GridField` and `UploadField` core APIs
* Download via SilverStripe controller (rather than filesystem URLs)
* Access control based on PHP logic, and page relations
* Replacement of existing files
2017-05-16 04:52:21 +02:00
* Tagging via the [taxonomy module ](https://github.com/silverstripe/silverstripe-taxonomy ) if installed
2012-08-06 16:20:33 +02:00
2017-05-02 02:32:49 +02:00
## Documentation
2012-08-06 16:20:33 +02:00
2017-05-02 02:32:49 +02:00
For information on configuring and using this module, please see [the documentation section ](docs/en/index.md ).
2012-08-06 16:20:33 +02:00
2017-05-02 02:32:49 +02:00
## Requirements
2012-08-06 16:20:33 +02:00
* PHP 5.3 with the "fileinfo" module (or alternatively the "whereis" and "file" Unix commands)
2017-05-08 06:24:25 +02:00
* SilverStripe framework/CMS ^3.5
2017-05-17 00:58:51 +02:00
* [Taxonomy ](https://github.com/silverstripe/silverstripe-taxonomy ) ^1.2 (for tagging)
2012-11-20 22:52:15 +01:00
* (optional) [Pagination of Documents in the CMS ](https://github.com/silverstripe-big-o/gridfieldpaginatorwithshowall )
* (optional) [Sorting of Documents in the CMS ](https://github.com/silverstripe-big-o/SortableGridField )
* (optional) [Full text search of Documents ](https://github.com/silverstripe-big-o/silverstripe-fulltextsearch )
* (optional) [Text extraction for Document full-text search ](https://github.com/silverstripe-big-o/silverstripe-textextraction )
2012-08-06 16:20:33 +02:00
2013-07-08 12:53:17 +02:00
## Contributing
### Translations
Translations of the natural language strings are managed through a
third party translation interface, transifex.com.
Newly added strings will be periodically uploaded there for translation,
and any new translations will be merged back to the project source code.
Please use [https://www.transifex.com/projects/p/silverstripe-dms/ ](https://www.transifex.com/projects/p/silverstripe-dms/ ) to contribute translations,
rather than sending pull requests with YAML files.
2016-11-10 00:01:36 +01:00
See the ["i18n" topic ](http://doc.silverstripe.org/framework/en/trunk/topics/i18n ) on doc.silverstripe.org for more details.