We recently decided to move our functional tests stack from python to Java, mainly to make coding them easier (our project’s backend is coded in Java) and thus increase the number of tests getting written. We needed a few things to make this possible and one of them was a complete and comprehensive Java client for the Usage Analytics API. Since a lot of the Java API clients we use internaly are built with Netflix’s Feign, I decided to give it a go.
We have many interns right now at Coveo. For the summer, this process starts in February when we get over one hundred applications through multiple universities. All those applications had one thing in common, The Resume.
Over the years, I’ve read hundreds of them and have therefore accumulated a good list of what you should and shouldn’t do.
How many times have I got an
undefined variable because I refactored some code
and forgot to rename that variable.
Even though it has been more than 5 years since I wrote my first
The feeling remains the same – Why did I make this mistake again ?
require function that is used with CommonJS modules.
For website search, relevancy of the search results should be a priority. When indexing a Sitecore item with Coveo for Sitecore, you want as much information as possible to be indexed. That’s why you probably use the
HtmlContentInBodyWithRequestsProcessor to index the Sitecore rendered HTML of the item. However, you don’t want to index global sections of the HTML like the header, footer, navigation, ads and sidebars.
A few solutions were available to do so. This post details a simple solution that involves only a Sitecore processor and minor edits to layouts, sublayouts or views.
Update 2016/12/10: It’s now on Maven central! I’ve added some precisions below but I have left the post mostly intact for historical purposes.
Update 2016/07/08: The project is now available on GitHub! I plan on making it more generic before publishing it to Maven, I’ll update this post soon with the new details.
Exception handling across microservices can be tedious, let’s see how the Java reflection API can help us ease the pain!
In the Usage Analytics service, there is a layer that validates if a user is allowed to perform the requested action. This should not be a surprise for anybody as all applications have some kind of security or permission check somewhere. Since the UA service is built in a layer architecture, that’s the job of the permission layer. The code is pretty boilerplate and very similar for all the different calls. It follows this logic :
- Extract user identity and account from token
- Check if the user has the required permissions
- If he does, call the service layer
- If he doesn’t, throw an exception
This year was the sixth edition of Coveo Blitz, our classic programming contest for students. The original purpose of the event is to find great, passionate developers and show them how fun, passionate, and driven our team is. We had the idea to step out of our comfort zone this year and focus on what we’ve learned in the last editions.