How to filter data in a Data View Web Part, based on the URL of the Web Part Page
A scenario that we encounter a lot, is where you have a project landing site with individual project sites below. On the landing site you have a SharePoint list with all your projects and on each individual project site, you would like to show the project details from this list of the parent site.
Basically this would mean you would have to add a Data View Web Part on the project site to show data from the Projects list of the parent site, and filter the data is some sort of way to show only the data for the appropriate project. This works quite well of course, but you don’t want your users to have to set that filter every time they create a new project site. So what we would like is to set the filter in the project site template.
Adding Breadcrumb Navigation for SharePoint Application Pages
Application Pages in SharePoint 2007 are a great way to extend SharePoint’s default user interface for your custom SharePoint solutions. An application page is deployed once per Web server and it’s not possible to customize these pages per site (like the normal Site Pages). A good example of an Application Page is the default Site Settings page: every site has one, and it’s not customizable on a per site basis (although the contents can be different for sites). A very basic application page could look like:
<%@ Page MasterPageFile=”~/_layouts/application.master”
Inherits=”Microsoft.SharePoint.WebControls.LayoutsPageBase”
Language=”C#”%>
<asp:Content
contentplaceholderid=”PlaceHolderPageTitle” runat=”server”>
Jan’s Page
</asp:Content>
<asp:Content
contentplaceholderid=”PlaceHolderPageTitleInTitleArea”
runat=”server”>
Jan’s Page
</asp:Content>
Variations requires SharePoint Web Parts
These last few days we have become aware of an important limitation regarding variations in SharePoint Server. The thing is that when using variations, web parts need to be inherited from the SharePoint WebPart class (Microsoft.SharePoint.WebPartPages.WebPart) and not from the ASP.NET WebPart class (System.Web.WebControls.WebParts.WebPart). If it is inherited from ASP.NET WebPart class, you will receive an InvalidCastException exception during variation propagation. This occurs when variations tries to cast your Web Part class to Microsoft.SharePoint.WebPartPages.WebPart before calling the PublishingPage.FixWebPartUrlsForVariation() method. I consider this a bug since it could easily be fixed by checking the type before trying to cast.
Today I ran into two unexpected behaviors of my custom workflow (created with SharePoint designer).
First, I created a task list with the same settings as the out-of-the-box list however mine would never generate an email either from the workflow created list items or manually created list items. My solution was to switch to the generic Tasks list which was generating emails correctly. I never figured out what caused this.
Second, when creating a new task based on another list, I could not populate dynamic string variables. There was no error, they just always returned blank. I found this blog article (http://blogs.3sharp.com/Blog/davidg/archive/2007/02/28/2979.aspx) that mentions something to this effect but I was using “Create Item in Tasks…” as an action, not the “Assign a To-do…”; still maybe that’s a documented “feature”. I wanted to use a dynamic string to key on specific text for my next workflow since I would have to use the generic Tasks list and I don’t want this workflow kicking off every time.
Your search cannot be completed because this site is not assigned to an indexer
Error: Your search cannot be completed because this site is not assigned to an indexer. Contact your administrator for more information.
My Resolution:
- Open SharePoint Central Administrator
- Go to “Application Management” tab
- Click on “Content Databases”
- Click on the database name. Default name would be “WSS_Content”.
- Select “Select Windows SharePoint Services search server” from the drop down.
SharePoint 2007 List Membership Provider
I recently completed a very cool project where I had the pleasure of working with Matt Ranlett. A big element of the project is a membership provider that Matt built that uses a SharePoint list as the user store. The client, Preparis, has very graciously allowed Matt to put the result of on CodePlex here.
Project Description
This project contains a custom Membership and Role provider for SharePoint 2007 which allows you to store your users in a SharePoint list on the site. This gives you the advantage of being able to maintain your users via the simple SharePoint list UI without requiring custom SQL access web partsSite Columns, Content Types, and Curly Braces
This actually came up a while back during a training course on MOSS customization and branding but I was reminded of it while doing the mind-numbing work of manually creating site column and content type features for a client. When you assign a GUID to a Feature it is up to you whether or not you want to include the curly braces (”{” and “}”) at the beginning and end of the string. SharePoint doesn’t really care. But lest you become a lazy developer and think you can do away with those darned curly braces forever, SharePoint has a nasty little surprise waiting for you when you get to creating custom site columns and content types.
A typical Site Column manifest file looks something like this:
Bugfix: Imtech Solution Setup (Free SharePoint Tool)
A while ago I’ve published the 1.1.0.0 version of Imtech Solution Setup - a small tool which allows you to add the selected solution to the Solution Store and deploy it to Web Application of your choice - and all that using a Windows GUI. Today, while using the tool for a release of a Solution of one of our products for a demo we gave for Microsoft, I’ve found out that the Solution Setup doesn’t work properly. In spite of updating the Solution package it still deployed the old version of it.
The problem was caused by the fact that the solution has been deployed to a Web Application. Somehow the force option didn’t have any influence on overwriting the old version of the Solution residing in the Solution Store with the new one. I’ve fixed this issue by first retracting the old solution from all the Web Applications it has been deployed to and then forcing the server to execute the timer jobs: just to be sure the environment will get cleaned up on time before adding the new version of the solution.
MSDN geekSpeak: Integrating SQL Server Reporting Services and SharePoint with Ted Malone
MSDN geekSpeak is a new kind of webcast series that dispenses with slide decks and scripted demos. Instead, geekSpeak webcasts bring you industry experts in a sort of “talk-radio” format. These experts share their knowledge and experience around a particular developer technology. You’ll hear about industry trends, new technology, real-world experiences and more. During the webcast you will be able to have your questions answered realtime, hear lively discussion and debate, and add your comments…
This white paper is the first in a series that will guide an organization through designing and implementing a governed, manageable Windows SharePoint Services 3.0 environment. Reading each of these papers in the order listed below is recommended:
- Windows SharePoint Services Manageability Controls (http://go.microsoft.com/fwlink/?LinkId=92895&clcid=0×409)
- Supporting Information Architecture with Windows SharePoint Services Manageability Controls (http://go.microsoft.com/fwlink/?LinkId=92896&clcid=0×409)
- Implementing Windows SharePoint Services Governance (http://go.microsoft.com/fwlink/?LinkId=92897&clcid=0×409)
SharePoint Designer, “Collect Data from User” and using those results.
Use the “Collect Data from User” action to create and assign a task to a user that prompts them for data. Among other things, I’ve used it to prompt a user to approve or reject a request and enter some comments.
This action takes the form of:
Collect data from this user (Output to Variable: collect1)
Clicking on data pulls up a series of dialog boxes where you specify what data the user should provide when completing the task and this user is obvious.
The output part (Variable: collect1) saves the ID of the task. You use this in your workflow to extract the user’s actual response via the “Compare any data source” condition.
Fixing the name.dll ActiveX Problem the Mossman Way
Have you seen this message on public facing SharePoint sites:
The Web site wants to run the following add-on: ‘Name ActiveX Control’ from ‘Microsoft Corporation’. If you trust the Web site and the add-on and want to allow it to run, click here…
For an example of one (at least until they fix it), check out:
http://www.mseventseurope.com/teched/07/itforum/content/Pages/Default.aspx
There are quite a few nice examples of internet facing SharePoint 2007 sites on the interwebs these days, however many of them seem to be plagued by this minor annoyance that seems to have slipped through the Microsoft cracks. The problem is compounded by the fact that most developers won’t even notice the issue until their portal is available to internet users.Branding SharePoint - Part 1: Designing your SharePoint Site
Part 1 of a multi-part series about how to brand SharePoint sites.  In this first segment, I talk about gathering design resources and having a little SharePoint know-how before you dive into creating designs for your SharePoint site. The next part will address how to start your code for your final design.
Branding SharePoint -Â Part 1: Designing your SharePoint Site
Q: Since upgrading my SBS2003 R2 servers to WSS v3 I am getting this same DCOM error: The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {61738644-F196-11D0-9953-00C04FD919C1} to the user NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20). This security permission can be modified using the Component Services administrative tool. How do I grant permission?
A: If you go to Component Services under Administrative Tools and then under DCOM find the package with the guid number that you are mentioning, you can right-click which will bring up a tabbed dialog and under the security tab you would need to give the network service account local activation permissions.
SharePoint Solution Installer source code released!
Here is some good news for all of you who asked for the source to my popluar SharePoint Solution Installer. I have now moved it to CodePlex as the project:
http://www.codeplex.com/sharepointinstaller
I am really short on time to improve it any further in the near future. But I will be happy to invite interested contributors to the project on CodePlex. Just use my contact form on CodePlex to ask for participation.
TechEd South East Asia has made it very easy to distribute and get the slides. All the decks from the event are on this *SharePoint* site:
http://mycafe.teched.com.my/Presenter%20Slides/Forms/AllItems.aspx
My slides are here:
Administration & Deployment Fundamentals - Part 1
Administration & Advanced Deployment - Part 2
Governance and Information Arch
Imtech Tools moved to CodePlex
As we’ve realised we have quite a few community tools we want to share, we figured out it would make it all easier to have a central file/release store. What’s more, as we’re busy with setting up a TFS development environment we have chosen for CodePlex as our main storage. From now on you can download all our community tools @ http://www.codeplex.com/tmt. All the links for our tools have already been edited.
Programmatically Activating an InfoPath Form Template
A colleague today asked me whether it was possible to programatically activate an InfoPath form template from the form templates store in Central Administration to a site collection. After much digging around in the MOSS SDK I couldn’t really find anything until I stumbled across the forms services SDK online. Using a combination of the two I came up with the following which shows how to do this:
Firstly you’ll need to add a reference to the Microsoft.Office.InfoPath.Server.dll assembly, which can be found at the following location:
C:\Program Files\Microsoft Office Servers\12.0\Bin
After adding a reference to this assembly you can use the following code fragment to achieve the requirement:
In a ideal, MS-driven, world you would have a BI solution using the SQL2005 suite and then using SharePoint 2007 to publish your reports and analyses. But what if your reports are not generated using SSRS (SQL Server Reporting Services) or Excel2007 or Peformance Point Server but using Cognos? Well Servé posted a nice quick way to view the reports. Check it out at How to enable Cognos reports on a Sharepoint 2007 site!
SharePoint Utility: Adminstration Extension Download for SharePoint
One common pain point for SharePoint administrators is the Windows SharePoint Services Timer Service, also known as OWSTIMER.EXE. The Timer Service is responsible for executing several processes that are part of the product. A few of the more well-known processes are the search crawl refresh, recycle bin processing and the workflow processes. Also, the Timer Service is the process that SharePoint uses to push web.config modifications and solutions to all front end servers in the farm.
Two specific issues that are related to the Timer Service are its memory consumption and limited user interface. The Application Extension Download for SharePoint (AED for SharePoint) from Barracuda is designed to help system administrators deal with these issues. The download can be found in the Premium Content section of the Mindsharp web site. (The utility is free, but you will need to provide your name and email.)
OneNote integration with SharePoint
I have found a unique way to keep track of meeting minutes in OneNote and share them with our group. Our team meets every week. These meetings usually last an hour or so and we discuss alot. Everything we discuss is immediately typed into a notebook on OneNote by date. The notebook is stored on a SharePoint site. We use SharePoint to house the information, but we actually make all the changes within OneNote. At the end of the day, we revert back to our machines and the team accesses the OneNote meeting minutes to electronically add any actions items from the meeting as Tasks in Outlook. We are totally paperless! We are using SharePoint in the background, but OneNote and Outlook to manage everything. The IT Director also has this notebook in his OneNote and can access it at anytime to update himself on the discussions we have.
How to Enable Incoming Email within SharePoint 2007
SharePoint 2007 allows for emails to be accepted into discussions, document libraries and lists. To enable this functionality, a few steps will need to be followed. One thing to note: integrating SharePoint with Exchange is NOT needed for this functionality, but if you do choose Exchange, you will get some added benefits.
Â
-SMTP Service
You will need to install the SMTP Server Service on the SharePoint server. This is done via add/remove programs, and within the IIS component listing.
Â
Background on My SharePoint Links
So recently we had some issues that came up around the “My SharePoint Links” option that exists on default master pages under the menu option “My Links”. Our issue was that a few sites never showed up on that list for some people during testing. This spawned a number of questions about this process, which I decided to share, as I couldn’t find much on the Internet currently about this. This is the information I’ve found, seen, and some is my best guess, based on the behavior of the system.
When My SharePoint Sites shows up
My SharePoint Links only shows up when you have multiple Site Collections. If you are working with one Site Collection, the list item for these links will not appear. After adding another collection, there is a waiting/polling period before it appears. This seems to be 5-30 minutes usually. My best guess is that this is linked to an sptimer job, although I haven’t found information on that yet. This appears to be the same job that “converts” a new site to standard security objects (see below).Designer export fails with “Guid should contain 32 digits” error
FOR WHAT IT’S WORTH DEPARTMENT
Trying to work out migrations (as others have before me). I was using SharePoint Designer to backup individual sites, until I encountered,
“Error occurred while exporting the web http://site/
Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).”
Huh? LOL. Sometimes you just gotta laugh.
So Google to the rescue. I learned that this message comes up alot and in many contexts. I found these posts that related to exports, though:
MOSS 2007: Configure Document Conversion for your server
I recently bumped into a challenge where I had to make it possible for people to convert their Word, Excel, InfoPath or other documents to a web page for display in your SharePoint 2007 installation. After a few minutes of informationgathering I realized that i could actually make it very simple for myself by using the Document Conversion functionality offered by Microsoft Office SharePoint Server 2007 Enterprise.
Below is a step by step instruction on how to configure and enable Document Conversion as well as how you will publish and convert a document from e.g. Microsoft Office Word 2007.
 Configuring Document Conversion
- Navigate to Central Administration of your SharePoint installation
- Click on the tab called Operations
- Locate the section Topology And Services and click Services On Server
- Start the following two services:
- Document Conversions Load Balancer Service
- Document Conversions Launcher Service
- Choose a load-balancing server and finally set a port-number it should run on.
- Click OK - It should state that the services are Started
Two posts in one day ?! Not like me normally, but this one has been BUGGING me for absolutely ages and I’ve just solved it, so thought I’d share the solution here and now in case this had been bugging anyone else the same way it’s been bugging me . . .
As most of you know, if you have some functionality on an application page that takes a while to execute you can wrap the functionality inside an SPLongOperation as shown below:
protected void btnCreate_Click(object sender, EventArgs e)
{
    using (SPLongOperation op = new SPLongOperation(this.Page);
    {
        op.LeadingHTML = “Please wait while XXX completes.”}
        op.Begin();
        // do something that takes a fair old while . . .
        op.End(“http://somewhere”)
    }
}
SharePoint Users Group site launched at www.thesug.org
The SharePoint Users Group site has finally launched. Check it out at http://www.thesug.org. While the user group has been pretty active for the past few months, the new site has finally launched.
SharePoint Resources and Information for Organizations Looking to Appropriate and Deliver SharePoint within their Enterprises
During my last client meeting yesterday the client requested information around a wide range of subjects related to SharePoint. I passed along quite a bit orally but promised to send them a consolidated list of resources and information. Since these are items that I think a lot of people might have an interest in I am including the discussion points and then links to content that addresses the topics.
- Free Downloadable Books for SharePoint
- Getting Started with Office SharePoint Server 2007
- Planning and architecture for Office SharePoint Server, part 1
- Planning and architecture for Office SharePoint Server, part 2
- Planning an Extranet Environment for Office SharePoint Server
- Deployment for Office SharePoint Server
- Upgrading to Office SharePoint Server
- Office SharePoint Server Security
- Web Publishing and Planning Guide with Microsoft Office SharePoint Server
- Records Management Guide for Microsoft Office SharePoint Server 2007
- Document Management with Office SharePoint Server 2007
Do we store relational data in SharePoint?
This week I am doing some consultancy work for a big pharmaceutical called Lilly here in the UK. Lilly is an American-based company (Indianapolis) with divisions all over the world and they asked my help to guide them building a couple of POCs illustrating to their business what they could be doing with SharePoint (both WSS and MOSS). If you know me, then you know that I have a very developer-focused vision on WSS and MOSS seeing definitely the first one as a development platform (as I like to refer to it ASP.NET++) and for me it was very hard but a good lesson to experience that companies like Lilly have another perception of what SharePoint can mean for them. The goal was to come up with a solution involving no-trivial types of business processes support and workflows on top of WSS without major customizations and no development at all.
Generally the reviews about Sharepoint 2007 have been quite “fair”, critics perhaps citing some lack of features vs niche product X which is OK. And we all know it; that Sharepoint is a “platform”, suite or even some think of it as an OS, and sometimes there might be  the need for external tools or even the need to use-integrate competing products to gain specific capabilities.
Lately I’ve been seeing a large amount of rants about “Sharepoint Lock -In” from a Matt Asay.
While he seems quite a smart guy, one has to consider following:






Great post. I have some Sharepoint posts as well:
ScanGuru Microsoft Sharepoint Links
Hai,
Plz send the above query answer.