<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="/rss20.xsl" media="screen"?> <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"> <channel> <title>Lars Fløe Nielsen</title> <description>Lars's ramblings about Sitecore, SaaS and .NET</description> <link>http://larsnielsen.blogspirit.com/</link> <lastBuildDate>Wed, 27 Aug 2008 13:06:43 +0200</lastBuildDate> <generator>blogSpirit.com</generator> <copyright>All Rights Reserved</copyright>  <item> <guid isPermaLink="true">http://larsnielsen.blogspirit.com/archive/2008/07/28/upgrade-tool-part-two.html</guid> <title>Upgrade tool, part two</title> <link>http://larsnielsen.blogspirit.com/archive/2008/07/28/upgrade-tool-part-two.html</link> <author>noreply@blogspirit.com (Lars Fløe Nielsen)</author>   <category>Sitecore</category>   <pubDate>Mon, 28 Jul 2008 11:15:00 +0200</pubDate> <description> &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;This is already being tested by several developers, and so far responses have been positive. Ivan Shamarok has even blogged about it: &lt;a href=&quot;http://sitecoregadgets.blogspot.com/2008/07/migrate-from-53-to-60-alpha.html&quot;&gt;http://sitecoregadgets.blogspot.com/2008/07/migrate-from-53-to-60-alpha.html&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;Before the conversion, I decided not to transfer Archive and Recycle Bin as both were empty, rendering these steps useless.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;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).&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here’s my evaluation of the tool:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;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.&lt;br /&gt;&lt;/li&gt; &lt;li&gt;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.&lt;br /&gt;&lt;/li&gt; &lt;li&gt;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.&lt;/li&gt; &lt;/ol&gt; </description>  </item>  <item> <guid isPermaLink="true">http://larsnielsen.blogspirit.com/archive/2008/07/23/sitecore-upgrade-strategy.html</guid> <title>Sitecore upgrade strategy</title> <link>http://larsnielsen.blogspirit.com/archive/2008/07/23/sitecore-upgrade-strategy.html</link> <author>noreply@blogspirit.com (Lars Fløe Nielsen)</author>   <category>Sitecore</category>   <pubDate>Wed, 23 Jul 2008 12:05:00 +0200</pubDate> <description> &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;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!&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;CMS 6 database conversion tool&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;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:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Upgrades database schemas: Upgrades your SQL database schemas to the new format (indexes, new tables etc).&lt;/li&gt; &lt;li&gt;Converts your user security to .NET security.&lt;/li&gt; &lt;li&gt;Migrates and overrides your data structure model, e.g. converts masters into branches.&lt;/li&gt; &lt;li&gt;Moves your data from old structure to the new database structure and converts media links into new dynamic link types.&lt;/li&gt; &lt;li&gt;Runs the update package: Deletes obsolete data (for example, removes obsolete field types) and adds new data.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Update package tools&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The update package tools consist of an update package generator and an update installation wizard.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Update package generator&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Some of you have might have noticed that it’s possible to serialize your item structure to&amp;nbsp;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?).&lt;/p&gt; &lt;p&gt;&lt;em&gt;Update installation wizard&lt;/em&gt;&lt;/p&gt; &lt;p&gt;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).&lt;/p&gt; &lt;p&gt;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 :-)).&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;div style=&quot;text-align: center&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://larsnielsen.blogspirit.com/media/02/02/340d94f00395f4df496714adefc20a01.jpg&quot;&gt;&lt;img name=&quot;media-226684&quot; src=&quot;http://larsnielsen.blogspirit.com/media/02/02/d27968d4c95539c3d642ecba435be639.jpg&quot; alt=&quot;340d94f00395f4df496714adefc20a01.jpg&quot; style=&quot;margin: 0.7em 0px; border-width: 0px&quot; title=&quot;Update Installation Wizard, Sitecore&quot; id=&quot;media-226684&quot; /&gt;&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why the waiting time?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Quality assurance means everything&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;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!&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Good news, - alpha being released soon&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;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 -&amp;gt; 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).&lt;/p&gt; &lt;p&gt;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).&lt;/p&gt; &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Other interesting topics and blogs&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://sitecorekh.blogspot.com/2008/07/preview-of-cms-6-database-conversion.html&quot; title=&quot;Preview of CMS 6 Database Conversion Tool&quot;&gt;Preview of CMS 6 Database Conversion Tool&lt;/a&gt;.&lt;/li&gt; &lt;li&gt; &lt;div&gt;&lt;a href=&quot;http://sharesitecore.wordpress.com/2008/07/22/modules-for-sitecore-6/&quot; title=&quot;Modules for Sitecore 6&quot;&gt;Modules for Sitecore 6&lt;/a&gt;: Shared Source modules being converted for Sitecore 6.&lt;/div&gt; &lt;/li&gt; &lt;/ul&gt; </description>  </item>  </channel> </rss> 