Saturday, December 10, 2011

Sitecore GeoIP Country Resolving - Jump to Lightspeed

There is always a trade-off between the website performance and the number of features you want to provide to the visitors. With MaxMind GeoIP services, which are tightly integrated with Sitecore DMS you can get the detailed info about each website user, but sometimes it can take a while to retrieve all requested information.
In this article, I'll show how to customize Sitecore, to use GeoLite database for instant country resolving.

Saturday, November 5, 2011

Client Event Tracker - Examples & Demo Page

My previous blog post about Client Event Tracker module for Sitecore was rather technical and did not contain real examples. Since it's much better to show something once than say about it many times, I've created Demo Page, where you can see how the module can be used, side by side with simple results view.

There are 3 examples, let's review them briefly.

Wednesday, November 2, 2011

Sitecore Update Helper

In this blog post I just want to present my project called Sitecore Update Helper. It's a simple website that helps to  prepare to Sitecore CMS update by displaying update steps and links to appropriate pages on SDN.
You just need to specify source / target versions, and click "Process".
This is what you get if you want to upgrade from 6.1.0 Initial Rel. to 6.5.0 Update-1:

If you have any questions or ideas - do not hesitate to leave your comments.

Monday, October 24, 2011

Language Fallback and Sitecore Dictionary

Sitecore CMS Dictionary is the best place to keep all texts that can be used across the site: "read more", "click here", etc. . It's internal architecture is a little unusual - it stores key/value pairs in the temp file  /{yourSiteRoot}/temp/dictionary.dat, which is updated during item:saved event(via the handler in web.config).

Monday, September 26, 2011

Client-Side Event Tracking with Sitecore Analytics

After the previous blog post about combining JavaScript and CSS, I decided to create more modules standardizing features that can be used out of the box at many websites.

Today I'll describe new module that allows tracking client-side events with Sitecore Analytics. Such feature is really important for today's highly interactive sites, and you'll see how easy it is to implement it for Sitecore.

After installing the module, you'll be able to track external file downloads, Ajax events and any kind of visitor interaction that does not cause the page to refresh (expanding / collapsing page areas, popup windows, etc.).

Sunday, June 12, 2011

Combine and minify JavaScript / CSS in Sitecore CMS

For a long time I tried to find a solid JavaScript / CSS combining and minifying solution, which is  easy to use, extensible and works with Sitecore without need to change sources, etc.
It’s not that hard to create own custom tool, but for many reasons it makes more sense to use actively developed and well-tested project.

Monday, May 23, 2011

Globe Dashboard Experiment

While browsing through the Web, I've recently found interesting collection of experimental web apps from Google, built using HTML5, WebGl, and other technologies.  I was amazed by the WebGl Globe application - an open platform for geographic data visualization.

Nearly at the same time, Sitecore announced Digital Marketing System 2.0 with optimized analytics API, new dashboards and reports.

Today we'll create a delicious cocktail from newest technologies and tools. Let's take some WebGl and mix it with jQuery, put it into Sitecore DMS and add some DatePickers from jQuery UI. Add a few pieces of WCF Service and transfer into the Shared Source.

Saturday, March 19, 2011

Mobile Device Detector - Performance

The last blog post about Mobile Device Detector was so popular, that I've decided to post updates and some results of performance profiling without delays.

Tuesday, March 8, 2011

WURFL-based mobile device detection for Sitecore CMS

Mobile web browsing is so popular nowadays, that I was confused by the fact that there is no plug'n'play mobile detection solution for Sitecore and many people still use odd code like "if(userAgent.Contains('iPhone')...".
The best mobile device database is WURFL, and it has a great .NET API from 51 Degrees... so what are we waiting for? Let's create a new module!

Sunday, February 6, 2011

Visualizing Sitecore Roles Inheritance

Have you ever needed to review the security model of existing website? If yes, then you probably know how to use the Role Manager and "Member of" / "Members" buttons, or extract roles information via API. But how to get the quick summary if there is a hundred of roles? If A1 is a member of A2 where A2 also has members A3, A4, ... Can't imagine? -Visualize it!