Thursday, September 6, 2007

Over 1000 Certified Sitecore V5 Developers

I’m proud to announce that today we certified our 1000th Sitecore V5 developer (and our 1001st and 1002nd).

The number of certified developers is increasing worldwide at an average rate of about 70 developers a month. What's more, about 30% of our certified developers go on to become certified in our API as well (what we call Level 2 certification).

Thanks to all our dedicated Sitecore training centers and instructors for their help in reaching this milestone!

All our certified developers have filled out evaluation forms at the end of training and the results are overwhelmingly positive, especially in their praise of our high quality Sitecore instructors.

If you haven't attended Sitecore training yet, visit the Training section of our website to learn more about the training courses available near you!

Monday, July 23, 2007

Bringing Wizards to the Desktop

It's been a while since my last post, which faithful readers will come to know means that I've been busy doing a lot of writing for my day job at Sitecore. I want to take a second to point out a couple of quiet releases we've made recently. In particular, the Extranet and the Wizard modules.

Now, those of you who have subscribed to the Downloads RSS Feed have probably already noticed these, but I want to point out a couple of special features about both of these.

  1. Desktop Wizards - with source code!

    Both these modules provide full featured wizard style interfaces that run automatically after the package installation and are available via the Sitecore "start" menu.

    What's so cool about that?

    Well, for one thing, the Extranet wizard allows you to add a login form to all the items based on a set of templates in a few clicks. Doing this manually is straight-forward, but after you've opened a template, then opened its corresponding standard values, then opened the Presentation tab, then opened the Layouts drop list, then selected the Edit button, then selected the Add button, located the login form sublayout, typed in the placeholder, and finally selected the OK button on all open dialogs a few times, you realize that this can get tedious if you have to do it for 20 templates.

    With the Extranet configuration wizard, the effort required for 1 template is just a few clicks, and for each additional templates just add a click or two more.

    This is great, of course, if you want to add a protected area on your website (and the Extranet module saves you days of work if you do, plus it's free!).

    Even more importantly, however, we provide the source code and detailed documentation explaining how its all done!

    And, you guessed it, that's not all!

    The wizard module provides you a nice, clean, easy to understand, minimal yet functional, sample wizard that you can use as the starting point for your own configuration wizard (or any other kind of wizard that you want to create). And once again, it's free, the source code is provided, and the documentation explains everything you need to know.

    If you've been thinking about extending the Sitecore Desktop but haven't known where to start, the Wizard module is just what you're looking for!

  2. Starter Kit Plug & Play

    Another great thing about both these modules is that they know when they are being installed in a site that has been developed using a Sitecore Starter Kit. That means that the installation program knows what placeholders exist and therefore can position the login form and other functionality automatically.

    This is a great advantage for those of you who are leveraging a starter kit to shorten development time so that you can increase value for your customers.

    Our vision is to continue this approach for all our modules eventually.

So if you want to get a glimpse of the future, and perhaps to start contributing to the future yourself, have a look at these two free modules!

As always, we look forward to your feedback and ideas for improvements. Please don't hesitate to contact me if you have either.

Wednesday, June 13, 2007

Issue with Starter Kit CSS on IE 6.0 and Safari

Torben Brams noticed that the Starter Kit help site has a cosmetic issue on some pages. Basically, any page throughout the starter kit that displays a menu and content column (no sidebar) and displays a sub-item overview drops the content under the menu on IE 6.0 (as shown below).

I verified this and retested the in Safari and found that it also has some issues with these pages.

To fix the IE 6.0 problem, I changed the #menu-and-content-sublayout-content width from 770px to 750px.

To fix the Safari problems I added a width of 95% to .subitem-overview. This has the side effect of making contact subitems in the sample site appear as a list of locations, rather than a table, but this is more consistant after all.

We will place this under known issues in the starter kit release notes, but you, as a reader of my blog, knew it first :o).

You can download the updated starterkit.css here, if you have already starter working with the starter kit.

Monday, June 11, 2007

Modifying the WebEdit Menu

The Rev. 070531 release of the starter kit improved the WebEdit floating menu. The changes, as described by the Release Notes, are as follows:

  • Unnecessary commands (such as Workbox, Publish, and Switch to Preview) removed from the WebEdit Floating Menu.
  • Change Password command added to the WebEdit Floating Menu.

Making such changes to the WebEdit menu is very simple. You don't need to work behind the scenes at Sitecore to make similar changes to your own site. This post describes how it was done.

  1. You need to start by logging into the Desktop user interface.
  2. Next switch to the Core database (this is where the Sitecore user interfaces are defined).

  3. Now open the Content Editor, locate the /sitecore/content/Applications/WebEdit/Toolbar item, and open it to reveal its children.
  4. To remove commands from the menu, simply delete them.
    Or, if you want to be more sophisticated, you can use security settings to decide which roles or users should be able to "Read" the command. Sitecore already does this by assigning Read access for Delete command to the Sitecore Client Authoring role.
  5. To add your own command, copy one of the other commands or create a new item based on the /sitecore/templates/Toolbars/Toolbutton template.
    To create the Change Password field, we set the following values:
    • Click: security:changepassword
    • Header: Change Password
    • Icon: Network/16x16/key1.png
    • ID: Change Password
    • Tool tip: Open the Change Password wizard.

