Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed future for module (SS4.x and beyond) #209

Open
chillu opened this issue May 3, 2018 · 7 comments
Open

Proposed future for module (SS4.x and beyond) #209

chillu opened this issue May 3, 2018 · 7 comments

Comments

@chillu
Copy link
Member

chillu commented May 3, 2018

This module has been a stop-gap solution for SS 3.x while we improved the core asset (and document) management capabilities in SS 4.x. We now have a lot more capabilities built-in there, which begs the question what happens with this module. Here's some starters for a discussion.

Built-in to SS 4.x (and CWP 2.x):

  • Document versions, drafts and publishing of files
  • Secure file drafts and permission management (viewer/editor groups)
  • Embargo/expiry through pages (cascading publish)
  • Full text search of documents (optional, through silverstripe/fulltextsearch - part of CWP recipe)
  • Text extraction for documents (optional, through silverstripe/textextraction - part of CWP recipe)

Worth retaining as module features:

  • Relate documents to pages (on a page-level)
  • Relate documents to other documents (make opt-in)
  • Embargo/Expiry on individual files (through separate module?)
  • Tag documents through taxonomy
  • Query builder for CMS authors (e.g. "all documents tagged with X")
  • Document sets (required for query builder)
  • Manual sorting of documents
  • Shortcode to insert list into rich-text content

Worth adding as module features:

  • Relate documents to pages (through a content block)
  • Subsites compatibility?
  • Find assets by tags (should be a taxonomy module addition to SS 4.x)
  • Staticpublisher compatibility
  • Simplification of document sets - overkill for most use cases
  • Use advanced "select files" dialog for adding files (rather than GridField search)

Suggest to remove:

  • Document model abstraction (before: Document has File, after: File can be a document)
  • Custom "secure files" implementation
  • View counter (not feasible for published and cached files)
  • Control download behaviour (open vs. download)
  • DMS Cart to order hard copies of documents. To my knowledge, this feature has not proven itself useful beyond a single use case so far.
  • Custom CMS UIs (e.g. file selection)

Notes:

  • Integration with third party DMS such as Cumulus or Sharepoint is out of scope. The SS 4.x asset abstraction gets us closer to this goal, but would likely require multiple "mount point" support in core to enable this use case. Most sites won't want to run every image upload through a DMS, but rather manage documents separate from their assets folder (discussion). Any advances in this area should not conflict with further development on this module (which I think is achievable).
  • Embargo/Expiry is baked into this module, but shouldn't be. The feature is also currently part of advancedworkflow, a supported module in the CWP recipe. It can not easily be applied to files in this form. A subset of the functionality has been extracted as silverstripe-terraformers/embargo-expiry, which could form the basis for a new CWP supported module. This would require fully extracting the functionality from advancedworkflow. See discussion
  • In order to allow tagging on files, we'll need a React "tag field" UI component which works in AssetAdmin
  • There's a parallel approach to the DMS module for SS 3.x, which is just as obsolete: http://addons.silverstripe.org/add-ons/deviateltd/silverstripe-advancedassets
  • If we retain this as a supported module and change from a Document to File model, we'll need to provide a database migration path. It would also mean non-trivial migration for anyone who implemented custom Document implementations, although I doubt anyone has done that.
@wilr
Copy link
Member

wilr commented Feb 18, 2019

@chillu Has there been any update to this internally or a plan around resourcing?

@chillu
Copy link
Member Author

chillu commented Feb 18, 2019

There are no plans to make this a supported module for SilverStripe 4.x at the moment, but we're happy to provide feedback on community-driven pull requests for 4.x compatibility :)

@sunnysideup
Copy link

We are having a look at this now.

@sunnysideup
Copy link

We have upgraded the module to SS4 (using an AUTOMATED upgrader ONLY): https://github.com/sunnysideup/silverstripe-dms so that we can cherry pick from it if needed.

@NightJar
Copy link
Contributor

That's great @sunnysideup - have you been able to fully feature test it?

@sunnysideup
Copy link

@NightJar - definitely NOT. We just did an automated upgrade only!

@Firesphere
Copy link

Is there any progress on this? It's widely requested to be ported, it's blocking multiple agencies from upgrading :'(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants