F# Mentorship program

Recently I participated in an F# Mentorship program and want to share some great opportunities that it provided.

In this program, mentors and mentees are randomly paired up to work on some projects together for a couple of months.

I was paired with Mårten Rånge, a great programmer who taught me a lot about functional programming!
Continue reading

Posted in .NET, F#, FP, Mentorship, Uncategorized | Tagged , , , , | Leave a comment

Merging .NET assemblies using GulpJS and ILMerge

It’s possible to merge a few .NET assemblies into one by using the ILMerge utility. This can be helpful if you want to ship your project results in one assembly but internally you still prefer to break the project into smaller parts (projects and libraries).

Another good practice is introducing build systems like the GulpJS, to your projects, especially if these projects have multiple steps in the build flow.

So in this post I’d like to share my experience of using the ILMerge in the GulpJS build system.

Continue reading

Posted in .NET, build, GulpJS, ILMerge, nodejs | Tagged , , , | Leave a comment

Fix for Security and Indexing Events – Sitecore 8.1

Recently I played around with Security and Indexing events but was not able to get them to work on the latest Sitecore 8.1 rev. 151207 (Update-1) version. However, I was unable to trigger any events.

This issue involves two event groups:


It turns out that these events don’t work properly in Sitecore 8.1 rev. 151207.

Sitecore Support has provided workarounds for these two cases, which I will describe below.
Hopefully, this will save you some time as you work with these events in the current version of Sitecore.
Continue reading

Posted in C#, Sitecore | Tagged , | Leave a comment

Razl – Keep Your Sitecore Synchronized

Let’s talk about Sitecore synchronization.

Sometimes a new feature needs to be tested with a set of real data. For example: Content Management(CM) data a UAT server.

There are common approaches like restoring DBs, creating packages, serializing items, etc. However, there are tools specifically designed for this task.

Continue reading

Posted in build, PowerShell, Razl, Sitecore | Tagged , | Leave a comment

How to avoid NullReferenceExceptions while working with Sitecore

Today we’ll talk about our favorite exception in C# 🙂

The purpose of this article is to help rid the codebase of nulls and create somewhat of a “null-safe” domain where everything can operate smoothly without nulls creating object property access issues (e.g. item.Parent.Language.Name)

I work with Sitecore, so all of the following examples will use Sitecore objects. But this approach could be applied to all “nullable” objects (which are all reference types in C#).
Continue reading

Posted in C#, Sitecore | Tagged , | Leave a comment

GIT repository cleanup

The project has been moved from the TFS & TFVC to the VSO & GIT and I was surprised by the size of one of my GIT repositories – it was 13GB!

This is quite large for a GIT repo and was caused by two things – the long project history and the large files contained in that history.

Keeping a GIT repository as small as possible is a good practice, so let’s do some cleanup.
Continue reading

Posted in BFG, cleanup, GIT, GIT-TF, TFS | Tagged , , , , | 1 Comment

MS SQL databases restore with TFS Team Build and PowerShell

Currently I’m working on a web project with a few environments like Dev, POC, QA, UAT, Staging, etc. Once per sprint we have to synchronize our DBs from Staging to other servers to make sure all environments are on the same page.

To achieve this, a new build definition was created in TFS which is similar to the one described in my “Run Batch File From TFS” post. All that build does is invoke a PowerShell script.

Continue reading

Posted in PowerShell, TFS | Tagged , | Leave a comment