January, 2009

SharePoint: why are my custom content type forms empty?

Okay, this is the hit of the month for me. Well, we had to use custom forms with some content types. Everything went fine until all those custom forms showed up empty. No errors on screen, no errors in log files, no errors in event log. Also diagnostic messages were not helpful. But … solution was simple.

Creating downloadable calendar item of SPListItem

Recently I prepared some code to download calendar item from SharePoint web part to user computer. I was lucky because the web part will only be used on details view of one list. The testing code I wrote was simple and short.

Creating SharePoint global calendar

Creating global calendar that shows data from different calendars is something that SharePoint doesn’t have out-of-box. Using site data query and calendar view control we can easily create global calendar and make it show data from lists we want.

Refactoring: introduce constant

One way to write messy code is to use constant values in code without any explanations about their values or purpose. Sometimes it feels like too small problem to think about, specially when there are only couple of constants, but I am sure that hard coded constants may waste developers valuable time more than one may think at first place. To make this kind of code easier to read and understand we can use refactoring method called introduce constant.

Windows 7 on my development machine

Okay, my Windows Vista found its sad end couple of days ago. There was almost nothing to do without going out of sleeping time. Many broken installation packages, large amounts of space were gone somewhere, some processes ate free memory and after each 10 seconds there was 10 seconds delay because something was busy doing something. One thing more – reading and writing USB hard discs was suddenly very-very slow. So it was time to use the moment and try out something new before going back to good old Windows XP.

EnumHelper class

Some time ago I wrote blog posting Extension method for enumerators where I showed how to use extension methods to make using of enumerators more convenient. Today I found very interesting posting from Grant Barrington blog where he describes the class called EnumHelper.

Refactoring: delete unneeded code

It is not a miracle that during coding developers produce code that is later not needed anymore. It is also not a miracle that unneeded code will stay in project files waiting for the day when somebody finds this code useful (again). But this far this code is just sitting there and causing problems to people who look at these modules first time.

Refactoring: expose static method

You may discover sometimes that some of your classes have method you would like to use without creating new instance of that class. In this case we have to use expose static method refactoring to make this method static.

Extreme Programming Explained

Extreme Programming Explained is overview and guide to extreme programming (XP). The author of this book – Kent Beck – is well known XP evangelist with great experiences on the field. XP is not very simple thing to start with when one has worked some years on “classic” way. Kent shows us the way to XP and gives great explanations and suggestion about how to get started with XP.

Getting Results From Software Development Teams

Getting Results From Software Development Teams is book about software projects management. Author of this book, Lawrence J. Peters, is one of the veterans in field who has worked on software projects management over 40 years. I think it is solid experience to share with others.

Refactoring: extract method

Extract method is one of the most popular refactoring method when dealing with legacy code. In legacy code we can often find methods that are very long. My favorite findings methods about 2000 lines of code. Cool, isn’t it? Those methods have usually many responsibilities and they are hard to debug. Having more than one responsibility in one method leads also to duplicated code because some responsibility is required in more than one place in code.

SharePoint and constant [Today]

If you are creating views on sites that use different language than english then you cannot use constant [Today]. This constant is translated to site language and it depends on language you are using. Example: when developing sites in estonian language I have to use constant [Täna] instead of [Today]. Otherwise error message will be shown and I cannot save the view.

Software Estimation – Demystifying the Black Art

Software Estimation – Demystifying the Black Art is another masterpiece by Steve McConnell. I introduced in last june book Code Complete 2 by same author – it is suggested reading for developers. Software Estimation, as title sais, tells about how to estimate software projects. Estimating is not easy thing to do if you want to achieve good estimates.