My home-town compatriot Jeremy Thake has hit onto a governance topic that I think will turn into a very popular series once he is done with it (in committing to writing it, he will be a busy boy indeed for a while I suspect
).
He has written a post on current methods and common issues of deployment of SharePoint customisations from dev to staging to prod, with particular reference to the current pain associated with iterative development and deployment.
The state of play in this area out in SharePoint land is not the best, due to a wide variety of factors and Jeremy sums it up very well.
Certainly, there are some extremely annoying architectural quirks. Back when I did the branding series I encountered some, but Jeremy has hit some nastier ones than what I found.
Anyway, take a look at his post - its a good read.
No Tags
Hi again and welcome to part 6 of my series on the factors of why SharePoint projects fail. Joel Oleson’s write-up a while back gave me 5 minutes of fame, but like any contestant on Big Brother, I’ve had my time in the limelight, been voted out of the house (as in Joel’s front page) and I’m back to being an ordinary citizen again.
If you have followed events thus far, I covered off some wicked problem theory, before delving into the bigger ticket items that contribute to SharePoint project failure. In the last post, we pointed our virtual microscope at the infrastructure aspects that can cause a SharePoint problem to go off the rails.
Now we turn our magnifying glass onto application development issues and therefore application developers. Ah, what fun you can have with application developer stereotyping, eh! A strange breed indeed they are. As a group they have had a significant contribution to the bitter and twisted individual that I am today.
The CleverWorkarounds tequila shot rating is back!






for a project manager in denial

