Saturday, March 5, 2016

CQ5/AEM Interview Questions List 2


  1. Difference between CRX/Jackrabbit and JCR?
  2. How Sling resolves a URL?
  3. What is OSGi framework?
  4. What are OSGi layers?
  5. What is dependency management in OSGi?
  6. How to create an OSGi bundle?
  7. How to convert JAR to OSGi bundle?
  8. What are OSGi annotations?
  9. What are job schedulers?
  10. What are listeners?
  11. How many ways you install a OSGi bundle?
  12. How to do custom configuration through OSGi container?
  13. How to create overlay component?
  14. What is Parbase?
  15. What is architecture of your project?
  16. What is cq:EditConfig?
  17. What are ClientLibs?Dependency in Client Library?
  18. What is a Launcher? What is a Scheduler?
  19. How to move content from one server to another? In how many ways?
  20. What is DMZ?
  21. What is Component context?
  22. What is Page manager?
  23. What is SlingPostServlet?
  24. What is Resource resolver?
  25. How to Manage Events in Sling?
  26. How to do Event Handler?
  27. How would you display a list(selection) which is from database/crx/data as dropdown(Dynamic) in a Dialog?
  28. A page is cached in webserver, but it has to show the current date and time at the end of the page. How will you show that?
  29. How does CQ maintains different language content?
  30. How CQ handles GET and POST methods? Get and POST scenario of a page.?
  31. How CQ handle POST method data?(using form)?
  32. Integration between AEM and Test&Target?
  33. Any third party integration?
  34. AEM - Dispatcher configuration?

CQ5/AEM Interview Questions List 1


  1. What is CMS?
  2. What is CQ5/AEM?
  3. What are other CMS products you worked?(If any)
  4. What is the Technology stack of CQ5?
  5. What is JCR/Sling/OSGi?
  6. Difference between JCR and CRX?
  7. Difference among version 5.4, 5.5, 5.6, 6.0, 6.1?
  8. What is the life cycle of OSGi bundle?
  9. What are different status of a budle in OSGi?
  10. What is Template? How to Create one?
  11. What is sling:resourceType/rank when creation of template?
  12. What does allowedPaths mean and its use?
  13. What is Activate?
  14. Ways to activate a page?
  15. Web consoles in AEM?
  16. What is the main feature of DAM?
  17. What is a Component?
  18. What is page rendering Component?
  19. How will you create page component?
  20. Why and use of global.jsp?
  21. How do you use currentNode, currentPage etc in a page?
  22. What does it show currentNode.getPath() and currentPage.getPath()?
  23. What is selector in URI?
  24. Is sidekick displayed in page by default?
  25. How to initialize WCM?
  26. What is difference between sling:resourceType and sling:resouceSuperType?
  27. What is difference between Dialog and Design dialog?
  28. What is a Widget?
  29. What is the use of XTYPE?
  30. Where does the Design configuration of a template get saved in CRX?Path?
  31. What is parsys?
  32. Difference between parsys and iparsys?
  33. What is Activator.java in bundle?
  34. What is i18n or intenationalization? Why we need i18n?
  35. Where this i18n values stored?
  36. How does CQ maintains different language content?
  37. Difference between cq:include and sling:include?
  38. How to use fmt tag?
  39. What is Workflow?
  40. What is workflow Launcher?
  41. What are the different ways to start a workflow?
  42. If you drag and drop a component into parsys and add content, Where does that content get stored and give node path?
  43. Difference between text and richtext component?
  44. If you create a content in richtext component, you do bold, create bullets, numbers etc., How and where does it get stored in the node properties?
  45. What is reverse replication?
  46. Where do you configure replication agents(author/publish)? And Where(tool path)?
  47. What are the other agents other than replication/reveserse replication agents?
  48. What is the replication and reverse replication process?

Tuesday, March 1, 2016

Disable Activate and Deactivate Buttons in Sidekick based on user persmission in CQ5/AEM page

1) Create a folder skdisable under /apps i.e /apps/skdisable
2) Create a clientLibs folder under skdisable i.e /apps/skdisable/clientLib
    Add below property to this folder
    categories       String     cq.widgets
3) Create a buttonsdisable.js file under clientLib folder i.e  /apps/skdisable/clientLib/buttonsdisable.js
     Add below code in the buttondisable.js

(function(){
    if( ( window.location.pathname == "/cf" ) || ( window.location.pathname.indexOf("/content") == 0)){

        var SK_INTERVAL = setInterval(function(){
            var sk = CQ.WCM.getSidekick();
            var curPage = CQ.WCM.getPagePath();
           if(CQ.User.getCurrentUser().hasPermissionOn("replicate", [CQ.WCM.getSidekick().getPath()])!=true){

            if(sk && sk.panels){
                clearInterval(SK_INTERVAL);


                        var pagePanel = sk.panels["PAGE"];

                        var buttons = pagePanel.findBy(function(comp){
                            return comp["name"] == "PUBLISH" || comp["name"] == "DEACTIVATE";
                        }, pagePanel);

                        CQ.Ext.each(buttons, function(button){
                            button.setDisabled(true);
                        });

                }

           }else{
               return;
           }

        }, 250);
    }

})();


  4)  Create a js.txt file under clientLib folder i.e  /apps/skdisable/clientLib/js.txt
       Add below line in js.txt
  
                    buttonsdisable.js

5) Now go to http://localhost:4502/useradmin , Select an user and remove replication permission for /content/geometrix site. Login with that user credentials.

6) Open any geometrix page and check sidekick,you will see Activate and Deactivate buttons disabled.