User Voices
(Loading...)
Our blog on SharePoint add-ons and solutions development
Sunday
Sep252011

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!

Sunday
Sep182011

Manual installation / deployment of our SharePoint WSP Solution Packages

All our Web Parts and SharePoint solutions come with a deploy.exe Windows-based installation+deployment wizard to achieve streamlined installation and deployment. This wizard works smoothly and pleasantly for 99% of users.

Except when it doesn't. With a growing user base, a tiny minority of edge-case users or misconfigurations that prevent the wizard from completing are to be expected, and this article applies only to them.

Always try deploy.exe first. As a reminder, when you download one of our SharePoint tools, you get a roxority_<Product>Zen.zip file, ie. roxority_FilterZen.zip, roxority_PeopleZen.zip etc.

Copy it to your SharePoint server (or in a multi-server farm environment, to the primary web front-end server, ie. the one hosting your SharePoint Central Administration) and extract this ZIP setup package on there.

Now, don't just double-click deploy.exe to run it: instead, right-click it and depending on the Windows Server version, you'll see either a 'Run as administrator' or a 'Run as...' option.

  • If it's the latter ('run as...'), pick that option and then specify a user account that (A) has administrative rights on the machine AND (B) is also a member of the SharePoint Farm Administrators group (review it in Central Administration if unsure). Both conditions should be met for best results. (Better yet, you're already logged in to your Windows Server as such as user account.)
  • If the former ('run as administrator'), be sure you're logged in to the server as a user account that (A) has administrative rights on the machine AND (B) is also a member of the SharePoint Farm Administrators group (review it in Central Administration if unsure). Both conditions should be met for best results.

Things should be smooth sailing from here, but if you belong to the less-than-1% of users where the deploy.exe wizard does not complete successfully, read on.

Manual step 1 — install via STSADM:

If you are about to install one of our add-ons, we have to assume you're already at least remotely familiar with the STSADM tool that ships out-of-box with every SharePoint installation. No need to be a command-line ninja, you'll just need one command:

  • STSADM -o addsolution -file c:\fantasypath\<WspFileName>.wsp

Replace c:\fantasypath with the full directory path of the extracted setup package, which will contain between 2 and 4 WSP files. For <WspFileName>.wsp, substitute the WSP file appropriate for your environment:

Product SPF 2010 SPS 2010 WSS 3.0 MOSS 2007
roxority_ExportZen_… …xiv.wsp …xiv.wsp …xii.wsp …xii.wsp
roxority_FilterZen_… …xiv.wsp …xiv.wsp …xii_wss.wsp …xii.wsp
roxority_PeopleZen_…   …xiv_wss.wsp …xiv.wsp …xii_wss.wsp …xii.wsp
roxority_PrintZen_… …xiv.wsp …xiv.wsp …xii.wsp …xii.wsp
roxority_UploadZen_…   …xiv_wss.wsp …xiv.wsp …xii.wsp …xii.wsp

Manual step 2 — deploy via Central Administration:

In SharePoint 2007 (WSS 3.0 or MOSS 2007), go to Central Administration / Operations / Solution Management — in SharePoint 2010, go to Central Administration / System Settings / Farm Management > Manage Farm Solutions.

Next, select the WSP file you just installed in step 1 with STSADM. Click Deploy Solution and follow the on-screen instructions. Do this repeatedly UNTIL you have fully deployed the WSP to:

  • all your content Web Applications applicable for this WSP
  • the Central Administration Web Application (MANDATORY!)
  • all Shared Service Provider (SSP) and Shared Resource Provider (SRP) Web Applications (MANDATORY!)

Manual step 3 — enabling, and then IISRESET:

Using farm-administrative credentials (best to follow the recommendations from the beginning of this article regarding deploy.exe), open any one page linked under the <Product>Zen Studio section on the Central Administration / Site Settings page. This should "enable" the software for full use in this SharePoint server farm, AND notify you about the success of this "enabling" operation too.

The software will not work unless and until this "enabling" procedure has been completed (just opening any <Product>Zen Studio page under Central Administration as per above should do this) and all web front-end servers in the SharePoint server farm have been IISRESET afterwards.

Manual step 4 — activate Site Collection Features:

In the root Web Site of your content Site Collection, go to the Site Settings page. In the Site Collection Administration section, click Site Collection Features (NOT Site Features!) and on the next page, activate the Site Collection Feature(s) you need.

Uninstalling our SharePoint WSP Solution Packages

Just like installation, your best choice for uninstallation is our deploy.exe wizard that is part of the downloaded roxority_<Product>Zen.zip setup package. But if you need to uninstall the solution package manually:

  • first perform manual step 4 above, but instead of activating the Site Collection Features, deactivate them.
  • then perform manual step 2 above, but instead of choosing Deploy Solution, repeatedly Retract Solution until it is no longer deploy to any Web Application.
  • then perform manual step 2 above, but instead of choosing Deploy Solution, click Remove Solution.
  • IISRESET all web front-end servers in the SharePoint server farm

 

Wednesday
Apr062011

SharePoint "Unknown Error": How to Show All the Details

Every couple of months, we receive a support request that goes something like this: "when I attempt to do X, SharePoint says Unknown Error". Of course there is no way we can fix an "unknown error". Yet these errors are not unknown, by default SharePoint simply does not show their inner details — presumably the user experience designers at Microsoft presumed that a real error message is too scary for SharePoint end users, but an "unknown error" is somehow so much more reassuring... or maybe there really are too many 3rd-party developers who as a matter of habit always include sensitive passwords in their error messages.

Anyway, if you do encounter an Unknown Error (this has become spectacularly rare fortunately as our software has grown ever more stable over the last 2 years), then we need you to turn on Detailed Error Messages in your SharePoint environment. This is easy to do and absolutely non-dangerous, plus typically you will be reporting your issue from your QA, test or dev server rather than production. Here is what we need you to do.

Click to read more ...