December 2007 - Posts
Recently I was building an issues list application for a client. The issues broke down in to several major initiatives, with many issues being a member of more than one initiative. What I wanted to do was a build an issues list and then have each issue grouped under the initiative or initiatives it belongs to. My plan was to create a grouped view on an issues list and be done - however when you group by a multi select field, it only groups under the first selection listed in the field.
So I needed a new approach. Next I hit Google, along with my colleague Ryan, to see if someone had already solved the problem of displaying records under multiple group headers. Ryan came across an article at the Microsoft site - http://office.microsoft.com/en-us/sharepointdesigner/HA100991441033.aspx which was a great start. Instead of using XML files as the article suggested I used lists.
I first created a custom list of the initiatives, just a single column list of the values. I then created a Site Column bound to the list. Next I created the Issues List using the issues list template and added my Site Column to the list. Next I added all my data and tagged the issues with the appropriate Initiatives it belongs to. Working through the rest of the example from above, I got a page that displayed the groups (Initiatives) but some of them had no sub tables, as shown below. Close but not what I was looking for.
Searching around the SharePoint Designer UI I then found the nugget that got me exactly what I wanted….
When you select the table for the nested data table and you select the Common Data View Tasks menu you can modify the filter used to build the sub table, specifically the Comparison operator from "Equals" to "Contains". As seen below.
The resulting view looks like the one shown below. Note that the issues in the sub tables appear under multiple top level groupings
This works because the multi-select field contains the Title of all the Initiatives - ie groupings, it belongs to - problem solved. I now had a page that displayed items under multiple group headings using a multi select field.
Office Business Applications (the acronym OBA, often pronounced OWE buh) are applications that combine the power of the Microsoft Office client program suite with the server-side abilities of SharePoint in order to solve line-of-business (LOB) problems. Often times a group or department will need a solution to service a particular workflow, and no enterprise-scale application will exist to fit this need. Traditionally Outlook, Word, Excel, and Access were used to develop a “home-grown” application that helped automate this departmental workflow. In financial services, this might be some Excel worksheets that are linked together to each other or a back end data source to crunch numbers for trading decisions. In a sales organization, this might be a pipeline reporting tool built using Access. A research publishing organization might use Word to provide a templated document generation system, pulling data together to produce regular reports in a standardized format.
Traditionally three problems have existed when developing these types of applications. First, it can often require a large amount of effort to develop some truly useful and time-saving applications. Long timeframes and large budgets can be an impediment to developing solutions that only service a small department. Second, automating your processes and coding against the COM interface of the older versions of Office can be tricky and brittle. Third, if your application becomes a big success and grows outside the boundaries of one department, it can be difficult to scale up.
With OBA, Microsoft tackles these three problems and makes things much easier to work with and scale up as needed. OBA uses SharePoint on the back end for development, but instead of using the browser as an interface, the Office 12 applications interface directly with SharePoint. This allows for a flexible and scalable data and document storage platform on the back end, and a malleable and familiar interface on the front end. OBA solutions get to piggy-back on the built-in capabilities of workflow, search, the BDC (Business Data Connector), and security from MOSS. They also benefit from a more straightforward interface on the Office side, making it much easier to write add-ins for Office programs that are stable and reliable using tools like VSTO (Visual Studio Tools for Office). The solutions can be developed more quickly, and can more closely model the way people work by living in the Office applications that everyone spends so much time in anyway.
OBA applications can either be custom developed for an organization, or can be purchased as canned solutions developed by an ISV. Both types of solutions are showcased at OBA Central, https://www.obacentral.com/default.aspx. This is the official portal for OBA technologies, and contains lots of links to resources for building your OBA solution. Please also feel free to contact Syrinx for help in developing an OBA-based solution for your company or organization. Our contact info is at the top of the blog.
For those of you that are looking for a comprehensive list of stsadmin commands and their properties, check out the following link:
http://technet2.microsoft.com/Office/en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx?mfr=true
or go directly to the list:
http://technet2.microsoft.com/Office/en-us/library/e5134b97-b629-4fc0-8733-f2a49126daee1033.mspx
Many SharePoint 2007 administrative tasks are a lot easier to do at the command line - if you aren't using stsadm already, you should at least bookmark this for future reference.
-Joe
I wanted to drop a quick note to let people know I stumbled across this free community tool offered by U2U. For those of you who have a difficult time remembering the exact syntax for your SharePoint CAML Queries, this is a great tool.
It is a free download from U2U at: http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx
For those WSS3 and SharePoint 2007 users, you'll want the "CAML Query Builder release for SharePoint 2007 RTM" version.
This is a "No Install" download. You just unzip it to a folder and run it.
One of the things I really like about this tool is that, unlike many other SharePoint community tools, it does not have to run locally on the SharePoint Server. You can give it credentials and use the built-in web services in SharePoint to connect via HTTP.
Basically this tool allows you to connect to your SharePoint List and Libaries and run CAML queries visually. The tool builds the CAML XML for you and lets you test the queries to see what data is returned. It helps build the syntax for you and makes testing them much easier. You can also paste your own queries into the text editor and run them against the current site.
You can open and save your queries locally as text files so you can work on them through the tool. It's a great little application and has helped me out a lot for building some syntax that might not come naturally for those non-seasoned CAML query builders.
I hope this helps,
-Ryan
As we work with more clients on SharePoint projects, and talk to several more prospective clients, we see some trends emerging. One is the migration off of a "free" tool to SharePoint. We have had clients request moving off of an Open Source tool (LAMP stack), or a DotNetNuke-type platform, or a single-purpose content management system onto SharePoint 2007. The common themes tend to sound like "We tried things out with this free tool, and made some progress, but quickly ran into limitations with it and realized that SharePoint did this better, and had many other abilities that help us tackle other projects. And we have Microsoft on the desktop, so we know it plays well with the server-side".
What we're hoping to see in the future is more people taking advantage of the MSDN license and some VPC's to set up a SharePoint installation for pilot projects. While the Open Source software licensing may be "free", a lot of time and money can be spent piloting a project on a platform that you end up scrapping. We haven't had anyone ask to move them OFF SharePoint 2007 to another tool, so please feel free to save some time and money by starting on this platform...