"Right! OK, that seems very simple," I hear you say, "but I want to create a command to do something else, like offering sorting commands or calling my own method."

Good point. Knowing how to create one specific command is just a bit of trivia. What you really want to know is how to create any command, right? Teach a man to fish, and all that.

Creating General Commands

In order to create general commands, you need to know how Sitecore interprets the various field values and how you can choose appropriate values for what you want to achieve. Let's take them one at a time, shall we?

  • Click
    To find an appropriate value to place here, it helps to be a bit of an explorer, especially if you want to provide a command that already exists elsewhere in the user interface.
    A good approach is to locate the functionality you want to mimic. This will provide clues for how to implement the functionality in the WebEdit menu (or anywhere else, for that matter).
    For the Change Password feature, for example, we know that this functionality already exists in the Control Panel, on the Preferences page, and sure enough, under the /sitecore/content/Applications/Control Panel/Preferences item, we find a Change Password item with a Click field. We just copied the values for this field into the Click field in our new WebEdit Toolbutton.
    If you want to call your own code when someone clicks on the method, rather than some code that Sitecore has provided, then you'll want to add a command element to the [SitecoreRoot]/Website/App_Config/Commands.config. This is how the security:changepassword value works. In fact, if we have a look in the commands.config file, we'll find this line:
    <command name="security:changepassword" type="Sitecore.Shell.Framework.Commands.ChangePassword,Sitecore.Kernel"></command>
    This tells Sitecore to call a the Execute method of the Sitecore.Shell.Framework.Commands.ChangePassword class, which has been built into the Sitecore.Kernel.dll. If you wanted to call your own class, say MyCompany.MyNamespace.MyClass, you'd create an Execute method in that class that accepted a single parameter (here's an example method signature):
    public void Execute(Sitecore.Shell.Framework.Commands.CommandContext CommandContext)
    Then add whatever code you like. Most likely, of course, whatever code you like is most likely out of the scope of this post.
  • Header The header field holds the text displayed for the button. No magic here. Just type whatever you like.
  • Icon
    Sitecore provides thousands of "themed" icons. By "themed" I mean that we provide them in multiple standard sizes, such as 16x16, 24x24, 32x32 and so on.
    When I want to find an icon, I use the Windows File Manager to view the [SitecoreRoot]/Website/sitecore/shell/Themes/Standard folder and its subfolders. The icon files are grouped into various sub-folders, like Business and Network, which roughly describe the kind of images you'll find. Under each sub-folder is an additional set of sub-folders which correspond to the size of the icons it contains. I use 32x32 and turn on View Thumbnails when searching for useful icons.

    By default, whenever Sitecore requests an icon, you can provide a relative path, like networks/32x32/key1.png, rather than typing the full path starting at /sitecore.
  • ID
    Just provide something unique here.
  • Tool tip
    This is optional. It just provides flyover help for the command.

There are other fields as well, but most of them are self-explanatory. If you're not sure what one does, though, just experiment a little. If you change one field at a time, you can usually work out on your own what a field does just by looking at its effects on the WebEdit menu.

But then, you may be wondering, how do I "publish" my changes? No need, as soon as you save your changes, you will have updated the WebEdit menu. You can even run WebEdit while viewing the Core database, you don't have to switch back to the Master database every time you want to test something.

Of course, don't forget to switch back to the Master database once you are done!

That's it for this post. I hope you found it informative!

Wednesday, June 6, 2007

Starter Kit Update (Rev. 070531)

It's only been about a week and a half since the initial release of the Small Business Starter Kit, and we've already released an update!

But don't worry, this will not be a regular event. We just happened to get some great feedback after a few users got their hands on the kit and thought of a few additional changes to sneak in since we would be doing a new release anyway.

