since ‎23-05-2013
‎20-11-2020
Bruce_Lefebvre
Employee
Re: Experience Fragment issue in Dispatcher
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Hello, The exact behaviour of the dispatcher in this situation will depend on your configuration:Is the dispatcher configured to use TTLs (via the `/enableTTL` setting)?Or, is it using .stat file based invalidation with a dispatcher flush agent?In case #1 above, the time-to-live on the content in question (often set with the ACS AEM Commons Dispatcher TTL feature) will need to expire before the page will be "refetched" from the publish tier. In case #2, .stat files will be "touched" in the cache...

Views

206

Like

1

Replies

0
Re: How does the dispatcher flush do invalidation rather...
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Yes, this feature still uses the standard flush agent URI (http://host:port/dispatcher/invalidate.cache), but changes the HTTP method to POST and uses the custom serialization type which is implemented in this example code (and intended to be customized for your own use case): https://github.com/cqsupport/webinar-dispatchercache/blob/master/src/refetching-flush-agent/refetch-bundle/src/main/java/com/day/cq/replication/dispatcher/DispatcherFlushContentBuilder.java

Views

138

Likes

0

Replies

0
Re: How does the dispatcher flush do invalidation rather...
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Hi @James_Appleby, Are you familiar with the concept of a Re-fetching Flush? The "Optimizing the Dispatcher cache" doc has details on this approach: https://helpx.adobe.com/ca/experience-manager/kb/optimizing-the-dispatcher-cache.html#refetching-flush We've written a few lab-format dispatcher experiments to raise awareness about some of the dispatcher's features, and the first one is on the "Effect of Re-fetching Dispatcher Flush": https://github.com/adobe/aem-dispatcher-experiments#experiments ...

Views

165

Likes

2

Replies

2
Re: "mailto:" and "tel:" links do not work in InAppBrowser (Android only)
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
OK, after a bit of digging I've got a workaround that supports both iOS and Android. This is the body of my .article HTML page: Open page with a mailto: function openLinkInBrowser(url) { if (navigator && navigator.app && navigator.app.loadUrl) { navigator.app.loadUrl(url, { openExternal:true }); } else { window.open(url, '_system'); } } ... the navigator.app.loadUrl(..) call was the key missing piece. Answer was found on this SO thread: html5 - phonegap open link in browser - Stack Overflow Let me know if this works for you.

Views

3.4K

Like

1

Replies

0
Re: "mailto:" and "tel:" links do not work in InAppBrowser (Android only)
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Thanks for the update. I am able to reproduce this issue now, by opening a page with a mailto: link in the inappbrowser. Will file an issue and let the team know. As a temporary workaround, can you use the device browser to open this page?

Views

3.4K

Like

1

Replies

0
Re: "mailto:" and "tel:" links do not work in InAppBrowser (Android only)
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
My code is similar, but I have a script include for cordova.js at the end of the page's :Can you try again with this script added? Also, please make sure you have "extensibility features" enabled for this article.

Views

3.4K

Like

1

Replies

0
Re: "mailto:" and "tel:" links do not work in InAppBrowser (Android only)
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
I tried this out on a couple of Android devices (old and new hardware) and was able to get your "Mail Link 1" working in an article viewed from the AEM Preflight app, with the following Content Security Policy set:When the "Mail Link 1" link is tapped, the Gmail app opens as expected. On another device where two mail clients were found, a shade was opened allowing the user to select which mail app to use.Are you experiencing this issue using the Preflight app, or taking another approach?

Views

3.4K

Like

1

Replies

0
Re: "mailto:" and "tel:" links do not work in InAppBrowser (Android only)
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Can you share the HTML code of your links?Digging around, it looks like folks have had success with the following style:Send us mail

Views

3.4K

Like

1

Replies

0
Re: Use pdf.js: Cross domain access error
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hi David,I've seen this library work in other applications so I believe that this is due to a known issue [1] with using the WKWebViewEngine in iOS.Can you try creating a new app with the WKWebView plugin disabled?[1] [CB-10143] Local file:// url XmlHttpRequests are not allowed in WKWebViewEngine - ASF JIRA

Views

1.3K

Like

1

Replies

0
Re: Load local file error
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
The reason I ask is that there is a known issue which prevents local XHRs when using the WKWebView plugin: [CB-10143] Local file:// url XmlHttpRequests are not allowed in WKWebViewEngine - ASF JIRA

Views

1.0K

Like

1

Replies

0
Re: Load local file error
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hi David,Have you enabled the WKWebView plugin for your app? If so, can you try creating a new app with this plugin disabled?

Views

960

Like

1

Replies

0
Re: Load local file error
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hi David,I've put together a simple example that shows how you can read JSON data from a local file:GitHub - blefebvre/aemm-read-local-file: Example article that shows how you can read a local file on device The file being read can be found here: aemm-read-local-file/data.json at master · blefebvre/aemm-read-local-file · GitHub And the code which is reading it using an XHR is here: aemm-read-local-file/index.js at master · blefebvre/aemm-read-local-file · GitHub When you run the app via either t...

Views

961

Like

1

Replies

0
Re: Best way to POST a form from IOS ContentSync app to AEM Servlet
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Hi Ameesh,Setting the referrer header in your JS code would be a security issue, so it is not permitted by the browser (or in this case, Cordova container).You can bypass the Referrer Filter by overriding your app's user agent with a value that does not contain "Mozilla" or "Opera", in effect indicating that these requests are not coming from a browser. Place the following line in your app's config.xml, replacing "Custom User Agent String" with the value you would like to use:To see the exact ch...

Views

365

Likes

0

Replies

0
Re: Mobile Apps - Component referred using reference component - JSON not set in scope
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hi Sandeep,The best recommendation I can offer at this point is to create an extension of the /libs/foundation/components/reference component that includes the cq:template node specifying frameworkType: angular, and supports proxying angular.json and controller.js requests to the "referenced" resource. I hacked together an example component to prove this out:Mobile reference component example · GitHub Hope this helps,Bruce

Views

515

Likes

0

Replies

0
Re: Mobile Apps - Component referred using reference component - JSON not set in scope
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Thanks for the details. I'm working on reproducing it locally and will get back to you with my recommendation.

Views

516

Likes

0

Replies

0
Re: Mobile Apps - Component referred using reference component - JSON not set in scope
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hi Sandeep,Can you clarify what you mean by this? Providing a piece of sample code to reproduce the issue would be very helpful.

Views

517

Likes

0

Replies

0
Re: Whats is Archetype Command for Mobile App?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager Mobile
Hello,We do not provide a maven archetype specifically for bootstrapping mobile app projects, but do have a 'starter kit' project on GitHub that you can use for this purpose: GitHub - Adobe-Marketing-Cloud-Apps/aem-phonegap-starter-kit: Bootstrap your AEM Apps projectBruce

Views

759

Likes

0

Replies

0
Re: Page Specific Styles
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
The method you've used in other systems will work fine in AEM, too. Simply expose a property via your template's page properties cq:dialog (`./pageClass` for example), and output the value of that property into the class attribute of your template's HTML element. In JSP:">or Sightly:You can now define your page specific styles as follows (for example, to style paragraphs when pageClass is set to 'homePage'):.homePage p { margin: 0 1em; }A general discussion on the topic can be found here [0].[0]...

Views

456

Likes

0

Replies

0
Re: Modifying Page dialog in 6.1
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
You can get rid of the unwanted inherited tabs by including the following property on the `items` node that is a parent of the tabs:sling:hideChildren="[permissions,cloudservices,thumbnail]"

Views

421

Likes

0

Replies

0
Re: How to let the dispatcher not cache certain component?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
SSI includes are a feature of the web server, so you will need a dispatcher in front of your instance in order to use them (see answer at [0]). [0] also contains a suggestion to query WCMMode from within your JSP and use a

Views

858

Like

1

Replies

0
Re: How to let the dispatcher not cache certain component?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Try hitting your component without the 'dynamic' selector (for example, http://localhost:4505/content/myapp/mypage/_jcr_content/rightPar/dynamicComponent.html). The contents of dynamicComponent.jsp (including 'render this') will not be included in the response when the selector matches another script.I would also suggest renaming dynamicComponent.dynamic.jsp to simply dynamic.jsp.

Views

786

Likes

0

Replies

0
Re: How do I get the value of a property given an absolute path?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
I hacked up a little example using the excellent AEM Fiddle (part of ACS AEM Tools [0]):<%@include file="/libs/foundation/global.jsp"%><% %><%@page session="false" contentType="text/html; charset=utf-8" pageEncoding="UTF-8" import="org.apache.sling.api.resource.Resource, org.apache.sling.api.resource.ValueMap"%><% // Get the text resource Resource textResource = resourceResolver.getResource("/content/userblog/2015/06/blog_post/jcr:content/par/entry"); // Get it's properties ValueMap textResource...

Views

981

Like

1

Replies

0
Re: Getting the hostname using Sightly
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Yes, it's possible. Check out the Externalizer service [0] for access to the hostname, and the Sightly Use-API [1] for exposing that value to your Sightly scripts.[0] https://docs.adobe.com/docs/en/aem/6-1/develop/platform/externalizer.html[1] http://docs.adobe.com/docs/en/aem/6-1/develop/sightly/use-api-in-java.html

Views

881

Likes

0

Replies

0
Re: About ComponentGroup field
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
A componentGroup property set to '.hidden' means the component will be hidden from the side panel Components tab (touch-optimized UI) and the Sidekick (classic UI). Hidden components can be used by developers as the sling:resourceType of a template, or included directly in a component's script via cq:include (JSP) [0] or data-sly-resource (Sightly) [1].[0] https://docs.adobe.com/docs/en/cq/5-6-1/developing/components.html#[1] http://docs.adobe.com/content/docs/en/aem/6-0/develop/sightly.html#res...

Views

976

Likes

0

Replies

0
Re: AEM phonegap app with form
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Looks like you may be missing the Karma test runner. You can specify the `skipTests` flag to skip tests altogether (see building section in README [0]):mvn -PautoInstallPackage clean install -DskipTests[0] https://github.com/blefebvre/aem-phonegap-kitchen-sink#building

Views

492

Likes

0

Replies

0
Re: AEM phonegap app with form
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Can you try running it from the parent directory (aem-phonegap-kitchen-sink-master/ in your case)? This should enable the reactor and bundle to be built and installed to your local maven repository prior to building content/.

Views

407

Likes

0

Replies

0
Re: AEM phonegap app with form
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
Hi,Which directory are you running the `mvn` command from? Maven appears to be trying to download artifacts from the Adobe repository, which it will not find since they have not been released.

Views

393

Likes

0

Replies

0
Re: How do you localize an AEM PhoneGap App?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
I've added a 2nd locale to the kitchen-sink sample app. Check out the pull request to see what was included in the change [0].Additionally, take a look at content-package-switcher.js to see how it was implemented [1].Bruce[0] https://github.com/blefebvre/aem-phonegap-kitchen-sink/pull/39[1] https://github.com/blefebvre/aem-phonegap-kitchen-sink/blob/master/content/src/main/content/jcr_root/etc/clientlibs/brucelefebvre/utility/content-package-switcher.js

Views

346

Like

1

Replies

0
Re: how to apply permission on design mode of sidekick in CQ5?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
To hide the design button simply "deny" (uncheck) the modify permission for the particular user or group.

Views

570

Likes

0

Replies

0
Re: how to apply permission on design mode of sidekick in CQ5?
Avatar

Bruce_Lefebvre

Employee

Bruce_Lefebvre
- Adobe Experience Manager
To enable the design button, grant the user (or group) "Modify" permission to /etc/designs/. This can be done as an administrator via the useradmin [0].[0] http://localhost:4502/useradmin

Views

585

Like

1

Replies

0