Skip to main content

Coveo Cloud Platform Search Engine

Coveo is among the top search engine from Gartner's list of best Enterprise Search Engine. Coveo Cloud Platform was procured to be the search engine for Salesforce platform on which Coveo works out-of-the-box.

Coveo provides a whole list of connectors and costs additional amount based on number and type of connectors. If you see the list of connector, it covers many of the modern Cloud and On-Premise applications. There is also a list of generic connector which would be used to connect the applications which are less-known or legacy in nature. These would be Database, Desktop, File, LDAP, etc. At a first glance it seemed like any source application could be crawled by Coveo. But there are limitation, just like any other product, around its technical capability and hopefully those would be resolve in  releases.



In this scenario applications are deployed in standard layers of firewall. Security and SSO is provisioned through OKTA. The problem occurred that none of the crawler of Coveo Cloud Platform was able to authenticate itself to any of the applications hosted in DMZ or LAN.  Basically crawler doesn't support any of the following technologies:

  1. SAML 2.0 Authentication
  2. VPN Tunneling
Whitelisting of IP is not permissible by Enterprise Security team.

On further analysis, it was found that the last resort was to:
  1. Create a sitemap with form-based-authentication against each application: This solution requires lot of patch-work and overhead maintenance headache. On top of that, if the application is bigger sitemap would hold many child sitemap recursively. We found that crawler had some limitation on number of URLs contained in a sitemap. The last but not the least, the solution looks crapy.
  2. Copy the Coveo crawled data to an external database: Security might not allow this.
  3. Copy the Coveo crawled data to another Cloud Application: In our scenario, it was copied to Salesforce. Again this is a patch-work, but we didn't have any option.

Recommendation & Take-aways:

Based on my experience, for any large organization with complex IT Landscape that has a mix of Cloud, On-Premise and hybrid applications, it is highly recommended that Coveo Hybrid Platform should be deployed. That means a combination of Cloud and On-Premise. Also, Coveo search should have a synching mechanism between Cloud and On-Premise. Other search engine might also fall into similar categories. These simple scenarios/technical capability needs to be incorporated. Also needs to support SAML 2.0 authentication and VPN Tunneling capabilities of its crawler because these are basic capabilities for any large organization with myriads of legacy application.




Comments

Post a Comment

Popular posts from this blog

Product Evaluation - MuleSoft Anypoint Platform one day workshop

People, Business Executives, Enterprise Architects, Solution/System/Application Architects, Tech Leads, Developers,  who are looking for and want to know more about MuleSoft Integration offering which is compared to other key providers like Software AG WebMethods, Oracle SOA Suite, WSO2, Informatica, etc. Recently I attended a one day Workshop on MuleSoft Anypoint platform . The overall goal of this workshop was to evaluate MuleSoft integration technology offering for a mid-size integration environment which is currently supported through Software AG WebMethods and Oracle SOA Suite. So, if you are in process of evaluating MuleSoft Anypoint Platform for your integration needs, this write up will give you a good high level executive summary overview. MuleSoft Product Offering falls under following category of market offering: iPaaS (Integration Platform as a Service) Hybrid Integration On-Premise Integration Platform Internet of Things (#IOT) Integration ...

Salesforce - Scheduling a Schedule Job

Following are the different ways to schedule a Schedule Job through a script. Run the given code in Execute Anonymous window and then you could see in Setting -> 'Scheduled Job' that your Job is waiting to be executed. Run a Schedule Job NOW Method - 1 ScheduleSalesTargets c = new ScheduleSalesTargets(); c.execute(null); Method - 2  (This one I prefer, whenever I need to run a job) Check the current Time. If it is, let's say 10:39 AM, in your clock, then set the minute to 41. This will schedule the job for 10:41 AM just two minutes from now. But, if you set minute value to 38, then it will schedule to next hour 11:38 AM ScheduleSales c = new ScheduleSales(); String sch = '0 0 * * * ?'; System.schedule('Sales Job Name - 1',  '0 41 * * * ?', c); You could repeat following, so that job keeps running every 5 minutes while you debug and change the Apex code behind the scene. ScheduleSales c = new ScheduleSales(); String sch = ...

Salesforce Code and Configuration Deployment

Following are a varied list of ways through which Code or Configuration could be deployed in Salesforce Server. It is assumed that deployment focus would be on Production instance, but it is true with Developer Edition and Sandbox instances as well. Technical Prerequisites for a Salesforce Deployment There are some tools and software that must be installed and properly configured on the Release Manager’s machine in order to enable the Deployment Process described in this guide. Some other tools are not required but we recommend using them. Here is a quick description of these tools. Tool Required / Optional Purpose Comment Eclipse Optional Eclipse is a developer tool that supports several languages. The currently recommended version of Eclipse to download is Eclipse Kepler 4.3 (the “Eclipse for Java developers” version is recommended) and can be downloaded from http://www.eclipse.org/downloads/pac...