Wednesday, February 15, 2006

5.1.1.11 - Linking becomes shadowing?

Right, been absolutely entirely too busy of late to look into the recently released version 5.1.1.11 of Sitecore. Anyhow, it was released little over a week ago, and promised (among other things) the 5.1.1.8 IDTable bug fixed. And it is, so good news on that. Other curiosities, like the Proxy Item Template has also been "fixed" (this wasn't really a bug I suppose, more of a GUI hiccup) - so all in all 5.1.1.11 looks to be a promising release. Now I mentioned previously, it seems the support for upgrading existing sites (specifically version 5.1.1.4 sites) might begin to pose something of a problem. And indeed it is. Where I did manage to upgrade from 5.1.1.4 to 5.1.1.8 - it's not in any (reasonable) way possible to upgrade a 5.1.1.4 installation to 5.1.1.11. And I did try pretty much any trick I have in my book. Quite honestly - just because Sitecore deems it not worth their time to write proper upgrade scripts - doesn't mean my customers feel the same way. So no go. It's not like they keep quite about this though - it's clearly written on SDN (see picture). Doesn't mean I have to like it, or agree with it. All technicalities aside though - what IS happening to the "Linked Items" feature anyhow? Version 5.1.1.11 removes the "LinkedItems" table from the database, and introduces a new one; "Shadows". Ok. This was pretty much expected, as the LinkedItems did have architectural issues. As far as I can tell, this new table solves the issue of linking external items into the Sitecore content tree multiple times without creating multiple copies of items with the same ID. And sure enough, these Shadow items are now mapped into the DB, published to the Web database, shown on the site - all in all the technology seems stable, which wasn't really the case with Linked Items. Question though - and this is something I guess I'll look into a bit deeper. If proxied items are mapped/copied into the content tree like this... and the items are published into the Web database on publish... and the proxy item points to an item from a custom External Dataprovider (such as a Sharepoint Provider)... what happens to the live site, when a new item appears in the provider? (like someone uploading a new file into the Sharepoint content structure) Is a republish needed for the item to show? Would be a bit useless if this was the case - so am kinda hoping there's a key component here that I am overlooking. Or put differently: 1) I set up a proxy item, pointing to an external DataProvider (Sharepoint, for argument's sake) 2) On publish, the 300 items in the Sharepoint storage is copied to the Sitecore Web database 3) A user then uploads a new item to Sharepoint storage 4) ? So are we expected to set up these proxies directly in the Web database? guess that could work. However - what then, if someone wanted to link to an image in Sharepoint from an article written in the Sitecore Content Editor? ok - so we set up the proxies on both the Master and the Web databases then? Questions questions - and I've not had time to come up with a lot of answers yet. I'll look into it. If any readers has had time to look into it, comments and feedback will be very welcomed ;-)