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.
July 19, 2008 - 04:56, by Daniel McPherson
This brief walkthrough is designed to give you an idea about how Tagged Links could help you share those useful links you find on the Internet with those people your are collaborating with. You can try it on your own environments by downloading the evaluation here:
Or try it on ours here:
Site: Tagged Links
Username: Coral\DemoUser
Password: DemoUser
Tagged Links Walkthrough
The Tagged Links List
A “Tagged Links” list is just like any other, they are created via the “Create” page in your site, and you can have as many of them as you like. Each one has its own list of tags that can be applied to links, as you add them.
As you can see, it looks just like every other SharePoint list, with one exception, browser integration that can be installed by following the instructions:
“To create a browser button for quickly adding links to this list, right-click the below link, select 'Add to Favourites...' and select the 'Links' folder in your favourites:
Add link to MyDemoSite - Tagged Links”
After following these directions a new button will appear in the links toolbar of your browser. Next time you are on a web site which you think other people in your team would be interested in, you can save it directly to this list by just clicking the button.
What’s even better is that Tagged Links does most of the hard work for you, by automatically adding the URL and Title to the new item. So all you have to do is add the relevant Tags and enter some notes.
In the screenshot to the left you can see that a number of tags already exist in the list and can be applied via a checkbox. Tagged Links makes it easy to add new tags by including a text box where you can enter new ones.
When you save the item these new tags are added to the list and will be available as a checkbox items for next time. You can see this in the next screenshot.
This is a real time saver, keeping your links organised in a more accurate and consistent way.
That sort of consistency is important not just within a single “Tagged Links” list, but across all tagged links lists. For this reason we added the concept of “Global Tags”. This is a list of tags that is defined at a Site Collection, and then used by all Tagged Links lists, regardless of which site in the site collection they belong to. Global Tags are created via the “Site Settings” page.
Clicking on “Global Tags” takes you to a standard SharePoint list where you can maintain the list of tags which you would like to be available through all Tagged Links lists. When global tags have been defined, the following appears at the bottom of the “New Item” form:
So far we have talked about how to create a new Tagged Link, in the process describing it via tags and a note, organising it for others. However, probably the most powerful feature in tagged links, is the advanced graphical views. A Tag Cloud and a Tag List help you quickly determine what tags are most popular, and allows you to quickly filter the list of links at the click of a button. This makes it easier to find what you are looking for. Words don’t do it justice, so here are a couple of screenshots:
That pretty much wraps up Tagged Links, please do take a look, we would love to hear your feedback. We hope it helps you work better together!
July 19, 2008 - 04:50, by Daniel McPherson
Sometime ago we released a beta version of Tagged Links, today, I’m pleased to announce the release of version 1.0!
What is “Tagged Links”?
It’s social bookmarking for SharePoint, taking the standard “Links List” to a new level via browser integration, one-click tagging, advanced graphical views and global tags that allow you to define tags across an entire site collection. Take a look at the new “Walkthrough”.
We have spent quite a bit of time thinking about just how we release “Tagged Links”. For those who follow our blogs, you know that our instinct is to release the things we build to the community via CodePlex, its a rapidly growing portfolio, especially given we only just celebrated our 6 month anniversary, and there is more to come. Tagged Links however is a little different. The amount of time we put into developing this solution was longer than usual, and as a group of SharePoint consultants, we have lots of ideas, and would really love to be able to build more solutions just like this. Of course, the only way we can that, and eat, is by offering these solutions commercially. With that said, we want to make sure as many people as possible can take advantage of them, so pricing will reflect the modesty of our small, but useful products. We look forward to your feedback on this approach, let us know what you think.
So, Tagged Links becomes our first commercial offering!
While we are still finalising the details concerning exactly how you can purchase it (will have that within the week) we didn’t want to hold back any longer. An evaluation version of Tagged Links, with all functionality enabled but with a 30 item limit is available for you to download and try out here: Download Tagged Links. If you do decide it offer you enough benefits to buy, the full version will easily install right over the top.
We have also made a “Hosted” version available for you to test out here:
Site: Tagged Links
Username: Coral\DemoUser
Password: DemoUser
So, jump in, and feedback away!
July 19, 2008 - 02:34, by Daniel McPherson
Our congratulations go to Arno Nel and team who today launched the “SharePoint Magazine”.
There has been some great launch content and we look forward to more to come.
July 16, 2008 - 11:31, by Daniel McPherson
Announcing the International SharePoint Professionals Association
My congrats go to Bob, Darrin, Christopher and Natalya on the launch of the International SharePoint Professionals Association. I, along with Mart Muller, have been lucky enough to play a small role over the last few weeks ensuring Holland is represented in this global endeavor. Certainly, anything that brings SharePoint Professional together in this still too wide world is something I support.
Anyway, jump across to the site and let Bob and the team know what you think, and even more, let them know what they can do to help you!
Next >>