Thanks Patrick

September 5, 2008 - 04:39, by Daniel McPherson

Shocked by the news today that Patrick Tisseghem has passed away. His blog was one of of the inspirations that led me to kick off my own blog back in April 2004. There were not too many of us back then, but it took until earlier this year for me to actually meet him. Reading his blog for over 4 years though means I almost felt like I knew him!

Through his blog he helped a lot of people, he certainly helped me, and he helped us all keep the product growing. My thanks for that. How quickly things can change.

0 Comments


SearchCoder Tool: New Build Released on CodePlex

August 24, 2008 - 14:07, by Daniel McPherson

Just checked in a new build of the Search Coder tool we released earlier this year. I’ve made a number of pretty significant changes, which I think have resulted in some pretty significant improvements.

You can download it from the Search Coder CodePlex project here.

Here’s a summary:

  1. Improvements to the User Interface.
    • Simplified the selection of Properties so that this is now a Check Box List on its own.
    • Made the UI feel more like the statement, with “Select” and “Where” headings.
    • Made the creation of the “Where” statement simpler and more flexible.
  2. Added the concept of “WhereGroups”.
    • This means that you can now group where statements.
    • Previously you could only say “Where X = Y AND A = B AND C = D OR F=J” which is quite limiting.
    • Now you can say “Where (X = Y AND A=B) AND (C =D OR F=J)”, with statements in the brackets evaluated independently.
  3. Simplified the OM
    • I introduced nullable properties, which allowed me to get rid of the “FirstWhere” concept.
    • I refactored the Where side of the project making less code, and greater readability.

Here are some new screenshots:

image

image

I still have a little work to do, perhaps a little refactoring, adding a few more features to the UI that are in the OM, and improving the support for errors. But it is getting closer and closer to a V1. Always enjoy your feedback.

P.S. Some of the code in the UI is a little ropey, need to go back an tidy that up, just my priority is the OM.

0 Comments


Anatomy of a SharePoint Solution: Blogs Home Screenshots

August 21, 2008 - 14:59, by Daniel McPherson

This week, I kicked off a series of posts that describe the anatomy of an Employee Blogging platform we recently completed for a client. To keep things rolling I thought it might be useful to show you a few screenshots, because for me, visualising something early is always the best way to get a handle on a solution.

The “Blogs Home” is where it all begins, it’s where you go to get an overview of just what’s being blogged company wide. It needs to make it easy for you to find blogs you are interested in, and help you keep your finger on the pulse by highlighting the things people are reading and discussing right now.

The Home Page

First, please excuse the “Employee Blogs” graphic, this should be a beautiful image that communicates just what blogging is all about. I know my limitations, and my limitations are MS Paint. The important bit is below that. Here you see a rolling list of blog posts, ordered by the time (displayed relatively) they were posted, and constantly refreshed.

In the right hand column there are, from the top, a “Most Viewed” and a “Most Discussed” list, these do as they suggest, providing a quick look at the most active posts across the entire blogging platform. They are kept fresh by displaying only posts made within the last 3 months. Below these two web parts we have the classic Tag Cloud, it’s attached to both Categories (structured) and Tags (unstructured) on each post, and provide a graphical view of their popularity. The Tag List is just another way of showing this information, giving you a tally of the number of times a tag has been used.

All the components combined provide people with a page that keeps fresh, and helps them keep on top of what is going on across the corporate blogosphere.

image

Directory

The directory page is pretty self explanatory too. It presents a long list of all the blogs that have been registered on the platform, and provides a number of mechanisms for filtering them down to find only those you are interested in. Something important to point out is that statistics such as the number of posts, comments and views for each blog are included, as these are important blog metrics. In addition to this, the description and title are updated based on the current value in the blog itself, making it easy for people to change the blog title or description.

image

At the top of the page you will see our world famous Choice Filter Web Part it makes filtering by a choice field, in this case the Organisation Unit, that little bit quicker.

Most Discussed and Most Viewed

These pages are available for those who would like to take a closer look at what’s hot across the blogosphere. The view is the same one used on the home page, but it emphasizes the number of comments, or, the number of views.

image image

Tag Cloud

This page provides just another, more focused view on the Tag Cloud and Tag List features. Clicking on a entry in either will automatically filter the blog posts (it does on the home page too). The picture on the right shows the result of clicking on “Solutions”.

image image

Search

Of course you also need to be able to search across all these wonderful blogs, looking for specific terms in relevant posts. We just made the search a little more “Blog Friendly”.

image

Love your feedback, let me know what you think. Next up, the individual blog, stay tuned…..

2 Comments


Mark on InfoPath

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.

1 Comments


Checklists and Coding

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.

0 Comments


Anatomy of a SharePoint Solution: Employee Blogging Platform

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, skip over to Part II: Blog Home Screenshots

2 Comments


Update: Choice Filter Web Part as a Drop Down

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:

image

Or a new fangled Drop Down List:

image 

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.

2 Comments


Web Part Development Tip #1: Do you render to the indexer?

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: }

0 Comments


Another Web Part: The AD Password Changer

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.

image

1 Comments


Introducing the “Quick Alert” Web Part

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:

image    image

Behind the scenes, the administrator (the person who adds the web part to the page) configures it like so:

image

Couple of things to note:

  1. 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.
  2. If you do not have permissions to the list, or permissions to create an alert, then the link will not be displayed.
  3. 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):

  1. 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.
  2. 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.

Download Quick Alerts

(and the other zevenseas Web Parts)

1 Comments


 Next >>