Monday, 09 November 2009

Another blog update

Uhm, it seems that my life is a constant monitoring of the blogosphere. Here goes a few new blogs

Monday, 14 September 2009

Blog post update v2

Based on your comments I have decided to clean up even more than I already did.

This list shows when the previous listed blogs was last active. Older blogs have been removed from my list, and from the updated syndicated RSS feed on http://pipes.yahoo.com/sitecore.

If you have ANY additions or modifications to this list, feel free to send me a mail or to comment on this blog.

UPDATE:

Added:

Steve Green - C# Flavoured ASP.Net Web Development using Sitecore CMS
URL: http://blog.capaxsolutions.co.uk
RSS: http://blog.capaxsolutions.co.uk/feed/

 

Last Active Blog name URL
25-Aug-2008 0 Derek Roberti - taxonomy and hierarchy... http://contenttree.blogspot.com/
11-Mar-2008 0 Derek Roberti - Web Content Management... http://cmsmarketing.blogspot.com/
23-May-2007 0 Jacob Christensen - Sitecore Core Development http://sitecoredev.blogspot.com/
16-Dec-2008 0 Kim Hornung - Sitecore Development http://sitecorekh.blogspot.com
16-Jan-2006 0 Ole Thrane - Sitecore API http://sitecore.spaces.live.com/
28-Sep-2008 0 Sergey Marchenko - smar's thoughts... http://dev-smar.blogspot.com
6-Jun-2009 1 Alenka Caserman - Sitecore Experience http://sitecoreexperience.spaces.live.com/
10-Aug-2009 1 Alex de Groot - .Sitecore http://sitecore.alexiasoft.nl
2-Jun-2009 1 Alexey Rusakov on Sitecore development http://www.alexeyrusakov.com/sitecoreblog
3-Sep-2009 1 Alexy Shyba - Sitecore Support http://sitecoresupport.blogspot.com/
22-May-2009 1 Dmitry Vasilinenko - DV's notes http://vasilinenko.blogspot.com/
17-Sep-2009 1 Greg Baxter's Blog http://gregbaxteranz.spaces.live.com/
19-Mar-2009 1 Ivan Sharamok - Sitecore Gadgets http://sitecoregadgets.blogspot.com/
26-Aug-2009 1 Jimmie Overby - Sitecore Shared Source http://sharesitecore.wordpress.com/
11-Sep-2009 1 John West - Blogs about Sitecore http://sitecorejohn.spaces.live.com/
15-Jun-2009 1 Kerry Bellerose - Sitecore behind the scenes http://kerrybellerose.blogspot.com/
10-Sep-2009 1 Lars Fløe Nielsen, Lars's ramblings about Sitecore, SaaS and .NET
http://larsnielsen.blogspirit.com/
1-Sep-2009 1 Martin Vikkelsø - Sitecore on the road http://sitecore-on-the-road.blogspot.com/
4-Sep-2009 1 Michael Casey - Content Management, Business Champions and Developers http://mikecaseycms.blogspot.com/
2-Jun-2009 1 Philipp Heltewig - Sitecore Around The World http://philheltewig.spaces.live.com/
8-Sep-2009 1 Sitecore Northeast http://sitecorenortheast.wordpress.com/
9-Sep-2009 1 Sitecore West’s Blog http://sitecorewest.wordpress.com/
14-Sep-2009 1 Sitecoreaustralia's Blog http://sitecoreaustralia.wordpress.com/

 

