Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

May 10 2013

05:40

Using Filter Web Parts to search a SharePoint List / Library View's entire directory hierarchy (incl. sub-folders)

So, this is a fairly common use-case and requirement that FilterZen easily delivers a workable solution for. (I think we have this topic covered in a forum thread or two, but a quick "authorative" blog post on this can't hurt.)

Here's your situation:

  • you have a SharePoint List View (or Library View) with folders shown. Easy, simple, your users know how to work with that.
  • you have it connected to a Filter Web Part so that users can easily "search" locally within that List View, without needing SharePoint's Search UI.
  • your users appreciate the display of folders, but also would like to be able to "search in all folders" when they begin specifying filter criteria.

By default, this won't happen... here's how to make it happen.

September 11 2012

07:04

September 25 2011

15:41

Using User Profile Property Values for List Filtering in SharePoint

Every other month or so, we receive an enquiry like the following:

Is it possible to filter (using FilterZen) a standard Document Library by a specific user profile field such as Department, where Department is also a field in the List / Library? I cannot see a way of doing it like the out-of-the-box Current User Filter Web Part.

Can do! With a few tweaks. Truth be told, we've been meaning to roll out first-class native FilterZen support for the SharePoint Server (MOSS / SPS) User Profiles model for a bit now. We expect to finalize an update for this by early October 2011, ie. in the next 1-2 weeks.

But that's no excuse not to implement such a requirement in FilterZen right now, with the current version you have now available. Of course, if you're on MOSS 2007 / SPS 2010, you could just use the out-of-box Current User Filter Web Part right away and skip FilterZen entirely — but if you have other filters for your List or Library you'd like to apply with FilterZen, integrating a User Profile Property into your main FilterZen Web Part is an understandable need and this is how you do it:

Let's work from the original enquiry above. You have a List View / Library View Web Part on your page (or you work directly on a View Page for that Library) and the Library contains a Department field. We want to filter so that only documents are shown that apply to the current user's Department, as stored in the corresponding User Profile Property.

For now there are no other Web Parts on the page. Add to it an out-of-box Current User Filter Web Part, a FilterZen Transformer Web Part and a FilterZen Filter Web Part, in that order. Do not connect any Web Parts at this point. Since you can freely re-arrange the order of Web Parts on the page interactively, be sure we have the following Web Part order:

  1. Out-of-box Current User Filter Web Part
  2. FilterZen Transformer Web Part
  3. FilterZen Filter Web Part
  4. Your Library View Web Part

1. The Current User Filter Web Part

  • For Filter Name, specify TempDepartment
  • Under Select value to provide, pick Department
  • Under Advanced Filter Options, tick the Send Empty if there are no values check-box option

2. The FilterZen Filter Web Part

Apart from any other filters your FilterZen Filter Web Part may contain, you will add a Text Filter named Department. This filter name refers not to the User Profile Property but to the target Library Field it is filtering! Apart from the name, the only other setting you need to set for this Text Filter is the default value which you will set to {$TempDepartment$} (or whatever name you used in step 1.)

3. Web Part Connections

Only now do you connect all Web Parts on the page, exactly as follows and exactly in this order:

  • From the Connections sub-menu of the FilterZen Transformer Web Part, select ICellConsumer (Get Cell From) and then pick your Current User Filter Web Part.
  • From the Connections sub-menu of the FilterZen Transformer Web Part, select IRowProvider (Send Row To) and then pick your FilterZen Filter Web Part.
  • From the Connections sub-menu of the FilterZen Filter Web Part, select Send Filter Values To and then pick your List View / Library View Web Part.

At first glance, this possibly looks more complicated than it really is — in fact, it's a fairly straightforward sequence of simple steps, really! With the next FilterZen, as usual things will be even easier and even faster to implement. But even now, FilterZen's core flexibility let's you combine the (very few) remaining not-yet-fully-absorbed skills of out-of-box Filter Web Parts with its many rock-solid and tremendously useful capabilities already provided.

This was just one example of how experimentation with core building blocks and re-using basic capabilities can take you far beyond the myriad of built-in, "typical" turn-key use-cases. So keep exploring!

March 19 2011

01:25

Hi, Ryan Wheeler, developer of "Pentalogic FilterPoint"!

First off, congrats to getting a Filter Web Part developed and to market. As we know too well, this takes skills of all kinds, countless man-months once the first version is scrutinized by real world enterprise users with the most complex and fickle requirements, much debugging and hair-pulling...

December 25 2010

17:51

SharePoint 2010 List View AJAX Options and Filter Web Parts

A FilterZen user reported the following issue:

I have tried to set up the Filter Web Part with an Issue List on SharePoint Server 2010 and everything seemed to work flawlessly except the List 'unfilters' every time it is auto-refreshed.

I have tried putting the filters in a Web Part on the List and applying it to a List in a Web Part where AJAX Options Asyncronous Refresh is enabled with the same result: the List unfilters every time it is auto-refreshed.

The strange thing is that it seems to work OK when AJAX Options Manual Refresh is applied to a List in a webpart?!

We could reproduce the issue, but now the much bigger question was how to fix this. First off, to summarize the issue:

  • In SharePoint 2010, List Views give you a tool-pane section with so-called AJAX Options:
    • the Show Manual Refresh Button option lets end users refresh the List data shown in the List View Web Part without reloading the entire page.
      • This AJAX refresh mode works just fine even with filters applied from connected Filter Web Parts such as FilterZen or the out-of-box Filter Web Parts.
    • the Enable Asynchronous Automatic Refresh option seemingly performs the above background data refresh periodically and automatically, without the end user having to click a button.
      • This AJAX refresh mode simply does not respect filters applied from connected Filter Web Parts, neither FilterZen nor the out-of-box Filter Web Parts!
  • Since the out-of-box Web Parts exhibit the same problem as FilterZen, this did not seem to be a bug in our product, but nevertheless wouldn't it be neat if this could be made to work, at least for FilterZen users?

We looked "long and hard" in SharePoint's unintelligible heap of client JavaScripts to figure out why the first AJAX background data refresh mode seemed to work but the second wouldn't, with respect to filters applied from connected Web Parts.

There may be an easy fix waiting to be discovered, but we couldn't figure it out. Rather than give up completely on the issue, we added the same "hack" to FilterZen that we figured we would also apply as SharePoint devs / consultants, would we face the issue in a real-world project:

  • the AJAX refresh called from the button works while the periodical background refresh doesn't (with respect to connection-provided filters)
  • hence:
    • deactivate the Enable Asynchronous Automatic Refresh option,
    • activate the Show Manual Refresh Button option and
    • add JavaScript to the page that periodically invokes the Manual Refresh button to "emulate" the automatic refresh, but in the way that has been shown to work (via the refresh button).
  • optionally also include script to hide the Manual Refresh button if this should not be made available to end users.

The above logic is now included directly in FilterZen so you won't need to script the above yourself, starting from build 3.8.0.34 and we tested this, it works! This affects all List Views on the page that have both Enable Asynchronous Automatic Refresh disabled and Show Manual Refresh Button enabled:

August 23 2010

01:35

Augment Search Result Pages with Filtered Document Library / List Views

While SharePoint's Search features present a great deal of configurability and customizability, it sometimes cannot be tweaked enough to support every need. We received the following request:

We have a WSS 3.0 store of documents that we would like to share. They are stored as list items and there are a number of different columns which help describe the documents. Some are quite straightforward, such as document name, document description, division and subdivision within the organisation that created the document. The one that is causing problems is a column called keywords. It takes its values from another list (sample values might be: climate change, air quality, litter prevention, noise pollution control). Since a document might be relevant to a number of areas, multiple keywords can be selected. I found that once multiple selections were allowed, a search scope allowing the user to narrow their search by keyword just wouldn't work. I would like to allow a user to narrow their search by organisational division, which I have done, and I'd like to be able to give them good functionality to filter the results that are returned. The filtering wouldn't just be limited to the keywords; it would also allow users to filter by date and author.

August 19 2010

00:53

Lost Web Part Connections on SharePoint 2010 List View Pages (Windows 7)

This is just a short notice on what has to be one of the most curious little bugs we have come across in SharePoint 2010 so far:

whether we use our own premier SharePoint Filter Web Part or the out-of-box ones, or attempt to create any other kind of Web Part connection:

  • on a List View Page (AllItems.aspx etc.)
  • in the browser, via the Connections option in any Web Part's edit menu
  • in the context of SharePoint Server development deployments installed on physical 64-bit Windows 7 Ultimate machines (the client OS doesn't matter in this discussion, Win 7 in this case is the server OS)

then the connection gets LOST — routinely, repeatedly, reproducably — as soon as the page gets freshly reloaded. Now, as long as you stay in the page state and perform other changes via post-backs, but keep the page view state alive (this is ASP.NET lingo but it'll have to do for now), the connection seems to stay alive, but re-initialize the page fully (not via an F5-postback but by fully re-navigating to it) and the connection is simply gone. All other modifications to your Web Parts and the page seems to have been persisted to the Content Database just fine, except for the connection itself!

Now of course the official recommendation is to use a Windows 2008 Server OS rather than Windows 7 for SharePoint Server deployments, and furthermore from the general design of SharePoint 2010 the customizing of List View pages with further Web Parts or even connections seems to be implicitly discouraged in the overall design — for example, you lose the List View selector drop-down menu in the Browse ribbon tab as soon as you add another Web Part to your List View page, and some indeed argue that such view aggregations and advanced behaviors should be realized in separate pages rather than the mere core View pages — but...

...as usual, theres a work-around to keep going:

quite simply, set up your Web Part connection in SharePoint Designer and it will be persisted for good. Of course now you have a customized, a.k.a. un-ghosted copy of the List View page in your content database (for no particular reason other than SPD always un-ghosting a page when you hit Save, even though the same customizations when done in the browser would not have resulting in such an un-ghosting since Web Parts and connections are neatly stored outside your page mark-up in the DB and are just merged with the page HTML by SPD when it opens it), but neither on your Windows 7 development server nor on most productive systems is this typically really an issue.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl