Sitecore 6: Serializing items and whole databases *Updated*

In Sitecore 6 we’ve introduced an extremely cool functionality which is called serialization. You can identify this functionality in the ribbon interface:

In the Developer tab of the Ribbon, you'll find the serialization options.

Ok, cool Alex, but what’s the purpose of this functionality? We all know how hard it is to maintain different environments in a structured way. Most of the Sitecore partners are using a combination between packages, version control and database script to make sure they migrate excellent.
From version 6 we allow you to serialize a single item, a tree or an entire database.

How stuff works…
To get an overview how stuff works, please have a look at this movie.


Stay tuned for more information about Sitecore 6, serialization and everything going on in Sitecore world!

Update: movie has now a new version which is a bit bigger(28mb) but uses zoom so it should be more clear what I’m doing. Enjoy!

Your programming competence’s

I came across this matrix all about programming competence’s. I was quite impressed about my score:

  • Computer Science: a bit more Level 2 then 3.
    It seems like my education has covered a lot of the required areas. But still I’m not the guy who’s going to explain any kind of data structure without even looking at some detailed material. Some knowledge must remain in books… not in your head!
  • Software Engineering: Absolutely Level 2.
    I’ve been doing version control, build scripts and TDD. But never been a step further.
  • Programming: again somewhere between Level 2 and 3.
    For 50% of the action I’ve got experience in the 3rd Level, but unfortunately I do not write enough code these days to enrich my knowledge.
  • Experience: Level 2.
    Only in years of experience am I missing some years 😉
  • Knowledge: Again between 2 and 3.
    My general interest for everything in the computer world even keeps me awake, so I guess I’ll reach Level 3 some day…

Take the test yourself and see where you can improve your skills. It’s nice to see such a matrix!

Event with Christian Daems!

I’m pretty proud to announce that I’ll speak on the 17th of July, together with Christian Daems on a partner event hosted at LECTRIC Internetoplossingen. The event is all about Sitecore’s vision: 7 habits of a good and effective website.
Registration is for free and can be done on the ‘Internet Seminar website’. The exact details of the program include a partner case, Christian, me and a Sitecore demonstration.

Hope to see you there!

Why are exceptions so dangerous? And what to do about it.

I often find out that I can cause exceptions on Sitecore sites. This can really harm your website. For example, enough exceptions can let your application pool perform a restart. After this restart your Sitecore installation will re-initialise its cache which takes some times. I’ve even seen that IIS dumps it’s full memory running on IIS6 in Isolation mode.

Instead of letting your exception passing through to the user, I’d recommend to create an error page or even better handle it into your current page. Especially when you depend on Querystring parameters(= user input), don’t trust anybody and always check your input before using it. Also use pre and post conditions. Example: if you have 12 news pages, check if the requested pageNumber is between 1 and 12 before accessing it. Otherwise return a default value.

You can find more information on how IIS and ASP.NET behaves when you’ve got some issues on the following 2 links:

Good luck protecting your pages against these issues!