Sitecore Swamp

Dive in the Sitecore Swamp


Sitecore Accelerator - BRAINJOCKS SCORE

Another Year - MVP Nominations 2016

Time flies, it's been another great year with Sitecore.

Let's welcome the new member of Sitecore MVP: Commerce MVP. So now there are 3 types of Sitecore MVP:
Commerce MVP
A new category this year, the Commerce MVP acknowledges commerce experts and enthusiasts who use Sitecore to empower e-commerce solutions.

Digital Strategist MVP
An individual with strong experience with data driven marketing, who have experience on how to use Sitecore Experience Platform to drive business results.

Technology MVP
An individual with technical knowledge of Sitecore who actively shares their knowledge and expertise with other Sitecore partners and customers. With the Technology MVP Award we recognize all individual experts that master and share expertise needed for a successful Sitecore implementation; Architecture, Infrastructure, Development, User Experience and/or Front-end.

The process and dates: 
November 2015
- Nominations open
December 2015
- Close nominations
- Jury review
January 2016
- Finalize MVP nominations
- Preliminary list
February 2016
- Press release

Undo unchanged (TFS)

Visual Studio automatically checkout the file for edit, which is good for convenience. But the file keep the check-out status, even you roll back all the changes. When you try to commit changes, the file will be in the pending list, however it's identical to the server one.

If you have Team Foundation Power Tool installed, you can do the following command to undo the unchanged files:

tfpt uu . /noget /recursive

Even better, create an external tool in Visual Studio to do it in a click:
VS > Tools > External Tools:
Title: Undo unchanged
Command: tfpt.exe
Arguments: uu . /noget /recursive
Initial directory: $(SolutionDir)

The Order of Properties in Object Initializer (C#)

For sake of simple programming, I use object initialier quite often. But I never payed attention to the order of the perproties until comes to this one:

var index = 0;
var obj = new 
    property1 = fields[index++], 
    property2 = fields[index++], 
    propertyn = fields[index++]

The reason doing this is assign each element in the fields to the according property in the obj. So if the property setter is called in the different order from the object initializer, I will be in trouble. The benefit of it is that I can adjust the order of property to accommodate the fields order.

Let's think a different way of object initializer, the curly bracket { } means a sequence in c# in my understanding, like code block and list. As stated in the C# Specification (5.0): 

An instance of Point can be created and initialized as follows:

Point a = new Point { X = 0, Y = 1 };

which has the same effect as

Point __a = new Point();
__a.X = 0;
__a.Y = 1;
Point a = __a;

So it looks the order property setter can be guaranteed to be the same order of in the initializer.

Move website from AWS to Azure

1. Move physicals files
2. In Azure management portal, change pricing plan from FREE to SHARED
    Web apps > [your app] > SCALE
3. In Azure, find the IP address
    At the bottom of Management Portal, click Manage Domains
    Find the IP address:
4. In your DNS provider, add A record
5. In your DNS provider, add CNAME
6. In Azure, add your custom domain name in Mange DOMAINS
    It will be validated when the custom domain name is added.

Welcome to BlogEngine.NET

If you see this post it means that BlogEngine.NET is running and the hard part of creating your own blog is done. There is only a few things left to do.

Write Permissions

To be able to log in, write posts and customize blog, you need to enable write permissions on the App_Data and Custom folders. If your blog is hosted at a hosting provider, you can either log into your account’s admin page or call the support.

If you wish to use a database to store your blog data, we still encourage you to enable this write access for an images you may wish to store for your blog posts.  If you are interested in using Microsoft SQL Server, MySQL, SQL CE, or other databases, please see the BlogEngine docs to get started.


When you`ve got write permissions set, you need to change the username and password. Find the sign-in link located either at the bottom or top of the page depending on your current theme and click it. Now enter "admin" in both the username and password fields and click the button. You will now see an admin menu appear. It has a link to the "Users" admin page. From there you can change password, create new users and set roles and permissions. Passwords are hashed by default so you better configure email in settings for password recovery to work or learn how to do it manually.

Configuration and Profile

Now that you have your blog secured, take a look through the settings and give your new blog a title.  BlogEngine.NET is set up to take full advantage of many semantic formats and technologies such as FOAF, SIOC and APML. It means that the content stored in your BlogEngine.NET installation will be fully portable and auto-discoverable.  Be sure to fill in your author profile to take better advantage of this.

Themes and Plugins

One last thing to consider is customizing the look and behavior of your blog. We have themes and plugins available right out of the box. You can install more right from admin panel under Custom.

On the web

You can find news about BlogEngine.NET on the official website. For tutorials, documentation, tips and tricks visit our docs site. The ongoing development of BlogEngine.NET can be followed at Github. You can also subscribe to our Youtube channel.

Good luck and happy writing.

The BlogEngine.NET team

New language features in C# 6

Before looking into the new in C# 6, let look back the history of the C# language:

Sitecore 7

2 with Active Directory Module 1.2

TDS 5.1 is released

TDS 5.1 is released 9th Dec 2014. It's good to see TDS, one of best Sitecore plugin, keep itself getting better. We all had bad experience with TDS, but we can't live without it. Let's see what's new in this new release:
  • Managing Sitecore roles
    • a checkbox is available in project property
    • Same as Sitecore item sync
  • Sync items by using Sitcore's History Engine
  • Merging item when checking in.
  • Other minor improvement
    • Allow copy field value in sync window
    • Allow syncing even duplicated items is found
    • performance
Looking forward Hedgehog pushing Sitecore development to a new level!