Uploaded image for project: 'Magnolia DAM Module'
  1. Magnolia DAM Module
  2. MGNLDAM-389

Cleanup DAM API and split into sub modules

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Critical Critical
    • 2.0
    • 1.2
    • None
    • None
    • 5.3 Sprint 3, 5.3 Sprint 4

      The current API(s) of the DAM module are not satisfying. One the one hand, a lot of work went into "trying to keep things open so we can expand later on", and the other, contradicting work tied the implementations with JCR too much. It's time to untangle it and clean it up. We need to be able to easily support external assets.

      With MGNLDAM-249, we merged the then-split dam modules. It uses to be "dam module" and "dam app". The split ended up being almost virtual, with classes added to one or the other only to avoid cyclic dependencies, rather than properly splitting concerns.

      We'll now be re-splitting them in a more granular fashion, which should also help supporting external assets and untangling some of the unwanted cyclic dependencies and complexity in the code. Here's the original proposal:

      dam-api
      dam-jcr (provides a JCR-based AssetProvider, essentially implementing dam-api)
      dam-app (the app and choose dialog to navigate assets)
      dam-templating (components specific to templating with dam assets)

      Additionally, we'll have

      dam-core (glue that ties and provides an assetprovider registry, the download servlet, linking, ...)
      dam-bundle (zip/tgz)
      optionally a dam-compatibility module that helps migrating the changed APIs

      Main Concept page :
      http://wiki.magnolia-cms.com/display/DEV/DAM+Module+App

        Acceptance criteria

              dlipp Daniel Lipp
              ehechinger Eric Hechinger
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Task DoR