Last Active Blog name URL
28-Mar-2008 0 Anders Dreyer on Sitecore Development http://sitecore.blogspirit.com
17-Sep-2007 0 Company Addition - The Sitecore Experience http://thesitecoreexperience.blogspot.com
1-Oct-2008 0 James Fraser - Arrested development http://jefraser.wordpress.com/category/sitecore/
26-Feb-2008 0 Jens Mikkelsen - Sitecore tweaks and Tricks http://sitecorejm.blogspot.com/
- 0 Krystle Magadia - Krystle/Sitecore - chic beginner http://km-sitecore.tumblr.com/
6-Oct-2009 0 Richard’s Blog - (Sitecore category) http://richdias.wordpress.com/category/sitecore
3-Sep-2007 0 Sitecore Smoothie http://sitecoresmoothie.blogspot.com
10-Aug-2009 1 Aboo Bolaky - {.NET, C#, Sitecore ...} Free your mind... http://www.bolaky.net/
4-Sep-2009 1 Alistair Deneys - Coffee=>Coder=>Code http://adeneys.wordpress.com/
11-Sep-2009 1 Brian Pedersen's .NET blog http://briancaos.wordpress.com/
7-Sep-2009 1 Chris Wojciech - The way is the goal http://blog.wojciech.org/?cat=5
11-Sep-2009 1 LearnSitecore http://learnsitecore.cmsuniverse.net/
11-Mar-2009 1 Marco Tana - roundedcube on sitecore http://rc-sitecore.blogspot.com/
3-Sep-2009 1 Mark Cassidy - Into the core http://www.cassidy.dk/blog/sitecore
19-Aug-2009 1 Mark van Aalst - blogging mostly about Sitecore development http://www.markvanaalst.com/
26-Jul-2009 1 Paul George - Web development with asp.net & Sitecore http://blog.paulgeorge.co.uk/
22-Jul-2009 1 Pentia core team - Molten Core http://mcore.wordpress.com/

Thursday, 10 September 2009

Updated blog list

Hello everybody,

I have recently updated the list of Sitecore bloggers both on my own Blog list(s) as well as on Yahoo Pipes. If you have any additions, please let me know.

New entries are highlighted with bold.

Sitecore Blogs

External Blogs

Sitecore official

In addition, - if you don't want to get all of these blogs into your feed reader, - subscribe to this feed which syndicates all of the above

http://pipes.yahoo.com/pipes/pipe.run?_id=ZsFOz4a62xG9Py3Idbq02Q&_render=rss

Anybody, anything missing? Feel free to comment

Wednesday, 05 August 2009

Sorting your items on your website

Alex de Groot wrote an excellent article the other day where he explains about one of the often forgot, but powerful features in Sitecore: Sorting Sitecore Items: http://sitecore.alexiasoft.nl/2009/08/04/sorting-sitecore...

His article even illustrated how to write a comparer and use it in Sitecore.

Essentially, Alex’s article explains how to assign a sorter:

You select a node in the content structure, and then select a sorting mechanism which will applied to existing child items as well as to new child items (provided that you haven’t been sorting manually, then this takes precedence).

Whether you publish, - or run live mode on your web site, any time you request a child list of a node, the order you see in your content structure will also be the order you get the list in. So, if your content in the content structure is sorted by item name, your item.Children will return this order as well.

But what happens if you want to create a web control which sorts the content in another order, for example by creation date?

Why not reuse the comparers you have in Sitecore for this purpose?

      Sitecore.Data.Items.Item contextItem = this.GetItem();
      ChildList children = new ChildList(contextItem);
      children.Sort(new Sitecore.Data.Comparers.CreatedComparer());

Pretty neat, right?

But why not take it one step further and create a web control where whoever inserts the web control may choose the comparer at that time: Instead of coding into your web control which sort mechanism to use, why not a take this value from a web control property?

And while at it, - why not built a rendering properties template that allows the editor to select the sort mechanism from a dropdown list:

image001.png

Create custom property

To build the UI with the “sort” dropdown, first build a template inheriting from “Standard Rendering Parameters” (/system/layout/rendering parameters/standard rendering parameters.

Add a single field, “Comparer” (must match the property in your web control), with the data type “Droplink”. Also set the data source to the comparers node: /sitecore/system/settings/subitems sorting.

image003.png

Create web control

Next, build or extend your web control to accept a Comparer property. This property will accept a string with the GUID referring to the item where the comparer is defined. The code for this control looks like this:

namespace UsingComparers {

   public class SimpleMenu: Sitecore.Web.UI.WebControl {

     private Sitecore.Data.Comparers.Comparer _comparer =
      new Sitecore.Data.Comparers.DefaultComparer();
    private string _comparerIDString =
      "{781247D2-9785-400F-8935-C818EC757967}"; // Default comparer

     public string Comparer {
      get {
        return _comparerIDString;
      }
      set {
        _comparerIDString = value;
        Sitecore.Data.ID comparerID =
          Sitecore.Data.ID.Parse(_comparerIDString);

         Sitecore.Data.Items.Item ComparerItem =
          Sitecore.Context.Database.GetItem(comparerID);

         string comparerClassField = ComparerItem["Type"];

         _comparer =
          Sitecore.Reflection.ReflectionUtil.CreateObject(
            comparerClassField, new object[0])

            as Sitecore.Data.Comparers.Comparer;
      }
    }

     protected override void DoRender(HtmlTextWriter output) {
      Sitecore.Data.Items.Item contextItem = this.GetItem();

       ChildList children = new ChildList(contextItem);

       children.Sort(_comparer);

       foreach(Sitecore.Data.Items.Item child in children){
        output.Write(child.Name + "<br />");
      }
    }
  }
}

Register web control

Register your web control as a new web control rendering (/sitecore/layout/renderings), and select the “Parameters Template” field to the template defined above:

image005.png

Monday, 15 September 2008

Status on the upgrade tool

As some of you know, the Sitecore 6 database conversion tool has been in beta now for quite a while. The last intensive test report came up with very few issues, - mostly related to cosmetic issues.

I also know that several upgrade projects have been running simultaneously to the Beta, - and I wish to extend a thank you for the constructive and positive feedback.

 

Some issues have revealed themselves when our partners have been using the system. For example, while Sitecore has always been a product focusing on security, version 6 locks down even harder: Editors in the past with weak passwords would automatically not any longer have access to the system, and the admin must reset their passwords. This is great for security and ultimately for our customers, but what happens if the Administrator is the only user, and has a weak password too?

In this case, we are currently changing the password to the user name: Of course, whoever updates the system will get a post conversion notification to change the password(s).

 

Most of this stuff is really something we could release the product with now, but as part of our release strategy, we have decided not to release with known issues that would be inconvenient for our partners and customers.

 

Anyways, - now only 2½ months after the product release, it looks like we’re ready for the official release. These days, we’re passing the conversion tool to yet another test cycle, and if nothing pops up, - release day.

Monday, 28 July 2008

Upgrade tool, part two

Some of you might read my post last week about the Sitecore upgrade strategy. In this respect, the tool for upgrading your web site to version 6 was released in an Alpha version.

This is already being tested by several developers, and so far responses have been positive. Ivan Shamarok has even blogged about it: http://sitecoregadgets.blogspot.com/2008/07/migrate-from-....

 

I decided to give it a try with my own little hobby project, which I would consider a fairly standard best practice web site, - with (multiple) data inheritance models and extensive use of standard values/masters. I also use a single proxy item.

As a twist, however, the site is a combination of editing/extranet site where the core and the public site would use the same security database. Another layer of complexity is that the user is allowed to edit their personal profile information. This, - I knew, would have to be addressed specifically (re-coded to Sitecore 6) as user objects would no longer reside in Sitecore, but in the .NET security database. According to documentation, this should be the only possible breaking change that requires recoding.

Before the conversion, I decided not to transfer Archive and Recycle Bin as both were empty, rendering these steps useless.

 

The database conversion took me 45 minutes; - even with such disturbance only a baby daughter playing on your lap can give you. In the data structure test I did after the conversion, I didn’t find a single conflict or issue. I was especially impressed that roles and users were moved so easily from the older structure to the new structure.

In the evening, I decided to address the issue of recoding the user profile editor. I grabbed the new user object which holds a property bag of all profile information (it wraps the .NET profile bag and simplifies read/write operations). I reckon recoding this took me less than half an hour to code and test (no baby on lap though).

 

Here’s my evaluation of the tool:

  1. So far, - It seems to work without flaws. During my conversion, I didn’t found any issues. Off course, this is an Alpha, and I would love to hear about others experiences with the upgrade tool.
  2. The process of upgrading your solution is around 10 steps. These steps all, except for two, seems mandatory, - and here comes my only “complaint” (I know this is being considered by the team): Why not create a single “go”-button that executes all steps? Optionally an “advanced” mode that switches into the current step-by-step mode (for those who have made significant customizations to the system). Anyways, - it’s a matter of saving 10-15 minutes.
  3. The documentation is very comprehensive: It explains each step that you go through, - in detail, with screen-shots. In addition, it explains what you should be aware of, - given your solution is highly customized, - and what you should do to solve it.

Wednesday, 23 July 2008

Sitecore upgrade strategy

Yeah, - I know it. We’re getting hammered by partners and by bloggers for not supplying an upgrade script that immediately allows you to upgrade your databases from Sitecore 5 to Sitecore 6.

Allow me to explain why: With the latest release of Sitecore 6, we have spent thousands of hours testing the system in order to ensure maximum quality and optimal experiences for our customers. Naturally this should also apply to everything else we do; for example marketing material, documentation, training… And upgrade frameworks!

A dedicated team, lead by Kim Hornung has been working several months to define a strategy for future product upgrades. This internal framework consists of several elements that should make upgrade as painless as possible.

 

CMS 6 database conversion tool

The Sitecore 6 database conversion tool will make it possible to upgrade your Sitecore 5.3.1 database and data structure to Sitecore 6. It even takes into regards the major changes that come with the removal of masters and the introduction of branches. Here’s an overview of what the tool does:

  1. Upgrades database schemas: Upgrades your SQL database schemas to the new format (indexes, new tables etc).
  2. Converts your user security to .NET security.
  3. Migrates and overrides your data structure model, e.g. converts masters into branches.
  4. Moves your data from old structure to the new database structure and converts media links into new dynamic link types.
  5. Runs the update package: Deletes obsolete data (for example, removes obsolete field types) and adds new data.

The update package is very interesting in this respect: While this new tool was primarily designed for upgrading minor versions (e.g. 5.3.1.15 to 5.3.1.16 or even 5.2. to 5.3), we also utilizes some of the features to remove obsolete items, fields from the recently upgraded database. In this Sitecore 6 update it basically means that it will clean up your upgraded Sitecore and updates your system templates.

 

Update package tools

The update package tools consist of an update package generator and an update installation wizard.

Update package generator

Some of you have might have noticed that it’s possible to serialize your item structure to text (files) in the latest Sitecore 6 edition. The update package generator differentiates two serialized structures and compiles it into a package of items, fields and field values that has been added, modified or deleted. In addition, it does the same to the physical files structures. It even differentiates on field level and contents level (was the old value the same as the new value?).

Update installation wizard

As explained, the update package consist of new items and deleted items, new, modified and deleted files, and a list of expected values. The installation wizard checks the expected values with the current value and either presents options to the user, or resolves potential conflicts (it is even designed to build new versions, but I’m not sure we’ll release this functionality in version 1).

This means that within the entire process of defining the Sitecore upgrade strategy, our team has built a tool that will make future minor upgrades very simple (hopefully :-)).  

340d94f00395f4df496714adefc20a01.jpg

 

Why the waiting time?

We had the choice of postponing the release of Sitecore 6, - and wait until the database conversion tool was ready. Alternatively, - and this was the approach we chose; release Sitecore 6 and let the database conversion tool follow immediately after the release.

 

Quality assurance means everything

Before we release this tool, we want to test the quality and stability, preferably on live environments. So far, I have seen this tool upgrade the Sitecore 5.3.1 starter kit (notice, we have build a brand new starter kit for Sitecore 6 that utilizes newer functions, but that’s beside the point). During the demo, it took us around 30 minutes to do a full, clean, fully functional upgrade from Sitecore 5.3.1 to Sitecore 6. It cleaned up the old field types, converted security… well everything!

The team is currently testing this with other web sites (as far as I know, even our own public web site). Hopefully, these tests fall out positively.

 

Good news, - alpha being released soon

Very soon, possible even this week, the upgrade team group will release an Alpha version of the CMS 6 DB conversion tool. It contains all the elements needed to do a 5.3.1 -> 6 update, but needs the polish that makes it into a full flying conversion tool (interface looks like something I could have designed, and the upgrade flow leads to a lot of unnecessary steps).

But this is the tool that took our Starter kit 5.3.1 to Sitecore 6 in just 30 minutes (bear in mind, it was done by someone who knew what each step meant; you guys should expect additional time to read the documentation).

Also expect, if your solution is not using only XSLT controls, that some recompilation of your project may be required. You should also expect to spend time optimizing your code and use correct methods instead of deprecated methods. Finally, if you have extended the existing security model, this must be rebuilt as Sitecore 6 is based on the .NET security model.

 

Other interesting topics and blogs

Friday, 18 July 2008

MWPC 2008, Sitecore 6, Marketing Material

Let me start by apologizing that I haven’t been Blogging for a while. It’s been very hectic the last 2 months: Sitecore has been ending our financial year (couldn’t hardly been better) which I have been deeply involved in. Off course this takes time, but at the same time, we have also been releasing our new Sitecore 6 edition.

 

I won’t say it’s probably the best edition we have ever released. I will rather say that I’m sure this is the most ground-breaking, stable edition we have ever released!

 

While these cool features immediately is not visible for the naked eye (it looks very much like the previous Sitecore), - a lot has changed. As our CEO likes to say: This time it’s not a revolution, it’s an evolution! And I have to agree:  Features has been refined into something that’s close to perfection: Editing directly from the page, but still storing data into an atomized storage. Designing the page from the editing interface, - but STILL separating content from presentation (one of the absolute strengths of Sitecore).  And much more: Sitecore press release. CMSWire - Sitecore 6 Walkthrough

And at the same time,I’m proud to say that it’s the most well-tested, analyzed, usability tested product we have passed to the market.

 

This time we also decided to have everything ready for the release, - which was immediately prior to Microsoft Worldwide Partner Conference: Marketing material, training material, licensing model etc. all had to be done before releasing the product. During summer you will also see additional material popping up such as technical marketing material, etc. First ratings has been absolutely positive.

 

Strongly supported by other analysts, such as Gartner group, this absolutly strenghtens Sitecores profile.

 

Here's a snippet of some of the new marketing material. Have a look at YouTube to get higher quality.

 

We participated on the Microsoft Worldwide Partner Conference 2008 again this year, - and again as gold sponsor, - this year with around 25 participants. Have a look at the album for MWPC.

a2008bb0d3998324ac5d6cb203bd8c47.jpg

Monday, 07 April 2008

Task Manager as Shared Source

I want to support the Shared Source initiative too, and have therefore decided to upload and share the Task Manager for Sitecore.

If you just want to use it in your Sitecore application, download it from the project room for the task manager application: http://trac.sitecore.net/TaskManager.

 

So, what can you use it for?

You can start the task manager directly from your task bar on your Sitecore desktop. It’ll show you all job processes of Sitecore (background processes), with their status. For example, try do a full publish, then close the publish dialog while it’s publishing (it’s a background process, meaning this will not cancel the publishing process). The task manager will show you the publishing status, - while you can continue working with other applications such as the content editor.

fdc5ac68c77a6cdb3ae3670fb4ca1912.jpg

It’s also possible to use it as a traditional performance monitor. Why is this cool? It’s cool, because you can start a task manager on an application outside your firewall, - without any other access than http requests.

b76406b5d383e1910268616813ddefd5.jpg

 

Help me here

I REALLY would like some to help me clean up in this installation. A few years ago, I built this application as a POC on the capabilities on Sheer UI, and have recently changed part of the architecture to support multiple users on the same process collection unit. But I have not cleaned up the source in any significant way.

Drop me a mail, ln at Sitecore.net, to join the Task Manager Project group.

Wednesday, 26 March 2008

New Zealand too!

Last week, Alistair from Australia did release a movie around his amazing Revolver module. Apparently, New Zealand doesn’t want to hold back on cool stuff either.

Have a look at James Fraser’s blog post about displaying multiple validation results in the Sitecore Content Manager.

I’m definitely going to put these two blogs on my watch list.

ANZ rules!

09:45 Posted in Sitecore | Permalink | Comments (0) | Email this | Tags: Sitecore, ANZ

All the posts