since ‎02-10-2017
Online
vijis31358935
Level 5
Unit Testing in AEM - Hands On vijis31358935 - Adobe Experience Manager
Abstract:Creating Test Java Class as part of AEM application involvesCreating JUnit Test case from our IDECreating AemContext (from io.wcm.testing.mock.aem.junit5.*)Implement setUp/@BeforeEach method for creating test fixtureImplement methods to be testedThis post illustrate the above steps in detail and few sample snippets/test statements.Blog Content :https://myaemlearnings.blogspot.com/2020/07/unit-testing-in-aem-hands-on.html
12
Views
0
Likes
0
Replies
Re: Change password is not working vijis31358935 - Adobe Experience Manager
Hi @Niveshchandra,Can you enable PasswordChangeAction in Authorizable Actions field of Apache Jackrabbit Oak AuthorizableActionProvider and try once.
3
Views
0
Likes
0
Replies
Re: Change password is not working vijis31358935 - Adobe Experience Manager
Hi @Niveshchandra,Could you please share the below two configurations from the instance you are trying to narrow down the issueApache Jackrabbit Oak AuthorizableActionProviderApache Jacrabbit Oak UserConfigurationAlso, Can you observe the network behavior from the browser when you click on "Ok" from the dialog above and share us.Have tried this is in my local where Maximum password age -> 1 (for quick testing). On click of "Ok" -> temporary redirect (302) to index.html -> then to aem/start.html ...
21
Views
1
Like
2
Replies
Re: AEM 6.5.5.0 - Manage Publication wizard shows workflo... vijis31358935 - Adobe Experience Manager
Hi @asutoshj7327906,Could you please share the Options and Scope that you chose in the process of replicating via "Manage Publication" option.In general, If we schedule "Later", Workflow step/wizard gets added dynamically next to "Scope"
44
Views
1
Like
1
Answers
Re: Editable Template Is taking Current Design as /etc/de... vijis31358935 - Adobe Experience Manager
Hi @rohanr43729387,Policies set for a component can be accessed programmatically using ContentPolicyManager/ContentPolicy API.In this case, it is the policy of the page component. We can use one of the below two waysUsing direct policy path from /conf (direct policy path of the page component) Resource policyPath = rescResolver.getResource("/conf/we-retail/settings/wcm/policies/we-retail/components/structure/page/policy_content_page"); ContentPolicy cntPolicyFromResc = policyPath.adaptTo(Content...
80
Views
1
Like
1
Answers
Re: Editable Template Clientlibs vijis31358935 - Adobe Experience Manager
Hi @Sh1ju,You can have custom files while still making use of core page component. In older version of AEM, it was a practice to inherit from foundation components. Now with latest version it is recommended to inherit from Core components though we have customization to it.I suggest you to go through the structure of core v2 page component files (how is it organized) and overwrite the one necessary to have your custom files included in the respective files. Per the lines from below link(Section ...
88
Views
0
Likes
0
Comments
Re: Editable Template Clientlibs vijis31358935 - Adobe Experience Manager
Hi @Sh1ju,Guess you have marked answer correct by mistake.Could you please explain if there is any specific reason for not making use of it (core v2 or from wcm). On a high level, could guess should be quite a lot of files associated to it without making use of any of the two. However while check in parallel from my end while you reply.
151
Views
0
Likes
0
Comments
Re: Editable Template Clientlibs vijis31358935 - Adobe Experience Manager
Hi @Sh1ju,Could you please explain about the custom page component that you are referring to.Is it completely created from scratch without inheriting from Core V2 or from wcm/foundation/components
202
Views
1
Like
4
Answers
Re: Change password is not working vijis31358935 - Adobe Experience Manager
Hi @Niveshchandra,Given that you are getting success message and no errors in log file, Could you please close all working browser window and try to login to the instance(with updated password) in Incognito.Ignore if you have already tried it.
481
Views
0
Likes
0
Replies
Re: Unit Testing in AEM - Introduction vijis31358935 - Adobe Experience Manager
Thanks Kautuk
204
Views
1
Like
0
Replies
Re: Change password is not working vijis31358935 - Adobe Experience Manager
Hi @Niveshchandra,Could you please elaborate on the change password functionality.Is it a custom component that you have developed?If yes, backend mechanism for handling the same.
502
Views
1
Like
2
Replies
Re: Component used in multiple places. vijis31358935 - Adobe Experience Manager
Hi @hari_krishnac22,Use the below query builder predicate as a reference to list all the paths where the component is used.path=/content/we-retail type=nt:unstructured //we can't use cq:Page type directly. Component under content path resides in this type (hierarchy of component differs from page to page based on where we have authored)1_property=sling:resourceType1_property.value=weretail/components/content/textp.limit=-1
134
Views
1
Like
0
Answers
Unit Testing in AEM - Introduction vijis31358935 - Adobe Experience Manager
Abstract:Java class that we write as part of AEM involves Sling API/JCR API/AEM related APIs and it all ultimately targets the content on our repository. In other words, the logic revolves around the content which in AEM context, is a Resource/Node and its related properties (may it be a Sling model/WCMUsePojo/Sling Servlets/OSGI component/any related for that matter) This post starts with Quick recap of JUnit frameworkMockingMock APIs available related to AEM.Need to mock resource definitionsBl...
375
Views
2
Likes
2
Replies
Re: Service factory returned null. (org.apache.sling.reso... vijis31358935 - Adobe Experience Manager
Hi @ankura42614959,Could you please provide inputs on the belowInputs on instance - Version and is it an upgraded instance. High level inputs on code base build/deployment processWas there any manual update to this config in that publish instance recently/ check if both publish has same config values for this config - http://localhost:4502/system/console/configMgr/org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl
112
Views
1
Like
0
Answers
Re: Apache Tika config in Lucene Index and Query Flow Summary vijis31358935 - Adobe Experience Manager
Thanks Kautuk
328
Views
0
Likes
0
Replies
Re: Open AEM Inbox as a dialog using "Dialog Participant... vijis31358935 - Adobe Experience Manager
Hi @riteshpatil,Please note there might be means to get the list of outstanding action items for a specific user (as it lists in User Inbox). But having them displayed in Dialog of Dialog Participating Step and hence take desired action of each of the action items from being there is not applicable/deviating from the purpose of workflow(sequence of steps pertaining to specific Payload).When a specific user makes an attempt to complete/reject the Dialog participant step from his/her inbox, it wil...
149
Views
0
Likes
0
Comments
Apache Tika config in Lucene Index and Query Flow Summary vijis31358935 - Adobe Experience Manager
Abstract:Apache Tika is used to detect and extract the text from varying file formats. It uses Detector and Parser for the same, as with the name, former is used to detect the content Type of the file and latter is used to parse the text content. Oak uses default Tika config. (XML file defining the Detector and Parser used).This post illustrates The default config and one simple use case to showcase the need for custom config.High level summary of the flow for Query based functionalities.Blog co...
535
Views
1
Like
2
Replies
Re: Open AEM Inbox as a dialog using "Dialog Participant... vijis31358935 - Adobe Experience Manager
Hi @riteshpatil,Could you please elaborate on what action you are expecting on Dialog Participant step (with dialog having multifield) and in general brief functionality expected out of that workflow model on the whole.
203
Views
1
Like
2
Answers
Re: Sling Filter Restring scope to resources vijis31358935 - Adobe Experience Manager
Hi @karthikb1706130,Looks like the resource type to be mentioned in sling.filter.resourceTypes is jcr:primaryType of the resource and not sling:resourceTypeFor your case, if the pages created using myDetailsPage is created/resides under one hierarchy, then we can restrict the filter using sling.filter.pattern property.Sample below will apply the filter to pages under /content/learningsdam:Asset type will not take effect given the pattern. Have just added to showcase the multiple resource types (...
281
Views
1
Like
0
Answers
Re: How to add pages/assets to a running workflow ? vijis31358935 - Adobe Experience Manager
Hi @nandini559,Dialog that we are associating to a step in Workflow is specific to that step and is included in the Work Item via Dialog Injection.We cannot retain the values on any further step having the same dialog.Given this, review cannot be done on the list of resources as such. (as there is no means for the next step/participant to know the list of resources selected for activation) That's why I have suggested to have review step + activation process in separate workflow model. In which c...
326
Views
0
Likes
0
Comments
Re: How to add pages/assets to a running workflow ? vijis31358935 - Adobe Experience Manager
Hi @nandini559,Below response is with respect to the requirement listed + validation required on the resources to be activated + possibilities with OOB Workflow set up.For the query "attach pages to the running workflow" - This is not possible. This is because, the flow starts by triggering workflow on an Asset-> word or pdf document, which remains as Payload through out the Workflow and it is not possible to directly amend the Payload. (for our publish process step to act upon in the same workf...
408
Views
2
Likes
3
Answers
Lucene Index in AEM - Part 3 (Use of Analyzers in Lucene Full text Index) vijis31358935 - Adobe Experience Manager
Abstract:Analyzers as with the name is used to analyze the text both at the time of indexing and at the time of searching (via query execution). It is composed of Tokenizers and Filters with former used to create lexical units called tokens from the field data and latter is used to amend/discard/create new by examining the created tokens.In Lucene Full Text Index, we have option to specify the Analyzer class directly or by composition (Tokenizer + Filter combination).Full text search scenario li...
1838
Views
2
Likes
1
Replies
Re: 'touchUiDialogPath' property invalid or missing on /e... vijis31358935 - Adobe Experience Manager
Hi @chintan97,For the original/initial issue in displaying dialog fields in the Dynamic Participant step (as evident with error message) will be resolved by adding that property - touchUiDialogPath on component node irrespective of the service pack. (You can cross verify by removing the property and triggering the WF again)Now as part of the issue with Datepicker field - This got resolved with help of Service pack - 6.5.2 per your note, Thanks for updating. Note : I had textfield, tagspicker and...
1469
Views
0
Likes
0
Comments
Re: 'touchUiDialogPath' property invalid or missing on /e... vijis31358935 - Adobe Experience Manager
Hi @chintan97, Thanks for the confirmation. "name" property of the value is to be mentioned without (./) and this will be saved in workItem's metaData node.(under /var/workflow/instances -> history/respective step node/workItem/metaData) Think Datepicker is not working within Dialog Injection - selecting any date within the picker closes the entire dialog fields added. So far there is no error as evident from console logs. However will continue to debug and will respond once I have an update. Al...
1515
Views
0
Likes
0
Comments
Re: 'touchUiDialogPath' property invalid or missing on /e... vijis31358935 - Adobe Experience Manager
Hi @chintan97,I tried this in my local and could reproduce the issue.As the error message implies, i added a property named "touchUiDialogPath" with value being path to the dialog on the component node and it worked fine. Below is the findings in the process of debugging:Pathfield in Dialog Participant Step component lets us choose till cq:dialog node(or the path it lists is to the utmost depth of the node) -> We are able to choose the exact cq:dialog node and displays fine as we execute the wor...
1553
Views
0
Likes
0
Comments
Re: 'touchUiDialogPath' property invalid or missing on /e... vijis31358935 - Adobe Experience Manager
Hi @chintan97,Can you elaborate on this point - "However, to note the dialog box is shown in next dynamic participant step instead of the one in which I have mentioned the dialog path."You mean the dialog shows up fine without this error in next dynamic participant step? Regarding the dialog structure, dialog node and its properties seems to be fine. Can you cross check if DateTimepicker node (parent of cq:dialog) is of type cq:ComponentAnd check if all the dialog field resource types are of typ...
1582
Views
0
Likes
0
Comments
Re: 'touchUiDialogPath' property invalid or missing on /e... vijis31358935 - Adobe Experience Manager
Hi @chintan97,We should locate the cq:dialog node to the dialog path property. In this case, add "/etc/workflow/dialogs/DateTimePicker/cq:dialog" which should help solve the issue. Regarding other related queries,In order to have a segregation of code from OOB paths (/libs, /etc) , we can create within /appsSomething like "/apps/your project/workflow/dialogs/any meaningful name/cq:dialog"OOB Datepicker:OOB datepicker resource (/libs/granite/ui/components/coral/foundation/form/datepicker) holds t...
1854
Views
2
Likes
8
Answers
Re: AEM Workflow - Unable to Save an Array to WorkItem me... vijis31358935 - Adobe Experience Manager
Hi @pankaj49319, No problem. Thanks for the confirmation. Yes all three MetadataMap is the same interface and it is not that WorkItem MetaData can't accept String[] values (I also happen to try saving dialog values to WorkItem - select dialog with multiple option). Just that setting it via process step is not happening. (Should be behind the scene logic of the way history is getting created and hence the WorkItem/metadata under that) Given the already existing implementation/concern on retrieval...
1822
Views
0
Likes
0
Comments
Re: AEM Workflow - Unable to Save an Array to WorkItem me... vijis31358935 - Adobe Experience Manager
Hi @pankaj49319, In the process of debugging, apart from the concern on saving array values, could notice that WorkItem's MetaDataMap set in the custom workflow process accepts only String and Boolean when set using workItem.getMetaDataMap().put(key, value);This conclusion is when I tried to save data types like "Date" and "Double", it gets saved as String in the history. While the same in WorkflowData's MetaDataMap and Workflow's MetaDataMap, it is saved in its respective data type. (You can gi...
1882
Views
0
Likes
0
Comments
Thanks and vijis31358935 - Adobe Experience Manager
Thanks @kautuk_sahni and @Andrew_Khoury  
3107
Views
1
Like
0
Replies
Likes given to