Archives / 2009 / January
  • 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

    Here you can find links to my postings that introduce source code refactoring methods. If I have done good job then after reading these postings you should be able to write more readable code than before.

  • 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.

  • 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 Programmind Explained
    Extreme Programming Explained: Embrace Change (2nd Edition) (XP Series)
    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.

  • Five questions from customers about web pages

    Here is my little QA posting about what customers have asked me and what kind of answers I have given. Feel free to write your opinions to comments as your comments are always welcome here.

  • Getting Results From Software Development Teams

    Getting Results from Software Development Teams @ Amazon
    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. The book is pretty new – it was published in June 2008.

  • 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.

  • You must use the dbSeeChanges option with OpenRecordSet when accessing a SQL Server table that has an IDENTITY column

    One error you may get when querying SQL Server databases through MS Access is "You must use the dbSeeChanges option with OpenRecordSet when accessing a SQL Server table that has an IDENTITY column". This error appears when you open recordset that contains IDENTITY column. Usually you have to do something like this to get this error (FindTrainer query gets data from SQL Server table).

  • 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
    Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
    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.