[MGNLDAM-389] Cleanup DAM API and split into sub modules Created: 13/Feb/14  Updated: 27/May/14  Resolved: 26/Feb/14

Status: Closed
Project: Magnolia DAM Module
Component/s: None
Affects Version/s: 1.2
Fix Version/s: 2.0

Type: Task Priority: Critical
Reporter: Eric Hechinger Assignee: Daniel Lipp
Resolution: Fixed Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
dependency
depends upon MAGNOLIA-5686 Node2Bean converter for com.google.co... Closed
documentation
to be documented by DOCU-520 Rewrite DAM API documentation Closed
supersession
supersedes MGNLDAM-249 Merge assets-app and dam artifacts in... Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MGNLDAM-376 Perform the initial Dam module split ... Sub-task Closed Eric Hechinger  
MGNLDAM-392 Adapt the dam-jcr implementation to t... Sub-task Closed Daniel Lipp  
MGNLDAM-393 Adapt the dam-templating implementati... Sub-task Closed Eric Hechinger  
MGNLDAM-398 Adapt the dam-app module to new dam API Sub-task Closed Eric Hechinger  
MGNLDAM-403 Use Maven relocation to ease the tran... Sub-task Closed Magnolia International  
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Epic Link: DAM / CMIS
Sprint: 5.3 Sprint 3, 5.3 Sprint 4

 Description   

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


Generated at Mon Feb 12 04:59:21 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.