Frontify / frontify-aem-connector

Frontify Adobe Experience Manager
MIT License
4 stars 4 forks source link

Frontify AEM Connector

Maven Central

Purpose

The Frontify AEM Connector allows to deliver meaningful experiences with digital assets originating from Frontify DAM in Adobe Experience Manager (AEM). The content author searches Frontify image assets directly from AEM pages. Integrated assets are delivered as part of AEM pages and are linked to the Frontify CDN.

Connector Parts

The Frontify AEM Connector delivers the following parts:

Pre-Requisites

For the Frontify AEM Connector to properly work, the following pre-requisites are required

  1. Adobe Experience Manager 6.5 with installed ServicePack 14 or above. Use latest version https://search.maven.org/remotecontent?filepath=io/github/frontify/frontify-aem-connector.all
  2. AEM Connector to be installed on AEM
  3. Valid Frontify DAM account

The Frontify AEM Connector is tested in the following web browsers for content authoring in Adobe AEM:

AEM Modules

The main parts of the project are:

How to build

To build all the modules run in the project root directory the following command with Maven 3:

mvn clean install

If you have a running AEM instance you can build and package the whole project and deploy into AEM with

mvn clean install -PautoInstallPackage

Or to deploy it to a publish instance, run

mvn clean install -PautoInstallPackagePublish

Or alternatively

mvn clean install -PautoInstallPackage -Daem.port=4503

Or to deploy only the bundle to the author, run

mvn clean install -PautoInstallBundle

ClientLibs

The frontend module is made available using an AEM ClientLib. When executing the NPM build script, the app is built and the aem-clientlib-generator package takes the resulting build output and transforms it into such a ClientLib.

A ClientLib will consist of the following files and directories:

Image in Multifield support

Instruction on how enable drag and drop images from Frontify image panel to a multified dialog:

In your custom component dialog use the resource type frontify-aem-connector/components/fileupload

Example:

                                            <images
                                            jcr:primaryType="nt:unstructured"
                                            sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
                                            composite="{Boolean}true"
                                            deleteHint="{Boolean}false">
                                            <field
                                                jcr:primaryType="nt:unstructured"
                                                sling:resourceType="granite/ui/components/coral/foundation/container"
                                                name="./images">
                                                <items jcr:primaryType="nt:unstructured">
                                                    <file
                                                        jcr:primaryType="nt:unstructured"
                                                        sling:resourceType="frontify-aem-connector/components/fileupload"
                                                        allowUpload="false"
                                                        autoStart="{Boolean}false"
                                                        class="cq-droptarget"
                                                        fileNameParameter="./fileName"
                                                        fileReferenceParameter="./fileReference"
                                                        multiple="{Boolean}false"
                                                        name="./file"
                                                        title="Upload Image Asset"
                                                        uploadUrl="${suffix.path}"
                                                        useHTML5="{Boolean}true"/>
                                                </items>
                                            </field>
                                        </images>

The properties will be automatically fetch from Frontify:

Note: It also supports the standard image from AEM.