Dreamforce Session Explorer - The story behind the app
As some of you guys may know, Dreamforce is one of the biggest event in the enterprise software industry. For the #DF15 edition, we wanted to do a little something different than what we had done previously.
Troubleshooting memory issues with CESService7
Sometimes CES Service has memory issues and developping a way to fix memory issues with it was way needed.
By default, CES Service 7 should not use more than 50% of the RAM. This way, CES won’t monopolize all the available resources. However, sometimes the CES service is going to take more than 50% of the total RAM. The best way to find out why the service has this behavior is to create dump files.
More Hackathons at Coveo
We should really try this new technology…
It would be really cool if we could integrate these two components…
I’ve got a new idea on how we could solve this problem…
… but I don’t have time to do it.
How often do you hear this sort of statement? At Coveo, we hear it every week. Not because we’re overworked, not because we do not take the time to do things correctly. We hear this simply because we have a lot of ideas.
DynamoDB Client Side Encryption
Since the June 20th 2015 release, it is possible to share custom reports with specified users. Before this release, the API calls for managing the custom reports were in the Coveo Cloud Platform API. This was mainly because the Usage Analytics service had no database other than AWS Redshift and we decided that report configurations did not belong in an analytics optimized database. We opted for the Cloud Platform database which is more configuration oriented.
As the Analytics service grows, the need for its own configuration storage began to be felt, so we decided to move the custom reports API to the UA Service and store the configuration in a new database. After an investigation, we decided to use AWS DynamoDB. Considering that this data can potentially be sensible customer information, it needs to be encrypted.
Sandboxing JavaScript Execution in Java
The Query Pipeline on a Coveo index can be extended using JavaScript code running on the server. This has many benefits, but allowing arbitrary code to run in a server process opens the possibility for an admin to bring the server down in many creative ways. To protect against this we added functionality to the JS interpreter we’re using (DynJS) to prevent Bad Things from happening.
Creating a new JS UI component in TypeScript
Behind the scenes, the Coveo JS UI framework is built entirely in TypeScript. Obviously, it’s intended to be customized in JavaScript, but you may want to go further and create your own component in TypeScript. Be aware that this uses the internal JS UI APIs, so it can eventually break when updating. Purpose of the post is to give a glimpse of how the components are built internally.
Coveo Support Behind the Scenes
Hello everyone, my name is Eric Savoie and I am a product specialist here at Coveo since July 2014. I was the second product specialist hired to specialize in supporting our Coveo for Salesforce product.
Through the months, I have come to realize that support in the cloud is very different from “conventional” support here at Coveo. For this post, I originally wanted to focus on the main differences between what we call Platform support and Cloud support but I realized that many out there would not be able to relate to those differences without an introduction to the product specialist’s reality.
So here is an overview of how the communication between support and the client looks like at Coveo.
Browser strangelove
Not too long ago, a customer opened a case about the troubles he had loading an Office file from a search results page. The file was on his workstation. From his browser, he clicked on the open link to access the local file, only to get an error message.
Curious about this issue, I ran a few tests on a virtual machine with indexed local files, just like the customer did on his side before opening the case.
Rating a Search Result, Customizing Search Results Ranking and Ranking Functions
Rating a Search Result
What is the advantage of rating a search result
Rating a search result is useful when you find that its automatic ranking in the current query is not appropriate from your point of view or that of your group.
This immediately changes its position in the search results page. You or other members of your group also benefit from this corrected rating the next time the same query is performed.
It’s important that you understand the difference between “Personal appreciation” and “Collaborative rating”
The Rise of Design in a Tech Company
The Beginning
Coveo was founded in 2005 by a team spun off from Copernic, a search software company, to focus specifically on the enterprise search market. In the past, Coveo had a graphic/web designer but nobody to work with the developers on the product itself. The real interface design journey began in 2011, when they needed help from someone with those skills on a project for a client. Because I had worked with a Coveo employee the year before on a personal business project, he mentioned my name and they called me.