Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ 2016

[CQ/AEM] SegmentNotFoundException

Issue: When we see the error "org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment 6e0a804f-0d75-48a8-a579-ebf34e58e763 not found" one day, and you can not open any pages, or can access neither crx nor console. Solution: We can use oak runnable to check and restore the last good revision into Oak's working directory. Tool: Oak-run Tool ( http://mvnrepository.com/artifact/org.apache.jackrabbit/oak-run ) Check more from http://cqhints.blogspot.com/2015/07/cq6-system-maintaining-repository.html Step to restore Oak's working directory: 1. Backup all files in ./crx-quickstart/repository/segmentstore/ . 2. Run the consistency check java -jar oak-run-*.jar check -d1 --bin=-1 -p crx-quickstart/repository/segmentstore/ It will search backwards through the revisions until it finds a consistent one: 18:01:51.336 [main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Found latest good revision ca9c71ae-1941-4a2d-aaed-c444db7a4c6d:260120 3. Reve

[CRX] Accessing CRX Remotely using Jcr Remoting Based On Webdav (DavEx)

Goal: To access CRX remotely in a client java program, JCR Remoting (DavEx). This post is on using JCR Remoting (aka WebDav remoting, DavEx). Solution: <dependency> <groupId> org.apache.jackrabbit </groupId> <artifactId> jackrabbit-jcr2dav </artifactId> <version> 2.13.4 </version> <scope> test </scope> </dependency> @Test public void testJson () throws RepositoryException , JSONException { String REPO = "http://localhost:4502/crx/server" ; String WORKSPACE = "crx.default" ; Repository repository = JcrUtils. getRepository (REPO) ; Session session = repository.login( new SimpleCredentials( "admin" , "admin" .toCharArray()) , WORKSPACE) ; // Getting a particular node Node root = session.getRootNode() ; Node subContent = root.getNode( "apps/geometrixx-gov/components/logo" ) ; // Iterating over the nodes and printing t

[AEM] Setting Up a Dispatcher on OS X

Setting Up a Dispatcher on OS X Purpose : This guild is to show you how to set up a dispatcher on OS X step by step Prepare : 1.          OS X machine with Apache installed and enabled 2.          Start AEM 5.6.1 quickstart author on: 4502 publish on: 4503 Configure : 1.          Figure out which version of Apache httpd you’re working with: $ httpd –v In my case: Server version: Apache/2.4.18 (Unix) Server built:    Feb 20 2016 20:03:19 2.          Download and extract the correct dispatcher version for your httpd: https://www.adobeaemcloud.com/content/companies/public/adobe/dispatcher/dispatcher.html Inside the extracted directory you will find a file named ‘dispatcher-apache<version>.so’. Copy this file to /usr/libexec/apache2. In my case: $ sudo cp dispatcher-apache2.4-4.2.0.so /usr/libexec/apache2 Note: If you can not copy file into /usr/libexec/apache2 even though you are admin/root. It because your OS X is

[AEM] hide parsys on live copy page

Purpose: I want to hide the parsys in the live copy page Solution: Add this script below the code include parsys < cq :include path ="par" resourceType ="foundation/components/parsys" /> < c :if test =" ${ wcmMode ne 'PREVIEW' && wcmMode ne 'DISABLED' } " > <script type= "text/javascript" > if (Granite && Granite. author ) { Granite. author .getEditableConfigNode( " ${ currentNode.path } /par/*" ). remove () ; } </script> </ c :if >

[SYSTEM] Get administrator session in service

Goal: To write data/nodes to content (specifically to /etc/userdata) when a user logs in. We can achieve this in 2 ways (either way, the user needs to be a 'system user') Process 1: Step 1: Use in-built system user in OSGI configuration. In OSGI select Apache Sling Service User Mapper Service group.abc.commons-service:writeService=oauthservice (where 'oauthservice' is a system user) Step 2: Assign that system user the permissions to access the content folder. You see the system users in CRX at: /home/users/system Process 2: Step 1: Create a new system user. to do this Open http://localhost:4502/crx/explorer/index.jsp Login as admin > Open 'User Administration > Select 'Create System User' > Enter "user id" > Hit the Green button (you will not se a save button :) I have created "abcwriteservice" user Step 2: Go to Permissions, and for the user 'abcwriteservice' give Permissions to access the f

Install Oracle Jdbc driver in your Maven local repository

If you are using Oracle, you must first install your Oracle JDBC driver in your local Maven repository. Here is how to proceed: Step 1 - Download the Oracle JDBC driver Please download manually the Oracle JDBC driver  from Oracle web site . Step 2 - install your Oracle JDBC driver in your local Maven repository We follow the instructions from this Maven FAQ I have a jar that I want to put into my local repository. How can I copy it in? In this example, we assume that your Oracle JDBC driver is in a file called  classes12_g.jar Open a console and go to the folder containing the classes12_g.jar file. c:\oracle\jdbc>dir 23/06/2008 13:02 2 044 594 classes12_g.jar Let's assume you want to register your driver under the group id 'com.oracle', use 'oracle' as the name of the artifact id and that you want the version to be '10.2.0.2.0'. You can now run the following command: c:\oracle\jdbc>mvn install:install-file -Dfile=ojdbc6-11.

[DIALOG] Active a tab of dialog

How to activate/inactivate a tab on a dialog base on an event of item? Resolution: In the sample code, we add a listener to listen ‘activate’ event for dialog. <listeners jcr:primaryType="nt:unstructured" activate="function(dialog) {     dialog.findByType('tabpanel')[0].setActiveTab(2);  } " /> * param of setActiveTab method is the index of tab. 0 is the first tab, 1 is the second, so forth.