Sitecore Swamp

Dive in the Sitecore Swamp


Upgrade to Sitecore 8 - When

Sitecore 8.1 has been released for a month now. If you are make yourself catch up with 6.x and they are going to out of mainstrean support by end of this year, and give another year for 7.1/7.2.
ProductInitial Release DateMainstream Support End DateExtended Support End DateSustaining Support End Date
Sitecore 8201531-Dec-201831-Dec-202131-Dec-2023
Sitecore 7.5201431-Dec-201731-Dec-202031-Dec-2022
Sitecore 7.2201431-Dec-201731-Dec-202031-Dec-2022
Sitecore 7.1201331-Dec-201631-Dec-201931-Dec-2021
Sitecore 7.0201331-Dec-201631-Dec-201931-Dec-2021
Sitecore 6.6201231-Dec-201531-Dec-201831-Dec-2020
Sitecore 6.5201130-Jun-201531-Dec-201731-Dec-2019
Sitecore 6.4201030-Jun-201531-Dec-201631-Dec-2018
Sitecore 6.3201030-Jun-201531-Dec-201631-Dec-2018
Sitecore 6.2200930-Jun-201531-Dec-201531-Dec-2017
Sitecore 6.1200930-Jun-201531-Dec-201531-Dec-2017
Sitecore 6.0200830-Jun-201530-Jun-201531-Dec-2016

What are the difference between the support phase:

Support TypeMainstream Support PhaseExtended Support PhaseSustaining Support Phase
Sitecore online documentation, knowledge base, and discussion forums access
Assistance with production incidents$
Security updates and fixes
Assistance with errors or unexpected behavior during installation or development
Addressing product defects as hotfixes or patches
Compatibility fixes for supported technology platforms
Timeline for each support phase, counted from the product’s general availability date
3 years6 years8 years


$Contact regional office for support options
-Not available

Following the mainstream 



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.