August 20, 2008 - 09:49, by Daniel McPherson
I was lucky enough to work with Mark on a number of occasions on a project late last year. He is the sort of guy who you love to have around the office because he is very enthusiastic about SharePoint, he knows it functionally inside out, he understands what it can do for people and he creates solutions to business problems that take days or weeks, rather that months. The best part of course is that they actually WORK.
Anyway, having explored every possible capability of SharePoint on its own he has decided to start working with InfoPath. I hope he follows this post up with the rest of his journey as I think its an area a lot of people would like to jump into.
August 18, 2008 - 02:19, by Daniel McPherson
I really like to have checklists when coding, it keeps what is important front of mind, and is a great way of ensuring you really do have everything covered when you click deploy.
Waldek posted a link to a checklist recently posted to TechNet titled “Sample code acceptance checklist for IT organizations” and provided some interesting commentary on its contents.
I too think it’s a good start, and wish there was some social mechanism to maintain and contribute to these sorts of resources.
August 15, 2008 - 06:23, by Daniel McPherson
I have recently been working on a great project, crafting out a really challenging and interesting solution. Following the lead of Chris, who shared his cool project with us, I felt you might be interested in hearing about ours too.
The Background
Our client is a large multinational who has deployed MOSS 2007 and is constantly looking out for innovative ways to improve the way people communicate. One of the first opportunities they identified was the creation of a company wide blogging platform.
Projects don’t get much more fun than this!
The Requirements
One of the nice things about this project was that the requirements were fairly predictable. Blogging and Blog platforms have been maturing over the years, and there is a fairly predicable minimum set of features you need to have in place in order to be called a Blog Platform. SharePoint, out of the box, gives us a pretty good start, however it still falls some way short of ticking all of the boxes.
From the highest level there are two key components in the solution, lets explore each one individually.
Blogs Home
This, of course, is where it all starts. It’s a place on the intranet people can visit to find out what is happening on the blogs. It needs to aggregate posts from across the company, providing a list of the most recent, or the most discussed, or the most viewed, posts. It needs to provide way to help you find blogs and blog posts you might be interested in, either by browsing or by search and most importantly, it needs to provide you with a way to create your own blog.
While SharePoint has many of the platform pieces in place, there is nothing “Out of the Box” that comes close to meeting these requirements. Things are made all the more challenging by the scale of the customer, with the platform needing to support potentially tens of thousands of blogs.
The Blog
Here, SharePoint does a much better job “Out of the Box”. While the Blogs site template does not have some of the more advanced features of a best of breed solution like WordPress, it is not a bad start for internal corporate blogging.
The basic requirements we had were what you might expect, RSS, Tagging, Rich Client Authoring, Group Blogging, Web Editor, Email Authoring, Email Alerts, Comments, Rich Themes and more. As you read through these I can almost hear you mentally ticking them off, the problem of course, is that often want to be able to do just a little bit more than SharePoint provides. Just a little more functionality doesn’t always translate into just a little more work!
While we could have made all the functional enhancements ourselves, we decided that the Community Kit for SharePoint: Enhanced Blog Edition would enable us to bring on board solutions to a number of the requirements without effort on our part. It also gave us a platform that in some cases made further customisation easier and would give us features “for free” as it evolved.
Stay Tuned
That is probably enough for today, stay tuned for more detail, including screen shots in posts to follow…
August 14, 2008 - 12:50, by Daniel McPherson
Just finished a minor update to the “Choice Filter web part” based on some feedback we received. Now you can create a web part connection that filters using the value of a Choice filed in either the traditional Radio Buttons:
Or a new fangled Drop Down List:
Its set as a property within the Web Part settings. Download it from the zevenseas Community Solutions project on CodePlex and keep the feedback coming.
August 5, 2008 - 05:29, by Daniel McPherson
I put together a little component recently that was basically designed to give very basic stats on the number of times a particular page was “hit”. Each time it rendered it just wrote away a record to a list, and then I tallied that up via a lookup in another list. It was simple, it met the requirements, and everyone was pretty happy. A few days into testing we suddenly found that the number of hits for all pages seemed to be growing on their own. What is going on here I thought?
Then it hit me, the SharePoint indexing services was hitting those pages, and each time it did, it pumped up the number of hits. This was one of those things that had somehow become buried in the back of my mind. Digging up some old SP2003 code, I pulled out the bit that checked to see if the requesting party was the SharePoint indexer (using the UserAgent), and then if so, I ensured the web part did nothing at all.
We have now incorporated this little feature into the zevenseas Web Part Base class (I plan to talk about this more very soon). However, it strikes me that it’s a little bit of code worth thinking about for all your web parts, as there is often not much value in rendering to the indexer. In fact, it could even be having a negative impact on crawl performance.
1: private static bool IsIndexer()
2: {
3: if (HttpContext.Current.Request.UserAgent != null)
4: {
5: if (HttpContext.Current.Request.UserAgent.Contains("MS Search 5.0 Robot"))
6: {
7: return true;
8: }
9: }
10: return false;
11: }
August 4, 2008 - 12:59, by Daniel McPherson
Robin just released his Password Changer web part which makes it easy for users to change the password directly from the portal. It joins the growing list of web parts, and other SharePoint tools, over on the zevenseas Community Solutions project in CodePlex, check them out.

