From 3bc6504d4fe9968879e256be7f2a3040d3da42b6 Mon Sep 17 00:00:00 2001 From: david g Date: Wed, 11 Dec 2024 10:35:52 -0500 Subject: [PATCH 1/2] Adding share tracking --- core/pom.xml | 2 +- .../share/impl/EmailShareServiceImpl.java | 25 ++++++++++++++-- .../modals/share/_cq_dialog/.content.xml | 30 +++++++++++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-) diff --git a/core/pom.xml b/core/pom.xml index 0361b7c0fc..2b579edac2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -153,7 +153,7 @@ com.adobe.aem.commons.assetshare.util.impl - + org.apache.maven.pluginsmaven-compiler-plugin88 diff --git a/core/src/main/java/com/adobe/aem/commons/assetshare/components/actions/share/impl/EmailShareServiceImpl.java b/core/src/main/java/com/adobe/aem/commons/assetshare/components/actions/share/impl/EmailShareServiceImpl.java index 6b9761a25f..21c98b372b 100644 --- a/core/src/main/java/com/adobe/aem/commons/assetshare/components/actions/share/impl/EmailShareServiceImpl.java +++ b/core/src/main/java/com/adobe/aem/commons/assetshare/components/actions/share/impl/EmailShareServiceImpl.java @@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory; import javax.jcr.RepositoryException; -import javax.jcr.Value; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -75,6 +75,8 @@ import java.util.Map; import java.util.Objects; +import org.apache.http.client.utils.URIBuilder; + @Component(service = ShareService.class) @Designate(ocd = EmailShareServiceImpl.Cfg.class) public class EmailShareServiceImpl implements ShareService { @@ -90,6 +92,10 @@ public class EmailShareServiceImpl implements ShareService { private static final String EMAIL_ADDRESSES = "email"; private static final String EMAIL_ASSET_LINK_LIST_HTML = "assetLinksHTML"; + /* Share properties */ + private static final String PN_TRACKING_NAME = "trackingName"; + private static final String PN_TRACKING_VALUE = "trackingValue"; + private transient Cfg cfg; private transient BundleContext bundleContext; @@ -206,7 +212,7 @@ private final String getAssetLinkListHtml(final Config config, final String[] as // Unescape the URL since externalizer also escapes, resulting in a breaking, double-escaped URLs // This is required since assetDetailsResolver.getFullUrl(config, asset) performs its own escaping. - url = Text.unescape(url); + url = Text.unescape(url); if (RequireAem.ServiceType.AUTHOR.equals(requireAem.getServiceType())) { url = externalizer.authorLink(config.getResourceResolver(), url); @@ -214,6 +220,21 @@ private final String getAssetLinkListHtml(final Config config, final String[] as url = externalizer.externalLink(config.getResourceResolver(), cfg.externalizerDomain(), url); } + String trackingName = config.getProperties().get(PN_TRACKING_NAME, String.class); + String trackingValue = config.getProperties().get(PN_TRACKING_VALUE, String.class); + + try { + if (!StringUtils.isAnyBlank(trackingName, trackingValue)) { + URIBuilder uriBuilder = new URIBuilder(url); + uriBuilder.setParameter(trackingName, trackingValue); + url = uriBuilder.build().toString(); + } + } catch (URISyntaxException e) { + if (log.isWarnEnabled()) { + log.warn("Unable to part [ {} ] to a valid URL for use in a share e-mail.", url); + } + } + sb.append("
  • "); diff --git a/ui.apps/src/main/content/jcr_root/apps/asset-share-commons/components/modals/share/_cq_dialog/.content.xml b/ui.apps/src/main/content/jcr_root/apps/asset-share-commons/components/modals/share/_cq_dialog/.content.xml index 6f367f3e73..392be332f8 100644 --- a/ui.apps/src/main/content/jcr_root/apps/asset-share-commons/components/modals/share/_cq_dialog/.content.xml +++ b/ui.apps/src/main/content/jcr_root/apps/asset-share-commons/components/modals/share/_cq_dialog/.content.xml @@ -251,6 +251,36 @@ + + + + + + + + + + From aa7c917576b30b26fd318c3298d3dfd4f55a470f Mon Sep 17 00:00:00 2001 From: "david g." Date: Fri, 24 Jan 2025 11:01:58 -0500 Subject: [PATCH 2/2] Update core/pom.xml --- core/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/pom.xml b/core/pom.xml index 2b579edac2..0361b7c0fc 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -153,7 +153,7 @@ com.adobe.aem.commons.assetshare.util.impl - org.apache.maven.pluginsmaven-compiler-plugin88 +