Back-End Development

Close Up Software Developer Programming Code On Screen

Writing Less Java Code in AEM with Sling Models

I love writing code. What I love more is writing less. Less code means fewer unit tests because you have much less coverage to hit. Well organized, modularized, short, and concise. How do you achieve this? Good software engineering practices, code generators, and leveraging existing frameworks and APIs. Leveraging Frameworks and APIs As an AEM […]

Forrester Now Tech: AI Consultancies Report

Personalizing Groups of Content in Episerver

Episerver’s Personalization feature provides a way for content authors and marketers to provide personalized experiences on their website. Visitors can be assigned to groups through the use of special criteria, and marketers can deliver targeted content to users based on their visitor group. It’s a great feature that invites marketers and authors to deliver unique […]

Agile Community Event

Perficient’s Agile Community Serves Colleagues of All Backgrounds

When you work at Perficient, you’re never “in it alone.” We pride ourselves on having a collaborative, supportive environment dedicated to fostering both career and personal growth. Perficient’s Agile Community is one of the latest ways colleagues can connect with each other, breaking down walls and collaborating globally in a whole new way. “It makes […]

Address common barriers to delivering on customer expectations

Use Power BI to view your Smartthings devices

Intro This is more of a proof of concept to show that you can read from custom and not-often-used data sources into Power BI. As you go through this small showcase/tutorial, I encourage you to think about what type of data would benefit from you being able to look at it in a cohesive dashboard. […]

Complementing SAP with True Order Management Capabilities

Seamless order to fulfillment is the crux of any good experience. A brand’s reputation and longevity, as well customer loyalty and adoption, often hinges on the success of how order management (OM) is rooted in an organization. The interaction with users at their point of need is the tipping point and often dictates success or […]

Kafka Consumer Error Handling, Retry, and Recovery

This blog post is about Kafka’s consumer resiliency when we are working with apache Kafka and spring boot. As a scenario, let’s assume a Kafka consumer, polling the events from a PackageEvents topic. service class (Package service) is responsible for storing the consumed events into a database. Note: Here in the place of the database, […]

Istock 641204328

NGINX Proxy for CORS

In my latest AEM project, I had a particular challenge with some front-end code, an AJAX call, and CORS.   While running the site on localhost, the search code attempted to make an AJAX call to a search API. The API would not allow my localhost site. This meant that front-end developers had a hard […]

Gears of business

How to Create a Custom Dropdown Field in Sitecore

Sometimes the out of the box dropdown field types in Sitecore do not provide the functionality you need. Maybe you want to pull options from an external data source. Perhaps you want to alter how options appear to the Content Author but store a different value as the raw value. You may even want to […]

Istock 1194668332

Customer Bank Account Updates for AR Draft Invoices

Do you use Oracle Cloud’s automatic draft process? If you answered yes, then this read is for you! When the customer bank account is created or updated via the user interface, the system defaults to the current system date’s start date. The same situation happens with the “From Assignment Date” field in the customer site […]

Istock 939030682

Episerver Authentication with multiple Azure AD Instances

I recently came across a project where there was a slightly different twist for the site’s authentication needs.  For this project the company had three different authentication scenarios that needed to be covered. Log in via a primary Azure AD tenant. This Azure AD instance was set up with application roles and the users were […]

Creating C# Helpers for SXA Rendering Variants Before Scriban

Need some C# help inside your SXA rendering variant? You’ve come to the right place. This blog post will explain how you can employ the use of a C# helper class in your rendering variant. You should only use this sparingly. If you find yourself overusing C# here, you should consider implementing your component as […]

Puzzle

Restricting available types based on site context in Episerver

Valdis Iljuconoks previously helped me understand how to effectively implement AllowedTypes restrictions with interfaces, something like  [AllowedTypes(typeof(INestedContent))]– which is a beautiful solution for building a block library. This makes our blocks and their Content Areas only concern themselves with specific interfaces. In our case, we usually have layers such as IPageContent (for stripes, grid structures, […]

Load More