Community updates: VS Web deployment, Functional programming and XPress

Scott Guthrie announced this morning that the Web Deployment project of Visual Studio 2008 is finally released. Short from now I’ll write  tutorial for all you guys how to work with Sitecore and the deployment project.
For those guys who can’t wait, please review this tutorial by Scott himself.

 

Last weeks lots of interesting movies passed my way on Channel 9. Here a short overview:

  1. Parallel Extensions for the .NET Framework, An excellent overview for people who want to get started with the latest and most up-to-date Parallel-programming library. Here you’ll find some of my experiments with PLINQ/PFx and Sitecore.
  2. For the compiler freaks: Making Sense of VC Intellisense. It’s cool to see the MS boys working with real AST’s in the CLR for IntelliSense.
  3. I wrote about C5 before. What a cool library. Finally Channel9 came across the developers: Peter Sestoft- C5 Generic Collection Library for C# and CLI
  4. Maybe the coolest and clearest video I’ve seen in the past few months. All about what Functional programming is, what side-effect are and why you just want side-effects(you can’t get rid of ‘m). For those who do understand the movie, it’s really nice to see the high level discussion in the thread below the movie.
    Erik Meijer- Functional Programming
  5. Krys posted his very nice TechEd session: Framework engineering.

 

Finally, last Monday Lars Nielsen announced a new product. Sitecore Xpress is a free developer version of Sitecore, which is mentioned for personal usage. And just personal usage ;). Within just a little more then a week, the official announcement-webcast will be there. Be there!

2008: The year of Online HRM

For a couple of week I’m spamming colleagues: What’s the word of 2008? What is the main trend? Etc, etc…
I received a couple of reactions:

But today I figured out a real trend… At least in my eyes… 😉
2008 will be the year with good, sufficient and effective online HRM and recruitment. Take for example all the IT companies with their enourmous online vacancies, who letters full of details about the ideal ‘volunteer’.
Have those companies ever heard of ‘writing content for your audience’? Does a data analyst spent some time on analysing those data? But why are all your vacancies different? Different layout, different conten structure?
And why doesn’t your vacancy fit in the role your new employee has to deal with?

With the tight market of IT-professionals, developers and consultants, it becomes time to spent time on a good-looking recruitment page on your website. Please take the following advices from me and spread the word. The becomes better, I’m sure :). The funny thing is that the audience of this blog, webagencies, make those mistakes over and over as well. So save the world by starting today…. with enhancing your own website!

  • Integrate vacancies in your site, specialistic recruitment sites are totally not personal and not matching your coporate identity.
  • Describe the position in 200 words instead of 1200. I’m sure you’ll get better responses.
  • For those who are interested, publish a full detailed vacancy written by someone who will work the the new guy.
  • Describe all the benefits of working at your company(such as education budget, lease car, cellphone) on another page
  • Make sure you can contact the HRM department directly. So make a contactform. Lots of people want to inform anonymous or just with an emailaddress, for several reasons, give them that opportunity!!
  • Show your office on the recruitment pages, people are interested in those pics and they do make your pages match your corporate identity way

I can go one for hours with ideas. But I guess I’ve said enough. When I come across a good example, I’ll post it on my blog :).

Have a nice day!

What’s Business Intelligence?

So what’s Business Intelligence(BI)? You can hear the term everywhere. Even your local salesmen does talk about is. And about datamining, integration services, SQL Server 2005 BI, etc, etc? Then it becomes time to do some research(I suppose all developer should ;)). Particularly when you are going to use MOSS, build and intranet or going to use SQL Server very intensive, it’s worth to follow the links below.

Start here with a quick overview of the platform and go continue with the set of 22 screencasts about business intelligence on the Microsoft platform. Enjoy! and thanks again, Channel 9.

Sitecore Queries and injections

Pretty funny, I just came across a lack of defensive programming by myself… Over and over I use the following codesnaps:

string query = string.Format(“./*/item[@templatename='{0}’]”, CompetenceType);
Item[] result = InnerItem.Axes.SelectItems(query);

Do you see the problem? Well, CompetenceType might contain a single-quote… If it does, the parser of the query will throw an error. Blerg! So the yellowpage will occur on your screen and you’ve to find out in your logfile (ofcourse you’ve already deployed the stuff to a production server) what the issue might be…

Sitecore’s ItemUtil has a nice solution for this issue. Just add the following code sample before the last codesnap:

if(ItemUtil.IsItemNameValid(CompetenceType))
{
    CompetenceType = ItemUtil.ProposeValidItemName(CompetenceType);
}

Make sure you watch your own code very carefully, these unexpected behaviors might not take a site down for a week, but it is simply your own laziness!

CMSCenter goes Europe!

There’s no better time then launching your website at the start of a year. You’ll have plenty of time to optimize all the stuff you’ve to optimize during the summer and you are still able to reach your goals within a year :D.

So does my main CMS-resource: CMSCenter. This website was, until now only available for the CMS market in Belgium and the Netherlands. But Christian and Karine have found some time to translate their content, and as you can read here, they will continue writing in English. They also got a new service for potential CMS Customers: CMS Selection.

The reason I spent a post on promoting a news-website is that I’ve met Christian Daems last year three times, and I’ve to say, I really a fan of his work! This guy is extremely good in what he’s doing(giving the right advice) but he has an open mind as well. I’ve seen too many consultants who are blind for everything around them, but Christian has a very open vision and doesn’t ignore yours.

So for all your European CMS news, please visit CMSCenter.eu!

Building a competence tool

Today I’ve had a conversation with Hans, our technical manager. It was all about competencies, how to store them and how to use them for reporting, sales, etc. But most important, how to make sure it’s not hard to fill them down. Otherwise programmers won’t even think about filling them down.

So I’ve decided to build a competence tool. This might be a very useless project, as LECTRIC properly will buy a very expensive HRM-tool or integrate it with Microsoft CRM, but I do not care, for me it’s  important that I can get my hands on external datasources(AD/CRM/MS Project/Exchange/etc), build an AJAX-site(with a little bit of more then just the UpdatePanel) and make a full WebControl-driven site.

The requirements:

  • A competence form with 3 levels, clickwise fillable(.NET, click, ASP.NET, click, WebControls, click, 3 stars, next)
  • Easy to send it to projectmembers by just selecting them followed by an email
  • Friendly reports per project
  • Friendly sales reports(I’m looking for a guy who has worked a lot with databases and XHTML)
  • Possibility to use the tool for exams as well(I’ve passed MS exam xx-xxx, etc)

I’ve been designing the solution as well. All non external content(possibly), will be stored in 1 database(master), all content which might possibly come from different sources, will be stored in another database(called: resources).

I’ll heavily use AJAX for simplistic development and usability. All the functionality will be implemented in WebControls, layouts and sublayouts(when necessary) won’t have any code behind. All content is displayed using XSLT.

Yeah this is really Rapid Application Development :).