I want to eliminate duplicate documents by creating a link from a document in one document library to a document that exists in another document library. In Windows SharePoint Services 2.0 and Microsoft SharePoint Portal Server 2003 this is a tedious task. I have to create an HTML file and use JavaScript code to redirect access to the other file. Has this process been simplified in the most recent SharePoint versions?


I'm glad you asked because the answer is a definite yes. One of the new features in Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 is the ability to extend a document library to support multiple content types. (Content types are groups of settings that you can apply to a category of SharePoint content to help you organize content in a more meaningful way.) One of the built-in content types is Link to a Document. This content type lets you store a title and URL for an existing document in either that document library or a different one. Figure 1 shows the New drop-down menu after I added the Link to a Document content type to a document library.

When you select Link to a Document, you're presented with the appropriate fields to enter the document name and location (URL), as Figure 2 shows. After you create a link to another document, the document name will be displayed in your document library and identified with the link icon, as Figure 3 shows. You can now access the linked document from this document library.

How can I hide SharePoint columns from certain users? I have a power user who, ideally, should have access to all columns and standard users who need only limited column access.


Neither Windows SharePoint Services 3.0 nor Microsoft Office SharePoint Server 2007 (or earlier SharePoint technologies) support the ability to apply permissions at the column (i.e., field) level. You have several options for solving this type of need, but if you require the information to be truly secure, you'll have to use custom coding or purchase a third-party product.

One way to address this need is by using Microsoft Office FrontPage 2003 to remove the sensitive fields from the existing list pages and create other pages for your power users that contain those sensitive fields. Then you need to prevent your standard users from accessing the pages designed for your power users. One approach is to use a redirect Web Part, such as the one created by Bamboo Solutions (http://www.bamboosolutions.com). Such a Web Part will redirect users to another SharePoint page or site if they don't belong to a specific permission group. Note that this approach will unghost your pages and therefore require additional maintenance in the future. (For information about page ghosting see the Web-exclusive article "What is page ghosting in Microsoft SharePoint technologies?" October 2006, InstantDoc ID 93796.)

A second approach is to create a custom list definition. You can create a custom list definition to provide most any functionality you want, including how the list is displayed. If you choose to create a custom list definition, I recommend that you read the MSDN article "Creating a List Definition" (http://msdn.microsoft.com/library/en-us/spptsdk/html/tsptCreateListTemplate_SV01016233.asp). You might need to augment this list definition approach with a custom Web Part that lets you control what information is displayed to users. (For more information about custom Web Parts, see "A Developer's Introduction to Web Parts" at http://msdn2.microsoft.com/en-gb/library/ ms916848.aspx.)

I've been asked to display the currently logged-on user on the home page of our SharePoint Portal. How can I do this?


Surprisingly, this functionality wasn't a standard UI element in Windows SharePoint Services 2.0 or Microsoft SharePoint Portal Server 2003. Rest assured that Microsoft has added it to Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007, but if you're still running the earlier versions, there are a couple of methods you can use to gain this functionality. Probably the easiest approach is to find a third-party Web Part that will display this information. You can download one such free Web Part from the Microsoft SharePoint Products and Technologies Web Component Directory at http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a1=841.

Another approach, which is described on the MSDN FrontPoint blog in the post "Howto: Display the Username for the Logged on user on a page," (http://blogs.msdn.com/frontpoint/articles/123179.aspx), uses the Data View Web Part and a few custom Collaborative Application Markup Language (CAML) techniques. Review the article before you decide on the approach you want to take.

I have 200 trainers at my company, dispersed throughout the world. Many of these trainers need to be able to work offline but still have access to our training materials. I'd like to set them up with a document library view that's been filtered for the documents they need. They can then drag the documents to a folder on their desktops for use offline. How can I do this?


The business problem you describe is quite common; unfortunately, SharePoint offers no simple solution. However, I have good news. Colligo Networks has created Colligo Reader for SharePoint, a product that does exactly what you're looking for. The better news is, if your disconnected users need a read-only view, the Colligo Reader is free. You can find out more about the product and download it at http://www.colligo.com/products/sharepoint/index.asp. Note that Windows SharePoint Services 3.0 gives users the ability to perform offline synchronization of content. Therefore, in this scenario, the trainers could subscribe to the document library from Microsoft Office Outlook 2007 and have offline cached content that they can edit and later upload to the server.