Wednesday, 15 May 2019

Resolved | GIT branch switch issue

While using GIT, encountered a special scenario. I was working on one branch. There were no changes local. Then I decided to switch to different branch.

I have faced below error.
===========================================================================
$ git checkout New_Temp_Branch
error : The following untracked working tree files would be overwritten by checkout:
      <list of files here>
Please move or remove them before you can switch branches.
Aborting
===========================================================================

Solution : Use below set of commands.

git add *
git stash
git pull

This will track all files, remove all of your local changes to those files, and then get the files from the server.

Endeca Terminology

While studying about Endeca ,I have seen interesting terms related to Endeca. Here is the list of terms along with their meaning.

Navigation State The navigation state is the set of all dimension values selected in the current query context,the navigation state record set consists of the records selected by the navigation state.
Descriptor Dimensions Descriptor dimensions contain the dimension values (or descriptors) that were used to query for the current record set. Integrated dimensions represent a consolidation of those dimensions that contain either descriptors or refinement values for the current record set.
Complete Dimension Complete dimensions represent a consolidation of all dimensions that have at least one of the following:
a descriptor, a standard refinement, or an implicit refinement.

Snippeting The snippeting feature (also referred to as keyword in context or KWIC) provides the ability to return an excerpt from a record—called a snippet—to an application user who performs a record search query.

Wildcard search Wildcard search allows users to match query terms to fragments of words in indexed text.

Pivoting The activity of adding or removing dimension values to or from the navigation state is known as pivoting.

Positional Indexing To enable faster phrase search performance and faster relevance ranking with the Phrase module,your project builds index data out of word positions.This is called positional indexing.

Resolved | Endeca export site failure

Export site failed with below exception.
==========================================================================
Can't load log handler "com.endeca.soleng.eac.toolkit.logging.RelativePathFileHandler"
java.io.IOException: Couldn't get lock for /srv/endeca/apps/Store/logs/Store.%u.%g.log
java.io.IOException: Couldn't get lock for /srv/endeca/apps/Store/logs/Store.%u.%g.log
        at java.util.logging.FileHandler.openFiles(FileHandler.java:389)
        at java.util.logging.FileHandler.<init>(FileHandler.java:254)
        at com.endeca.soleng.eac.toolkit.logging.RelativePathFileHandler.<init>(RelativePathFileHandler.java:93)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:374)
        at java.util.logging.LogManager$4.run(LogManager.java:690)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:683)
        at java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:1255)
        at java.util.logging.LogManager.access$1300(LogManager.java:148)
        at java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:1338)
        at java.util.logging.Logger.log(Logger.java:609)
        at java.util.logging.Logger.doLog(Logger.java:631)
        at java.util.logging.Logger.log(Logger.java:654)
        at java.util.logging.Logger.fine(Logger.java:1204)
        at com.endeca.soleng.eac.toolkit.Controller.parseArgs(Controller.java:1036)
        at com.endeca.soleng.eac.toolkit.Controller.main(Controller.java:136)
[02.17.17 11:17:18] INFO: Checking definition from AppConfig.xml against existing EAC provisioning.
[02.17.17 11:17:28] SEVERE: Caught an exception while checking provisioning.

Caused by com.endeca.soleng.eac.toolkit.exception.EacCommunicationException
com.endeca.soleng.eac.toolkit.application.Application isDefined - Caught exception while querying for defined application list.
Caused by com.endeca.eac.client.EACFault
sun.reflect.NativeConstructorAccessorImpl newInstance0 - null


==========================================================================
Solution :
         1)      Stop the EAC (Endeca HTTP Service)
         2)      Rename the directory 
ENDECA_CONF/state to state-backup
         3)      Create an empty state directory
         4)      Start the Endeca HTTP Service again 

Sunday, 7 January 2018

Explore the Endeca Configuration Repository using WebDAV Client

The Endeca Workbench application is storing all its configuration files inside a configuration repository. It is called Endeca configuration repository (ECR). Endeca Configuration Repository is Apache Sling, a REST web framework built on top of the Java Content Repository Apache JackRabbit.

Workbench interacts with ECR using scripts in the control folder (inside deployed application) to upload content to that configuration repository, such as set_media, set_editors_config, import_site and set_templates.
One interesting thing about this repository is you can connect with ECR using any WebDAV client. Once connected you can explore the content of the repository.

Here I am going to demonstrate ECR (for Discover application) exploration using CyberDuck client on windows.

1. Download and install CyberDuck.

2. Open CyberDuck and enter details for connection.


Server : Workbench server
Port : Workbench Port
Username : Workbench username
Password : Workbench password
Path :/ifcr/sites/<Enter name of endeca application>

Connect Endeca Content Repository
Connect Endeca Content Repository

3. Explore the repository.

Explore Endeca Content Repository
Explore Endeca Content Repository

4. Disconnect from repository using Disconnect button.

Saturday, 28 October 2017

Endeca | Display Deployment Template Version

Sometimes you need to find out version of the deployment template (EAC Development Toolkit)

To show the version of deployment template.
1. Navigate to control directory of your application.
2. Invoke runcommand with --version flag.
Deployment Template Version
Deployment Template Version

Sunday, 22 October 2017

Endeca | Check application component status

Sometimes you need to check provisioned component status for a Endeca application. You can check application component status using one of the three ways.

1. Endeca Workbench :  Use EAC Admin console to check component status. Check Auto Refresh check box on right to refresh status automatically.

Component Status
Component Status

2. Deployment Template : Run below command from control directory of deployed application.

          runcommand.bat --print-status

Component Status Deployment Template
Component Status Deployment Template

3. The eaccmd Utility : Run below eaccmd command to check component status.

          eaccmd status --app <application name> --comp <component id>

eaccmd component status
eaccmd component status


Saturday, 16 September 2017

Endeca | Monitoring Endeca components

Monitoring is the way to ensure that application components are working as expected. You can monitor Endeca components using below steps.

Monitoring Endeca components
Monitoring Endeca components

1.  MDEX : To check the aliveness of Dgraph access : http://DgraphServerNameOrIP:DgraphPort/admin?op=ping
 For example : http://localhost:15000/admin?op=ping

This command returns light weight html : dgraph JagdevSingh-PC:15000 responding at Sat Sep 16 21:55:51 2017
 
2.  CAS : To check the aliveness of CAS access : http://CASServerNameOrIP:CASPort/cas?wsdl
For example : http://localhost:8500/cas?wsdl 

3.  EAC Central Server :To check the aliveness of EAC Central Server access : http://machine_name:8888/eac/ProvisioningService?wsdl
For example : http://localhost:8888/eac/ProvisioningService?wsdl

4.  EAC Agent  :  To check the aliveness of EAC Agent access : http://machine_name:8888/eac-agent/IDelegateServer?wsdl
For example : http://localhost:8888/eac-agent/IDelegateServer?wsdl

5.Record Store :  To check the aliveness of Record Store access : http://CASMachineNameOrIP:CASPort/<RecordStoreName>?wsdl
For example : http://localhost:8500/Discover-dimvals?wsdl