The result includes a much nicer design for the documentation / help site, for example, and the default site itself now has a slightly cleaner design. If you already downloaded the original release (rev. 070524) of the starter kit and have begun working with it, we've created an upgrade package so that you don't have to start all over again. If you're in this camp, I'd suggest the following approach:

  1. Make a complete backup of your site database and files (just in case the upgrade package fails or overwrites something you hadn't expected, since there is no way to uninstall it).
  2. Download the upgrade package and install it using the Installation Wizard available in the Sitecore Desktop user interface.
    1. If all goes well, you're done!
    2. If you ran into problems:
      1. Restore your site from your backup.
      2. Create your own package including your Home item (not including subitems), plus each subitem (except for the Standard Items folder), plus any media library entries you may have created.
      3. Install the newest starter kit.
      4. Install your package in the new starter kit installation.

Hopefully the simple upgrade will work fine. Let me / us know about your experiences.

I hope to post some "behind the scenes" explanations of some of the fixes, as they will give readers some insights into how the site works, so stay tuned!

Sunday, May 27, 2007

Introducing the Small Business Starter Kit

I had hoped to be the first blogger to talk about the Sitecore Small Business Starter Kit, but, alas, Peter Johansson beat me to it with this very kind review.

Peter is correct that, on Friday, May 25th, 2007, we released the starter kit. The starter kit gives a head start to organizations developing information web sites for small to medium sized organizations. For more information, please read the product description.

I'd like to take this opportunity to publicly thank and congratulate the following people:

  • Michael Seifert - Sitecore CEO: For his clear vision of what the starter kit should and should not be.
  • Alexander Tsvirchkov - Sitecore Developer: For contributing to the development of the Side Menu XSLT renderings (both tree style and slide out DHTML).
  • Kim Hornung - Sitecore Solution Architect: For his help in troubleshooting the site's CSS styles and discussing architectural design issues.
  • Lars Nielsen - Sitecore Solution Architect: For his laser-like ability to find potential deficiencies and offer simple solutions when reviewing early versions of the site.
  • Nataly Kushka - Freelance Designer: For her help on the site design.
  • and Dmitry Vasilinenko and the Sitecore Release team: For patiently building and rebuilding the installation wizard for the starter kit as needed to meet the release date.

I'll be posting more about the starter kit in the coming weeks and months, but please don't wait for what I have to say.

Download it, try it, review it, use it, and let us know how we can improve it to make it more useful for you and you customers.

Tuesday, May 22, 2007

Like Keyboard Shortcuts?

Sitecore CMS 5.3.1 has a cool feature that not too many people know about. At least, I couldn't find it described on anyone's blog, so I figured it would be a good choice for my first useful blog post.

If you like using keyboard shortcuts, you might want to know what shortcuts are available in the Sitecore Content Editor. You can find a list on SDN, but I never want to take the time to find the right article myself and I often forget which shortcuts are available.

The solution?

Use ALT+F1!

If you press ALT+F1 while in the Content Editor, it displays the keyboard shortcuts associated with each of the commands in the ribbon.


Monday, May 21, 2007

Welcome to my initial post!

My name is Kerry Bellerose. I am a Solution Architect at Sitecore Corporation with overall responsibility for our worldwide Training and Documentation efforts.

So what took you so long?

I joined Sitecore in March, 2005. The insightful reader will notice that over two years have gone by without a peep from me on the blogosphere.

So what gives?

Well, given my role as responsible for documentation and training materials, I’ve been doing plenty of writing about Sitecore. When I joined Sitecore we were just about to release V5 and we desperately needed documentation and training materials. I made a conscious decision that anything I wrote regarding Sitecore should be available to everyone interested via official channels.

So why are you wasting your time now?

Right, good question!

Actually, we’ve made great strides since I started. Thanks to the tireless dedication and ceaseless hard work of many people (including Alexander Kokoshyn, Maria Metova, John West, Jesper Jørgensen, Kim Hornung, and many more), we actually have a staggering amount of documentation dedicated to Sitecore V5 available on the Sitecore Developer Network.

Just how much, you ask?

Well, we use Sitecore to manage the site, of course. A quick scan of the site reveals the following, as of May 21, 2007:

Site SectionStatistics
Product Documentation776 items
End User399 items
Developer225 items
Reference49 items
Articles584 items
FAQ170 items
Snippets216 items
Downloads731 items
Support Scrapbook77 items

As most of you know, each item may be more or less than a printed page, but if printed out this would amount to well over 3000 pages of documentation. And this doesn’t count the API reference materials!

On the training side we have four standard courses taught by 16 certified instructors worldwide. As of May 21, 2007 we have certified the following number of students worldwide:

Certified Developer Level 1823 certifications
(available since June 2005)
Certified Developer Level 2240 certifications
(available since Nov 2005)
Certified Administrator82 certifications
(available since Jan 2006)
Certified User25 certifications
(available since Jan 2007)

Each course has its own set of standard materials with 100s of pages of slides, lab notes, and other reference materials.

Of course, we’re not done yet. Sitecore as a product continues to evolve and improve at an incredible pace. It’s hard to keep up.

We are very lucky, however, to have an impressive network of Sitecore Forum users (over 900 as of May 21, 2007) and Sitecore bloggers who do an incredible job of answering questions, providing examples, and posting interesting articles.

I decided to join the pack now because I can see that I will have some interesting behind the scenes information to provide in the coming months; things that won’t fit as well in our standard channels. So stay tuned Sitecore enthusiasts!

My Background

I started life as a core developer for Digital Equipment Corporation after graduating from Northeastern University in Boston (College of Computer Science, Bachelor of Science in Computer Science, Class of 1988).

After 8 years working on development environments such as DEC Rally and Forté, I left the US to live in Denmark. Since then I’ve been a developer and consultant working with various technologies including security and web-based applications.

I joined Sitecore in March 2005.