since ‎29-09-2013
‎20-11-2020
Runal_Trivedi
MVP
Re: 301 redirect vs reverse proxy which is better for SEO
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
In general, you would use a reverse proxy if you had content on a remote server and the easiest way to make user feel as if content is coming from one single server is using reverse proxy. I don't see that's the case here, also reverse proxy eats up more network bandwidth as compared to 301 redirects.Also In your case eventually you will need search engines to crawl up and index https. Serving a 301 indicates to both browsers and search engine bots that the page has moved permanently. Search eng...

Views

718

Likes

0

Replies

0
Re: How to compile a java class created in a component definition
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Yup its fullyQualified and not classified 🙂 that was the typo mistake thanks for correcting.Glad it helped you.- Runal

Views

314

Likes

0

Replies

0
Re: How to compile a java class created in a component definition
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
@Reference will only work with your OSGI Component java files. you won't be able to use @Reference in your AEM component classes that is extending WCMUse.To get OSGI Component reference in WCMUse class, do the following:use getSlingScriptHelper of WCMUse class to get SlingScriptHelper reference.Using the SlingScriptHelper, you can then take reference of any OSGI Component present in your OSGI sling.getService(FullyQualifiedBundleComponentClassPath.class);More on SlingScriptHelper - http://docs.a...

Views

322

Like

1

Replies

0
Re: Create pages via REST call
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
With Sling when you make POST calls on to repository URL, it automatically converts them to nodes and properties in repository. That is what following article present http://dev.day.com/cemblog/en/experiencedelivers/2012/04/create-multiple-page-with-one-rest-call.html- Runal

Views

169

Likes

0

Replies

0
Re: Package manager is not loading in AEM6
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
I guess you are directly accessing your AEM author server and not via Apache right? We once faced similar issue and problem was we configured apache/dispatcher for authors where we mistakenly added a rewrite rule which used to append .html to the URL's if not present already and that messed up lot many link.If you don't have apache for author servers then check what you see when you hover over the packages link on welcome screen? does it show http://localhost:8080/crx/packmgr/ or http://localhos...

Views

428

Like

1

Replies

0
Re: Bundle dependency
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Bundle Dependency:Bundle dependency are the other bundles that the bundle you are installing depends on.https://helpx.adobe.com/experience-manager/using/developing-aem-osgi-bundles-jackrabbit.htmlBundle Dependency Resolutions:Resolutions of bundle dependencies is taken care by OSGI Installer. Basically as soon as you install a bundle, it checks all the bundle that is depends on (the bundle you are installing) are already present in your OSGI Container or not, if all the required bundles are pres...

Views

153

Likes

0

Replies

0
Re: cq:pagecontent
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
cq:page is the primary node type which holds the cq:pagecontent node under it.cq:pagecontent node is the one that actually defines the content for the page in terms of component nodes along with the characteristics of the page.Refer to following link - http://docs.adobe.com/docs/en/cq/5-6-1/developing/templates.html#The%20content%20produced%20by%20a%20Template- Runal

Views

328

Likes

0

Replies

0
Re: Using Apache rewrite rules remove /content/smarter from all the page URLs
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Go to your felix console and put this configuration in JCR Resource Resolver:http://localhost:4502/system/console/configMgr#org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImplIn URL Mapping field put /content/geometrixx/-/ and click on save.now go to http://localhost:4502/system/console/components and search for org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProviderFactory and restart that componet.Access geometrixx page - http://localhost:4502/content/geometrixx...

Views

1.5K

Likes

2

Replies

0
Re: Using Apache rewrite rules remove /content/smarter from all the page URLs
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You can handle it in AEM itself, simply create a sling mapping node under etc/host and you should be able to achieve all shortening of URL.dev.day itself have an example to remove /content/ from the link path using sling mapping, kindly refer to following link - http://docs.adobe.com/docs/en/cq/5-6-1/deploying/resource_mapping.html#Creating%20Mapping%20Definitions%20in%20AEMThey have mentioned example to truncate /content/ from the links, you can further extend the mapping to truncate your desir...

Views

1.5K

Like

1

Replies

0
Re: How to call <cq:setContentBundle> tags for sightly component with basename attribute
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Checkout this article - http://docs.adobe.com/content/docs/en/aem/6-0/develop/sightly.html#InternationalizationIt explains how you can use internationalization concept in sightly components.- Runal

