Feed on
Posts
Comments

My last entry about serializing items and whole databases was kind of more an introduction. Today I’m going to explain in detail what the ribbon buttons do. I’ll finish this series tomorrow by showing how to do this from code.

Developer toolbar with serializating tools

Serialize Item: This option let’s you serialize the currently selected item to disk. This means that when you serialize for example /sitecore/content/home, the following stuff will be created in %root%/data/serialization:

  1. Let’s assume that the item located is in the master database, then the action will create a folder ‘master’.
  2. The action creates creates the folder: /sitecore and /sitecore/content
  3. Finaly the item creates a home.item-file which contains the contents of the item

Serialize Tree: This option is similar for the first 2 steps comparing it to serialize item. In the third step the action now creates a hierarchy of items and folders from the current item.
Let’s assume that the home item has 2 child items, e.g. child1 and child2. The system will create the following folders and items:

  • /master/sitecore/content/home.item (item-file)
  • /master/sitecore/content/home/ (folder)
  • /master/sitecore/content/home/child1.item (item-file)
  • /master/sitecore/content/home/child2.item (item-file)

Update Item: This option loads an item from disk without forcing to overwrite. So if a field in empty(null) or a versions doesn’t exists, the Update Item will add this data, but never overwrite.

Revert Item: This options load an item from disk but forces to overwrite. So when fields have changed, they will get processed and overwritten. You can imagine this might be a bit more time intensive then the previous one.

Update Tree: Same as update item, but now for a whole tree.

Revert Tree: Same as revert item, but now for a whole tree.

Update Database: Same as revert item, but now for a whole database.

Revert Database: Same as revert item, but now for a whole database.

 

There’s also a hidden command, which is of course unsupported ;) . It’s called ‘LoadAllDatabases’. To enable this, go to you core database and navigate to: /sitecore/content/applications/Content Editor/Ribbons/Chunks/Serialize. Then duplicate ‘Update Database’ and ‘Revert Database’. Change the names to ‘Update all Databases’ and ‘Revert all Databases’. Use the following commands: ‘itemsync:loadalldatabases’ and ‘itemsync:loadalldatabases(revert=1)’.
Have fun!

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.

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!

I came across this description of implicit and explicit personalization.
Personalization is a regular topic these days. But it’s extremely annoying when people are unable to separate implicit and explicit.

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!

This time for developers. I’m still missing the url to express. But still it remains cool…

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!

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!

Wohoo, just published: Sitecore Crestone, also known as Sitecore 6!
Our answer on everything what could get better and everything we wanted to work better, smoother, nicer, etc.

The release includes:

  • Inline editing(on your website)
  • Simplified working with Sitecore
  • Improved security model
  • Smarter and faster Content Editor
  • Improved Configuration management

Click to get a full ‘What’s new’ document.

Go ahead and jump to the documentation section on SDN with the latest details. Have fun!
And congratulations to our CMS, Documentation, Module, Product Marketing and Product Management teams that they’ve created this evolution is Sitecore world.

We received a lot of great feedback about the internal Sitecore Search. Today I’ll show you what we’ve done to make sure that the Search in Sitecore 6 will be used as a way to really navigate through your content.

First of all integration in the content tree:

Sorry for the background noise. I’m couldn’t get it out of my screencast. But hey, at least we’ve got a cool ‘Channel 9′-like screencast ;-) .
Another small screencast about search later this week.

For a prospect customer I’ve created a prototype where the URLs where translated in Sitecore. As this solution was pretty much well-designed and documented, I’ve decided to share it with the rest of the world.
The solution is designed for Sitecore 5.3 and does take advantage of the C# 3 features.

You can find the module here, inclusive architecture overview, code samples, known issues and installation guide:

http://trac.sitecore.net/SitecoreTranslation

« Newer Posts - Older Posts »