Skip to main content

Posts

Get a new project build up quickly with NuGet Files

One of the things I hate the most is standing up a new project in Visual Studio and adding all the NuGet packages I need. Especially, when it comes to Unit Test projects or the like where I know I have a base set of NuGet files I will always need. Sadly you can't just update the packages.json file for the project and hit restore. There is, however, a way that is almost as straightforward.

Enter the "Update-Package -Reinstall" command. This command reinstalls all the packages in a solution, so, you probably don't want to use this as it will probably blow away some setup you want to keep. If all you want to do is have a project pull in all the NuGet assemblies you just added to a package.json in a project just do "Update-Package -Reinstall -ProjectName <project name>".

Now we are in busy. We can put all our standard NuGet assemblies in the package.json file run this command and our project now has all the base level assemblies we were after. That is a l…
Recent posts

Sitecore Unicorn deployment with Octopus and Azure Dev ops

I have been working on getting a Sitecore solution using Unicorn (with auto-sync and publish API call) to deploy to my environments using Azure DevOps and Octopus. The power of all these together is pretty cool. It allows you to take a Sitecore solution from its state in a local developer instance and move everything that is needed, code and content, to a deployed environment. In the end, all your code is deployed along with all Sitecore assets and those assets are also published!

It takes just a little bit of setup. This does not go into setting up Sitecore or Unicorn as those projects have that well documented. Once you have those all set up though and you are checking your code and your Unicorn YML files into Azure DevOps you are ready to go here.

Azure DevOps Setup These are the build steps I setup. There are really just two steps that need a little customization work. 
Copy Unicorn YML files.  This is just a basic copy activity that takes the *.yml files and moves them to the co…

Experience Profile Anonymous, Unknown and Known contacts

When you first get started with Sitecore's experience profile the reporting for contacts can cause a little confusion. There are 3 terms that are thrown around, 1) Anonymous 2) Unknown 3) Known. When you read the docs they can bleed into each other a little.

First, have a read through the Sitecore tracking documentation to get a feel for what Sitecore is trying to do.

There are a couple key things here to first understand:

Unless you call "IdentifyAs()" for request the contact is always anonymous. Tracking of anonymous contacts is off by default. Even if you call "IdentifyAs()" if you don't set facet values for the contact (like first name and email) the contact will still show up in your experience profile as "unknown" (because it has no facet data to display).  Enabled Anonymous contacts


Notice in the picture I have two contacts marked in a red box. Those are my "known" contacts that I called "IdentifyAs" on. I know they say &…

Experience Profile Anonymize or Right to be Forgotten

This threw me off a bit at first as the action that is being taken is not very clear. When you open a profile record in experience profile and click on actions, one of the options is "Anonymize". If you click on this action you are sent back to the search screen and that contact you were just on is gone.

At this point, you might be able to figure out what happened. At first when just playing around it is a little concern what happened. The red "X" helps here as well, because what you are doing is executing the "right to be forgotten" or "Anonymize" command on this contact. That means their data (their PII data) is removed from the database. Hence, when you go back to the profile search screen you can't find them anymore. Beware though, if you click on it, it is done. No warning here folks.

Back in the Sitecore world again!!

I have recently been able to get back into the Sitecore world and I am excited! I have been living in the Tridion world for a few years and it has been painful. With that being said it is not like Sitecore does not have it's pain points as well. Here are some I have run into as I start playing with version 9.

Keep your license file name "license.xml" Using SIF to install locally only works with a license file named "license.xml". I had a temp license for awhile so in the file name I put the expiration date. I updated the install powershell script for SIF with the new license file name (yes in both places) and run the install. The install was fine until it tried to start the indexer window service. That step failed as the service would not start. When I looked at the logs the service said it was still looking for a file name "license.xml" and it was missing. Sure enough the license file I referenced was not copied over. I have not found the root cause …

Windows Workflow Unit Testing

I know people have very mixed opinions about Windows Workflow and, to be honest, so do I. Really I am not even sure if it has much of a future given the little attention Microsoft has given it. However, despite all that and rather your like it or not there are times when you may use it and want to unit test it. The question is how? Well there are not a lot of options but there is one, that for me, has proven valuable.

People tend to use Windows Workflow in a few different ways, so first let me explain how I have use it most. I have never really used it where I programmatically created and instantiate of my own workflow. For me it has pretty much all been using the Windows Workflow designer and using IIS as my workflow host. Then inside those XAML workflows I have custom activities I create and need to test. Do to this I have found one tool that does this pretty well and pretty easy.

Microsoft Activities Unit Testing

It is an old framework but it still gets the job done. There is not …

Getting Started with .Net Core and Docker

I have been working to understand .Net Core and Docker as of late. It is cool technology but a bit of a paradigm shift. I have found a few good resources here and wanted to start recording them in case I needed to come back to them a long this journey.

First step to all of this is to install the .Net Core SDK.

Second step is to get Docker.

Once these are installed you have all the command line you need for awhile as you start moving down this road.

One of the first steps for me was getting my head around what .Net Core is and how it is different then the >net world I have been living in. Here is a great walk through that help me understand this.
First Steps Exploring NET Core and ASPNET Core

For me that finally connected the dots of what was happening now with the .net framework.

The next step was to understand what Docker is going to do for me. I had played and read about it but I needed to get hands-on. To do that I actually ran into another great article.

Deploy an ASP.NET C…