Views

268

Likes

0

Replies

0
Re: Workflow that spans author and publish
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You can have either Servlet or Workflow on Publisher, still you will need to do the following:Reverse Replicate the content with a custom property setThis custom property should be the identifier that the node has been reverse replicated from Publisher to Author.Have an event listener to listen to node events on Author and see if the listener has got triggered because of node modification having the custom prop as set in step 1.Remove the prop from the node so as not to get the event from re-tri...

Views

361

Likes

0

Replies

0
Re: Creating User and Permissions for user through Program
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You will need to use API of package javax.jcr.security to read and modify ACL's programmatically. Refer to following link for so - http://www.day.com/specs/jcr/2.0/16_Access_Control_Management.html AccessControlManager API contains method to read ACL's of a particular node, you get AccessControlManager from jcr session object. AccessControlManager.getApplicablePolicies(String absPath) give the policies for the node. From PolicyIterator get AccessControlPolicy using its API method - nextAccessCon...

Views

204

Likes

0

Replies

0
Re: Ranking publisher instances
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Well you will need to write a custom activation workflow in that case. You can do selective replication in your workflow.There was similar question asked in community, kindly refer - http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.html/forum__vryh-hello_all_howto.htmlin arguments you can configure the agent id.To learn how to do selective replication refer to following article - https://helpx.adobe.com/experience-manager/kb/CQ5Replicate...

Views

168

Likes

0

Replies

0
Re: Ranking publisher instances
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Can you please explain your use-case that under what circumstances would you need such preference in selection of Publisher?- Runal

Views

157

Likes

0

Replies

0
Re: CQ 5.6.1 - PageEvent, Filter for modifications
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
If your requirement is to handle the page event only if it is triggered at specific path in your repo, if that is the case below should help.To get the path details where page event occurs, you can make use of method - PageModification.getEventProperties() this returns the event properties map which contains following details:userid of user that caused the eventpath where event occuredtype of eventmodifiedDateSample from log:16.04.2015 17:14:28.573 *INFO* [Thread-2301] com.sample.impl.PageEventH...

Views

280

Likes

0

Replies

0
Re: Disable component on specific run mode
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
a better way would be to use OSGI bool type property, read the value of that property (which will either be boolean true or false) and accordingly disable the OSGI component in activate method.Now the value of the Bool property can be driven and forced to true or false as per your AEM run modes.. i.e. using runmode specific environment configuration file.Follow the mentioned article to understand more on environment specific OSGI configuration - http://www.wemblog.com/2012/10/how-to-work-with-co...

Views

354

Likes

0

Replies

0
Re: variable within variable in sightly
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
have u tried following  ${variable.arrayObj[temp]} ?- Runal

Views

343

Likes

0

Replies

0
Re: AEM 6&#x3a; Caching REST Web Service call
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You can use angularjs caching module to cache REST responses.Kindly mind this is purely client side caching, just to give you an idea,.. REST url becomes the key whereas response the object that you cache against it.For more details checkout below URL: https://github.com/jmdobry/angular-cache- Runal

Views

245

Likes

0

Replies

0
Re: dam folder
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Hi,Can you also check the status of the workflow that gets fired when you upload the asset?, also make sure you don't have any unnecessary workflow launchers configured Also I have one question, does it create a valid asset node? or it simply creates the redundant folder with asset name?- Runal

Views

208

Likes

0

Replies

0
Re: How to automate creation of /etc/map url shortening rules ?
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You can create the workflow launcher with a custom workflow process step that would copy the nodes from one etc map location to another and replicate if required.But without writing some custom script there is no possible way of auto copy nodes from one location to another.- Runal

Views

333

Like

1

Replies

0
Re: Page not found in AEM
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Probably its some custom code of your that is running on author instance which requires session to be present.Because seeing from the snap it definitely seems its not an AEM error that is stopping from page to render. You can also validate the same by opening one of the geometrixx page and see if it is opening fine.- Runal

Views

382

Likes

0

Replies