for the rest of us!
Continue reading “Why do SharePoint Projects Fail - Part 6″
No Tags
My old mate from employers yonder, Mike Stringfellow is one of those developers who always liked to take a step back and think through the bigger picture implications of various design/coding decisions. It’s just a pity that at that particular company we worked at, he was in the minority. (Not helped by some unbelievably poor executive level management ’s wacky views of reality).
So I became one of those bitter and twisted anal infrastructure guys who always seemed to default to “No”, when asked a question. (Usually “no” was the right answer nonetheless). I was told by another colleague that some of the (web) developers were scared of me… but Mike at least understood why
He recently blogged the idea of using features to modify web.config file of a web application. After all, the SharePoint SDK offers the WebConfigModifications property (of the SPWebApplication) class. He suggested that as a governance nazi I might have issues with this idea. As it turns out I do, but only for you developers that have been slack-arsed and not done your homework!
Continue reading “"Guru of governance?"”
No Tags
God help me, I’m up to part 6 of series about a technology I dislike and still going. For those of you that have just joined us, then you might want to go back to the very beginning of this series where I used JavaScript to improve the SharePoint user experience. Since then, I’ve been trying to pick a path through the thorny maze of what you could term, ’sustainable customisation’.
By that, I mean something that hopefully will not cause you grief and heartache the next time a service pack is applied!
So no mood for jokes this time - I want to get this over with so let’s get straight to it and finish this thing!
So where are we at?
- Part 1 looked at how we can use JavaScript to deal with the issue of hiding form elements from the user in lists and document libraries.
- Part 2 examined some of the issues with the part 1 JavaScript hacks and wrapped it into a web part using the content editor web part.
- Part 3 then examined the various issues of adding this new web part to certain SharePoint pages (NewForm.aspx, EditForm.aspx and DispForm.aspx). I also covered using SharePoint Audience targeting to make the hiding/unhiding of form elements personalised to particular groups of users.
- Part 4 started to address a couple of remaining usability issues, and introduced ‘proper’ web-part development using Visual Studio and STSDEV. I created a project to perform the same functionality in part 3, but would not requiring the user to have any JavaScript knowledge or experience.
- Part 5 then used STSDEV to create a solution package that allowed easy debugging, deployment and updating of the web part developed in part 4.
So what could we possibly have left to cover? Basically this article will revisit the web part code and make some functionality improvements and then I will cover off some remaining quirks/issues that you should be aware of.
[Quick Navigation: Part 1, Part 2, Part 3, Part 4, Part 5 and Part 6]
Continue reading “More SharePoint Branding - Customisation using JavaScript - Part 6″
No Tags
Hello and welcome to part 5 of another epic CleverWorkArounds blog post.
If you think I write a lot on my blog, you should see my documentation and training material! I seem to be rare insofar as I actually like to write documentation and can churn out reasonable quality pretty fast. So if you need your scary SharePoint farm/infrastructure audited and fully documented, you know who to call!
Anyhow, here is the current state of play.
- Part 1 of this series looked at how we can use JavaScript to deal with the common request of hiding form elements from the user in lists and document libraries. We looked at a Microsoft documented method, then a better, more flexible method.
- Part 2 wrapped this JavaScript code into a web part which has been loaded into the SharePoint web part gallery.
- Part 3 then examined the trials and tribulations of getting this new web part added to certain SharePoint pages (NewForm.aspx, EditForm.aspx and DispForm.aspx), and then with a few simple edits, use this web part to hide form fields as desired. Finally, I demonstrated the power of combining this with SharePoint Audiences targeting functionality to make the hiding/unhiding of form elements personalised to particular groups of users.
- Part 4 introduced Visual Studio and STSDEV. I created a project to perform the same functionality in part 3, but not requiring any JavaScript knowledge or experience. By the end of part 4 I had a STSDEV project that compiled with no errors.
And now we are onto Part 5 where we turn our attention to the packaging and deployment of our web part. As you are about to see, STSDEV makes this a very quick and painless experience. If you aren’t convinced of the merits of STSDEV and the SharePoint solution framework by the time you finish this article, then I don’t know what will convince you.
[Quick Navigation: Part 1, Part 2, Part 3, Part 4 and Part 6]
Continue reading “More SharePoint Branding - Customisation using Javascript - Part 5″
No Tags
Hi there. As I write this post, the media are telling me that the stock market is stuffed, the US economy is going to the dogs and banks are writing down billions from sub-prime excess. I dare not check my online broker, road traffic this morning was abysmal, I was late, brought in the wrong laptop and left an important DVD at home.
Could it get any worse? Who knows, but it sounds like the sort of day to re-visit JavaScript and get frustrated with writing a web part for the first time.
So to recap on our journey thus far..
- Part 1 of this series looked at how we can use JavaScript to deal with the common request of hiding form elements from the user in lists and document libraries. It looked at a Microsoft documented method, then a better, more flexible method.
- Part 2 wrapped this JavaScript code into a web part which has been loaded into the SharePoint web part gallery.
- Part 3 then examined the trials and tribulations of getting this new web part added to certain SharePoint pages (NewForm.aspx, EditForm.aspx and DispForm.aspx), and then with a few simple edits, use this web part to hide form fields as desired. Finally, I demonstrated the power of combining this with SharePoint Audiences targeting functionality to make the hiding/unhiding of form elements personalised to particular groups of users.
All in all a pretty clever workaround so far if I say so myself.
My original goals for this JavaScript was to find an effective, easily repeatable way to customise SharePoint form pages by hiding fields or form elements when we need to. Specifically:
- Allow hidden fields based on identity/audience
- Avoid use of SharePoint Designer
- Avoid customisations to the form pages that unghosted the pages from the site definition
We achieved these goals in part three, but was I satisfied? No. The quest for more clever workarounds always goes on!
[Quick Navigation: Part 1, Part 2, Part 3, Part 5 and Part 6]
Continue reading “More SharePoint Branding - Customisation using JavaScript - Part 4″
No Tags
Well, here we are! After delving into dark arts where everybody but metrosexual web designers fear to tread (HTML and CSS), we then delved into the areas that metrosexual web designers truly fear to tread (packaging, deployment and even some c# code!). Finally, we get to the area where everybody is interested until it happens to get in their way! (Ooh, I am a cynical old sod tonight).
That is Governance!
Continue reading “SharePoint Branding Part 7 -The ‘governance’ of it all..”
No Tags
There has been a bit of a gap in this series between part 5 and 6 - and fortunately for the both of us, I think this is the penultimate post in my series on SharePoint branding. While it has been an interesting exercise for me, I must confess each successive article is getting harder to write as my interest is shifting :-) So many sub-disciplines within MOSS - I think I might delve into WCM soon :-).
Continue reading “SharePoint Branding Part 6 - A "solution" to all issues?”
No Tags
Pretty much since I started with MOSS2007 (and back in the pre 2007 days too), I’ve required smarter drop down choices for my columns. Basically, I needed a secondary drop down list filtered based on the choice from a primary drop down list - the whole category/sub category thing. Seems amazing to me that it is not available out of the box.
On my to-do list was to write a detailed post critiquing all the workarounds out there (such as Patrick’s Javascript method and Dattard’s designer work) and rate their cleverness - as per the branding series.
Continue reading “Finally - clever filtered lookups!”
No Tags
So, here we are at the fifth article in my series on SharePoint branding. By now, we have left all the master page stuff way behind, and we have created a custom feature to install our branding to a server.
To recap for those of you hitting this page first, I suggest you go back and read this series in order.
- Part 1 dealt with the publishing feature, and some general masterpage/CSS concepts and some quirks (core.css and application.master) that have to be worked around.
- Part 2 delved into the methods to work around the application.master and core.css issue
- Part 3 delved further into the methods to work around the application.master and core.css issue and the option that solved a specific problem for me
- Part 4 then changed tack and introduced how to package up your clever branding
Continue reading “SharePoint Branding Part 5 – Feature Improvements and Bugs”
No Tags