August 3, 2008 - 03:45, by Daniel McPherson
I have a nice and simple web part for you today, but one that I think is really useful. It allows a user to create an alert on a particular list with just a single click. The user interface is pretty simple, which of course is the idea, and looks like this:
Behind the scenes, the administrator (the person who adds the web part to the page) configures it like so:
Couple of things to note:
- The text can be changed, so while in this example it is “Subscribe” and “Unsubscribe”, you could make it “Create Alert” and “Delete Alert”, “Alert Me” and “Stop Alerting Me”, etc, etc.
- If you do not have permissions to the list, or permissions to create an alert, then the link will not be displayed.
- You can have multiple versions of this web part on a single page, providing they have a unique combination of List, Change Type and Frequency.
I will be looking to roll this into the CKS:EBE, as I think it is particularly useful for bloggers who want to give readers of their site a simple way to subscribe via email. As always, I hope you find it useful, and look forward to your feedback!
How do you get it?
You can download it from the zevenseas Community Solutions project on CodePlex. Couple of things to note before you do, in future all zevenseas solutions will come in two parts (blog post on this coming):
- The zevenseas Community Solutions Library – This is a library of shared components that may be used by any other zevenseas solution, for example our web parts, CKS Search add-on, etc.
- The solution – In this case it is our Web Parts package, but it could be any of the other solutions we offer to.
We are going to try to make this a single, simple install, but unfortunately, right now this means you need to install two solutions (using the fantastic SharePoint Installer). In every case though we will package them up into a single download, and provide a readme.txt to step you through it.
(and the other zevenseas Web Parts)
August 1, 2008 - 05:55, by Daniel McPherson
Just wanted to let you know I added a minor fix to the zevenseas CKS:EBE Search Add-On. On some environments you could receive a 401 error immediately after trying to activate the feature. I’m not real sure why this happens, apart from a users impersonated account not having access to the feature folder. Anyway, it has been hard for me to test, so let me know if the problem still occurs.
July 28, 2008 - 13:57, by Daniel McPherson
Tagged Links, Social Bookmarking for SharePoint, is now available for purchase. We are working with our friends at Pixelmill to provide an easy way to make the transaction. After much debate we have settled on a price of USD$250.00, look forward to your feedback. This will also cover a years worth of upgrades, and we have lots more features in the pipeline!
If you are interested in an evaluation copy, then you can download it from here.
We are pretty excited about getting our first product out the door, and while we have modest expectations, we are hoping for a success so that it becomes just the first of many.
July 21, 2008 - 23:52, by Daniel McPherson
New studies highlight the potential downsides of SharePoint
I try to keep track of articles about SharePoint that come from outside the SharePoint Bloggers “Echo Chamber”. I think it’s important to understand what the wider IT audience is thinking and hearing about SharePoint. For those who don’t know her, Mary-Jo Foley is a long time Microsoft watcher and pundit, and has a broad readership among the more senior IT ranks. Unfortunately this article doesn’t really go into enough detail to get a good understanding of the criticism and concerns that are being raised, and I don’t have the $900.00 USD spare to purchase the reports. However, that doesn’t mean I wouldn’t be very interested in reading them, and I’m sure that they will be read by key decision makers at customers zevenseas is working with right now.
I actually welcome this sort of report, as I think the “gold rush” to SharePoint we are seeing right now is resulting in the nail and hammer situation. “When all you have is a hammer, then everything looks like a nail”. SharePoint is certainly not the first product to be seen as the solution to every possible business problem. Lotus Notes, which was an incredible platform for its day, almost self-destructed under this weight. People were constantly trying to make it do “relational stuff”, and even its custodian, IBM, attempted to turn it into an email server (I suspect that may be a controversial statement). Building a great SharePoint solution requires that we, as consultants, know much more than just what the product can do.
Recently, during our first meeting, a customer asked me a question that went something like this: “What makes the zevenseas approach to building SharePoint solutions different?”. My answer came down to a single word. Pragmatism.
While we have great enthusiasm for SharePoint, and we only create SharePoint solutions, it doesn’t mean we feel every business problem can be solved with a healthy sprinkling of SharePoint teamsites. Actually, I would much rather recommend a customer use the specific technology, designed from the ground up to meet their need, than to attempt to coerce SharePoint in to doing something it doesn’t really want to. SharePoint is our technology, and fortunately it is very good at many of the things businesses need, but all business problems should be looked at pragmatically and in the absence of any preconceived solutions or “technical religion”.
The next key application of pragmatism comes when reviewing requirements, and perhaps it is here that it’s most important. Business problems are rarely simple, in fact even the simplest are actually quite complex. And complicating things further is the tendency for them trend toward greater complexity in proportion to the amount of time you spend talking about them as a group. I think you can see where I’m going here. SharePoint is a great platform because it lets you do things quickly, and easily, and often simply by tuning out of box functionality. We are big believers in rapidly prototyping solutions via weekly iterations and getting feedback via actual usage of the system. There really is nothing like actually watching people use your solution, and there are no end of surprises, its a great way to prioritise functionality and understand where your focus should be.
Finally, pragmatism plays a role in the overall design of your solution and it works in partnership with a deeper understanding of the bigger picture. A SharePoint consultant needs to understand exactly why the customer has invested in SharePoint. They must understand the overall landscape in which their projects fits, asking themselves what broader business objectives are being met by the implementation of this collaboration platform. While this is likely a post all on its own, the customers I work with have implemented SharePoint because:
- It’s a very rich platform on which they can build rapid business solutions
- One they can consolidate existing business solutions onto to, thereby reducing the number of platforms they have to support.
It huge out of box feature-set means they can minimise customisation, the ongoing maintenance of which is where the big costs really start creeping in. So, as a consultant, you have two jobs. The first is to make sure you build solutions that work with SharePoint, leveraging every bit of out of box functionality you can, and avoiding wheel reinvention wherever possible. The second is to help those who define the requirements understand just how best to map them to the platform. It means not just taking a requirement on face value and mindlessly building it out, but deciding if small compromises can be made which result in bigger long term cost savings.
What I’m really saying is that SharePoint projects require SharePoint consultants. It’s a discipline all on its own, you wouldn’t get a ASP.NET developer to build you a WinForms application. Just as SharePoint is not simply another Object Model for an ASP.NET developer to pick up. It requires a completely different mind-set, one focused on augmenting, pragmatically, rather than building.
So, in summary, that’s what is different about zevenseas, we’re very pragmatic.
Next >>