0
Re: Issue with Sling Servlet and Resource Types
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Basically you POST/GET to a node of your repository which has sling:resourceType property same as declared in your Servlets annotation.You can further let your Servlet get invoked if your post/get path contains selectors, which in your case is "groups".Now coming to your example:Create a page in your repository with sling:resourceType having value services/powerproxy let assume it is - /content/geometrixx/en/servletpage.htmlservletpage has got sling:resourceType as services/powerproxyhit the pag...

Views

907

Likes

3

Replies

0
Re: Proxy for 3rd party URLs
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Well this is how we achieved it.We created reverse proxy on our apache webserver, below is what we configured for external REST calls:RewriteRule ^/proxyextserv/(.*)$ http://127.0.0.1:8080/ext/application/$1 [P,QSA]ProxyPass /proxyextserv/ http://127.0.0.1:8080/ext/application/ProxyPassReverse /proxyextserv/ http://127.0.0.1:8080/ext/application/Doing so, now the pattern to call external application from ajax calls remains same in JS which is /proxyextserv/param1/param2 which gets rewritten at a...

Views

383

Likes

0

Replies

0
Re: adobe cq publisher instance requires login
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Can you verify 2 things:What does your sling authenticator show on publish instance in system console. i.e. - http://localhost:4503/system/console/slingauthBasically you need to make sure that your / path is configured with allow anonymous access as yes. Kindly see the snap below:[img]SlingAuthenticator.jpg[/img]Also make sure that you have not modified any configuration for http://localhost:4503/system/console/configMgr/org.apache.sling.engine.impl.auth.SlingAuthenticatorThis stores details lik...

Views

1.2K

Likes

0

Replies

0
Re: Looking for information to create a custom JSON rendering
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
You can create a Sling Servlet and bind it with the resourceType of your basepage component (assuming you already have basepage component for all page components) along with resourceType binding, you can also specify your custom selector (like .infinity) and extension as .JSON.Doing so, now using your servlet, you can create any JSON response that you need.Refer to following link to know more about binding servlet to resourcetype - https://sling.apache.org/documentation/the-sling-engine/servlets...

Views

266

Like

1

Replies

0
Re: How to get the value from the custom widget in custom workflow step?
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
It depends how you have specified the xtype in the dialog of workflow step.If it is name property of widget in dialog is like ./jcr:content/propname then it gets stored on payload itself with the propname mentioned.If you want to store it as part of metadata node of workitem then the name property of widget should be simply like - propnamefor more reference see http://docs.adobe.com/docs/en/cq/5-5/workflows/wf-ref.html#Dialog%20Participant%20Step- Runal

Views

286

Likes

0

Replies

0
Re: Cant able to get the Template Name in Publish Instance
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
I guess you are trying to read it as anonymous user. By default anonymous user doesn't have even read rights on template path.So when you do currentPage.getTemplate().getName() it is going to return null all the time.To fix this, you will need to provide read rights to anonymous user on your template path.You can provide read rights from OSGI Console using config option available for Day CQ ACL Setup Service (com.day.cq.security.ACLSetup), put the entry like allow;jcr:read;anonymous;/apps//templ...

Views

727

Likes

0

Replies

0
Re: Reading date property using sightly
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Hi Fieke,Thanks it certainly helped. But more interestingly it allowed me to call Date Modified - ${dateobj.getTime.toString}.My doubt here is, how does sightly allow to call DATE, DATETIME API methods directly i.e dateobj.getTime, dateobj.getTime.getTime, dateobj.getWeekYear etc..- Runal

Views

1.3K

Likes

0

Replies

0
Re: Reading date property using sightly
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Hi,Thanks for the response but the snippet that I pasted in my query is sightly snippet only and it doesnt return anything.I have gone through the tutorials but none mention how can a date property be accessed from sightly snippet.- Runal

Views

1.3K

Likes

0

Replies

0
Reading date property using sightly
Avatar

Runal_Trivedi

MVP

Runal_Trivedi
- Adobe Experience Manager
Hi,I was trying to read date property using sightly but it wont output anything. Below is the snippet that I used but it will always come as blank:Date Modified - ${pageProperties.cq:lastModified}I also tried possibly context options but in vain.I am trying to avoid Java Helper class route for simply reading one property.Anyone faced that error before or any solutions to read date property apart from using java helper class?Thanks,Runal

Views

5.7K

Likes

2

Replies

9