14 December, 2006

The 2007 Office System and Web 2.0

An exciting new whitepaper has been released giving a brief overview of the web 2.0 ideas and outlining how the 2007 Office System can help enterprises to adopt web 2.0 ideas and technologies to create user-driven applications. Download here.

09 November, 2006

Filter list views based on user profile properties

MOSS 2007 comes with a number of filter web parts that makes it really easy to filter your SharePoint lists by connecting filter web parts with list view web parts. Out of the box, there are 10 filter web parts available.

There's one new filter web part in particular I find very powerful, the Current User Filter. With the Current User Filter you can filter the contents of web parts by using any property of the current user.

As an example of its use, imagine you build a corporate asset register based on a custom list. One of the columns, 'Asset Location', records which office the asset is located at. You also create a number of views to ease the management of the asset register (e.g. group by asset type, sort by purchase date, etc.).

For each local office, you nominate a person to look after the asset register for the local office. That person is only ever going to be concerned with the assets in the local office, so to make life easier for that person, you want to hide asset records from other offices.

Providing that the users have their Office property set in their user profile (imported from AD), you can use the Current User Filter web part to filter the asset register. Because all list views in SharePoint 2007 are proper web part pages, you can add the Current User Filter to all the views you have created for the asset register.

In the web part properties for the Current User Filter you can specify which user profile property to use (in this case 'Office'). You then simply connect the two web parts by sending the filter value from the Current User Filter to the appropriate column (in this case 'Asset Location') in the list view web part.

What you end up with is a central corporate asset register easing aggregated reporting. However, for the local asset manager at each office, it appears to be a local asset register only showing local assets.

Considering you can define your own user profile properties, there are unlimited opportunities for personalising list views. And because all list views now are web part pages, you can extend that personalisation to all the views of a list.

Stay tuned to my SharePoint musings: Subscribe via email or RSS.

06 November, 2006

Office 2007 released to manufacturing

Microsoft has announced that the Office 2007 System is complete. Last Friday the Microsoft Office team signed off on a build to be released to manufacturing.

So it seems that the products will be available to businesses late November as planned. And it means that I probably won't need to configure another MOSS 2007 Beta 2 TR server.

Also, the final cut of the .NET Framework 3.0 has just been released. Click here for links to downloads for the runtime, the SDK and the Visual Studio extensions.

05 November, 2006

SharePoint 2007 shortcomings

I came across this list of Criticisms of SharePoint 2007. I'm not trying to ruin the party right here before the official launch of SharePoint 2007 but like all technologies, the product does have some shortcomings.

No doubt that SharePoint 2007 is a big step forward from the previous version and unquestionably the product will continue its immense growth rate. However, as it has been the case with WSS 2.0 and SPS 2003, there will be a growing list of annoying things with WSS 3.0 and MOSS 2007 as we're getting further into the nuts and bolts of it. This is to be expected and it isn't a big worry if we can manage it with workarounds and tools or simply understand the limitations of the product.

31 October, 2006

Create a custom list form for a SharePoint list

SharePoint has always been good for basic business forms. A custom SharePoint list can be configured to collect any type of data and SharePoint automatically generates the forms for adding new items, editing items and viewing items. In SharePoint 2007, the workflow capabilities make SharePoint lists an even more attractive foundation for basic business forms.

In order to manage the data you collect from the form submitters, you will often have a few extra columns (e.g. status, notes, etc.) that you don't want the user to fill in when submitting the form. Using SharePoint Designer you can create a customised version of the form for adding new items that does not have your extra management columns on it.

  1. Open your site in SharePoint Designer.
  2. Browse to your list and open the 'NewForm.aspx' web form.
  3. Go File > Save As... and give the form a new name such as 'NewForm2.aspx'.
  4. Delete the default List Form Web Part from the page.
  5. Go Insert > SharePoint Controls > Custom List Form.
  6. In the List or Document Library Form dialog, select the appropriate list, content type and type of form.
  7. Click OK and a new Data Form Web Part is added with controls representing all the fields from the list (in my environment all the controls show "Error Rendering Control" but this does not affect the final result).
  8. In the newly added Data Form Web Part, delete the rows containing fields not to be shown to the user (ensure that fields being removed are not required fields without default values as this would prevent the user from submitting the form).
  9. At this point, you can do other customisation such as rearranging the fields if you wish.
  10. Save the site.

To give users access to your new form, publish a link to the NewForm2.aspx page. By using the Source query string parameter you can direct users back to where they came from after submitting the form. For example, if you publish the link on 'http://portal.example.com' then the URL to the form would be 'http://portal.example.com/Lists/YourList/NewForm2.aspx?Source=http://portal.example.com'.

Stay tuned to my SharePoint musings: Subscribe via email or RSS.

14 October, 2006

Data tracking with SharePoint 2007 and Access 2007

Microsoft Office Access used to be quite a popular application for tracking almost any type of data as it was relatively easy to create a few tables, design some basic forms and off you went with a tool for tracking issues, tasks, requests, etc. However, it was always a problem to decide where to store the .mdf file so it could be shared and backed up properly.

There is a much improved solution for this in Office 2007. For any application based around data tracking and where offline support is a requirement, SharePoint 2007 and Access 2007 plays together very well. Access can be bound to SharePoint lists. This gives you the server-based benefits of SharePoint and provides you with a rich UI and offline support.

To start exploring this functionality try the following:
  1. Create an Issues Tracking list in SharePoint.
  2. Add some sample data to it.
  3. From the Actions menu, select Open with Microsoft Office Access.
  4. An Open in Microsoft Office Access dialog pops up. Make sure Link to data on the SharePoint site is selected and click OK.
A new Access database will be created complete with a number of reports, views and forms to add and edit issues. The data is stored only in the SharePoint list on the server and whenever you hit Save, changes you make in Access are saved back to the server. When you hit the Refresh button on the Home ribbon, changes made on the server are updated in Access.

The data is still linked to the SharePoint list. To take the data offline click Take All Offline on the External Data ribbon. You now have a local copy of the issues list including a rich interface to interact with it. The data is saved locally only.

At any point in time, you can hit the Synchronize button on the External Data ribbon which will synchronise the data with the SharePoint list on the server. If there are any conflicts, a Resolve Conflicts dialog will allow you to resolve them.

All in all, SharePoint and Access together provide a powerful and simple solution for data tracking. SharePoint enables proper sharing and backup of the data and Access provides a rich UI and offline support.

12 October, 2006

Enabling PDF search in MOSS 2007

Instructions on how to install the Adobe iFilter, configure MOSS 2007 to index PDF documents and map an icon to the .pdf file extension have been posted here. Thanks to Steve Walsh for originally posting these instructions on the newsgroups.

Update: The above link is broken. Try this post instead.

Update: For Adobe PDF iFilter 9 on 64-bit platforms, follow the guidelines provided by Adobe.

Stay tuned to my SharePoint musings: Subscribe via email or RSS.

19 September, 2006

The New Paperclip

Via Alistair Speirs' blog I found a new blog by Paul Woods. He has recently started The New Paperclip with loads of tips and tricks for Office 2007. It's definitely worth following if you want to to get more out of the Office 2007 client applications and make a smooth transition from the previous versions.

14 September, 2006

Records Management in SharePoint 2007

Due to the massive amount of information being created in business today combined with numerous large court cases against companies for not having proper record keeping, records management is becoming an increasingly important investment area. With Office 2007 we finally get records management into SharePoint.

A growing number of organisations look to the international standard, ISO 15489, for guidance on records management. The question is whether a records management solution based on SharePoint 2007 and the rest of the Office 2007 suite of products is compliant with this standard. Other eDRM products like Meridio use their compliance with ISO 15489 as one of their main selling points.

Although not officially being fully compliant with ISO 15489, features of Office 2007 have been designed with this standard in mind. Microsoft has a Records Management Team that works across the different Office products to incorporate records management capabilities. Their blog is a must read if you are working with using SharePoint 2007 for records management.

What I would like to know is whether it is possible to build a records management solution with SharePoint 2007 (and the rest of Office) that is 100% compliant with ISO 15489. My initial assessment is that we are not far off. I would be very interested in hearing from anyone who can identify parts of ISO 15489 where SharePoint 2007 will have compliance issues and how these issues can be addressed.

13 September, 2006

Beta 2 Technical Refresh available today

The 2007 Microsoft Office System Beta 2 Technical Refresh became available today. You can download it now from the Microsoft Download Center.

I assume that will include a new build of WSS 3.0 and MOSS 2007. The SharePoint Team Blog has published some important upgrade instructions if you wish to have a crack at the new build.

22 June, 2006

Office documents opening within the browser

When clicking on a document (e.g. a Word document) in a SharePoint document library, it will open for the user to read. For some users the document is opened inside the browser and for other users the document is launched in its host application (e.g. Microsoft Word).

From my experience, most users prefer to have the documents launch in the host application and thereby retaining the web page they opened it from behind it. The setting that controls this behaviour is located in Windows Explorer (not Internet Explorer) on the user's machine.
  1. Open Windows Explorer.
  2. Select Tools -> Folder Options... from the menu.
  3. Go to the File Types tab.
  4. In the Registered file types list, select the file you want to change the setting for (e.g. DOC).
  5. Click the Advanced button to open the Edit File Type dialog.
  6. At the bottom of the dialog there is a checkbox, Browse in same window, where you can specify whether the selected file type should be opened within the browser or launched in its host application when clicked on a web page.

You can either let the individual users choose their preferred setting or push it out with a policy. Remember to change the setting for all of the Office file types for consistency.

06 June, 2006

Microsoft Football Scoreboard

Microsoft has released a free football scoreboard that will display live scores from the upcoming FIFA World Cup. You can download it from here.

It's a neat little transparent desktop client that also allows you to specify an RSS feed for a news ticker at the bottom of the window. A good feed to add is the news feed from the official World Cup site.

Also along those lines, not long ago the Dutch company Tam Tam released free SharePoint web parts for the World Cup. You can use them to manage your internal tipping competition through your corporate intranet and the results will automatically be calculated from their public website.

28 May, 2006

SharePoint Server Migration Centre

With the beta 2 release of Office 2007, it is definitely time to keep the next version of SharePoint in mind when working with solutions based on the current version. There are many areas where life will get a lot easier.

The first question that comes to mind is how to go about the migration of existing implementations. To address this, Microsoft has set up a SharePoint Server Migration Centre with lots of whitepapers and links to webcasts and tools.

21 May, 2006

Use Word 2007 for blogging

Beta 2 of Office 2007 is getting closer (expected this week?!) and one of the latest feature additions is blog support in Word 2007.

You can use Word to either create new posts or edit existing ones and then hit a publish button. They promise it will produce clean HTML rather verbose Word HTML. Beta 2 will support MSN Spaces, SharePoint 2007, Community Server and Blogger but more providers will be added before the final product ships.

Refer to Joe Friend's post for more details about Word's blog support including screen captures.

02 May, 2006

ASP.NET 2.0 as an important underlying technology

Scott Gu has a post commenting on how ASP.NET 2.0 is an important underlying technology for many of the new products and technologies coming out from Microsoft in the near future.

The current versions of WSS and MCMS have introduced their own API's that you need to learn in order to master the products. For example, WSS brought on web parts and MCMS added page templates to the mix.

With the release of ASP.NET 2.0, these concepts have been built into the underlying platform on which the new version of SharePoint (including WSS and what used to be MCMS) is based. I see two important positive implications of this.

Firstly, the skills required to master the products are no longer specific to the products and good solid base skills in ASP.NET 2.0 can be utilised for a wide range of applications and products.

Secondly, the features such as web parts and page templates are no longer purely of value to solutions based on the respective products. With ASP.NET 2.0 you can take advantage of these great technologies in your own custom applications.

The upshot is: Become a champion of ASP.NET 2.0 and its extended API and you will be able to leverage those skills in a much wider space than previously. All this, of course, is only looking at the world from the technical point of view. The business problems that the different products are designed to address will continue to differ fundamentally.

05 April, 2006

Office 2007 Webcasts

There is a whole series of exciting webcasts on Office 2007 coming up with the first one being broadcast early tomorrow morning. There are sessions on the new versions of WSS and InfoPath but also on topics such as business intelligence, content management and workflow.
Steve Yi's post has briefs on all the sessions.

20 March, 2006

Subwebs on the Quick Launch

It has always amazed me what some people have been able to do with the Content Editor Web Part (CEWP). Good examples of the possibilities include James Milne's SharePoint Page ToolBar and Todd Bleeker's Snow Web Part. The former adds printer friendliness and a few other tools to a web part page and the latter is a Christmas gimmick that makes it snow on your SharePoint site.

Now Todd Bleeker has released a CEWP that will add a section to your Quick Launch bar with a list of subsites underneath the current site. This is a very sought after feature and this is a great solution for it. It works perfectly and it is highly customisable.

The beauty of using a CEWP is that no assemblies need to be installed. All you need to do to install the web part on a virtual server is to drop the .dwp file in the 'wpcatalog' folder. The Sub Webs On Quick Launch web part can now be added to any web part page from the Virtual Server Gallery. I do recommend to change the defualt heading from Subwebs to Subsites to be consistent with the terminology used in the SharePoint UI.

13 March, 2006

Rollup web parts in SharePoint 2007

The SharePoint Team Blog has released some information on new rollup web parts to be included in SharePoint 2007. This is great news as the current version of SharePoint has practically no out-of-the-box options in terms of aggregating content from various team sites.

The new web parts allow you to roll up all the documents created, modified or checked-out to you as well as including all the tasks assigned to you. It is not quite clear from the post how configurable these web parts will be but it appears that they are limited to documents and tasks and based only on content relating to the current user.

I agree with Robert te Kaat's post that more flexible rollup web parts are desirable. For example, it would be nice if a parent site could display a list of all tasks aggregated from all the child sites or an aggregated list of high priorty issues. This is currently achievable with FrontPage and the data view web part, but a standard web part for this would allow numerous quick wins when SharePoint is used as a project management tool.

Stay tuned to my SharePoint musings: Subscribe via email or RSS.

09 March, 2006

SPS 2003 with SQL Server 2005

I've been setting up a new single box environment with SPS 2003 installed against SQL Server 2005. I first installed SQL Server and then SPS. However, when I wanted to create my first portal site, I kept getting 'Portal creation failed. Please see the portal creation log for more details.'

After messing around for a while I realised I had forgotten to install SPS Service Pack 2 which solved the problem.

Have a look here for an overview of the performance gains when using SQL Server 2005 with SPS 2003.

01 March, 2006

When not to customise the SharePoint UI

Most organisations rolling out SharePoint want the UI to be branded with their colours and logos. Some take this even further and want the layout of the pages completely redesigned. This is fair enough if we're talking about rolling out SharePoint as a new corporate portal, intranet or an external extranet. In these cases, there may be an important marketing aspect of the rollout justifying lots of UI customisation. However, there are scenarios where customisation might not be worth the effort.

If SharePoint is used as an internal productivity tool only, you should seriously consider to go with the standard look and feel. Just like you do with the other Office applications. You wouldn't even consider skinning Word or Excel to reflect your corporate brand. The focus is entirely on functionality and usability, not aesthetics.

There are some drawbacks of customising the SharePoint UI extensively. You end up with a non-standard implementation that is harder to maintain and support and there are also unknowns about how well a heavily customised implementation will come across to future versions of SharePoint. I'm not saying that branding SharePoint is a bad idea, but you should only engage in considerable customisation of the UI if the branding is really important. It might not always be worth it.

Using SharePoint as a productivity tool in internal teams should be seen as an extension to the other Office applications. It behaves like Office and it looks like Office. Yes, it does look boring if you've spend a lot of time with out-of-the-box SharePoint installations, but so does Word, Excel and the rest of Office. Like with any other deviation away from standard configuration, have a good reason before you do it.

23 February, 2006

SharePoint list: Group by month

If you have a SharePoint list that contains a date column, you may want to create a view that groups all the items by month. For example, in a standard task list you can create a view that groups the tasks by which month the Due Date is in.

To accomplish this, create a calculated field that returns a single line of text and has the following formula:

=YEAR([Due Date])&"-"&CHOOSE(MONTH(DATEVALUE("1/"&MONTH([Due Date])&"/"&YEAR([Due Date]))),"01. January","02. February","03. March","04. April","05. May","06. June","07. July","08. August","09. September","10. October","11. November","12. December")

Then select this field under Group By when customising your view. It can also be used for filtering and a similar calculated field can be used to group by week or by year.

Thanks to Ivan Wilson's post, I realised I don't need an unmanageable long nested if-statement to accomplish this. The CHOOSE function is very useful.

Stay tuned to my SharePoint musings: Subscribe via email or RSS.

21 February, 2006

UI Customisation in SharePoint 2007

In the current version of SharePoint, advanced customisation of the look and feel can easily be a very complicated task. With smaller deployments you can often get away with using the power of FrontPage 2003. However, when it comes to larger deployments with hundreds of team sites and/or portal areas, you face some real challenges. There are basically two different ways of approaching this. Either you go down the track of custom templates or the track of site definitions.

The custom templates are the ones you create by customising a site through the UI and then saving it as a template. This is straight forward to do, but the biggest drawback is that sites created from custom templates have no link to the template once they have been created. As a consequence, you cannot modify existing sites by making changes to the template.

Site defitions, which are sitting on the file system of the front-end web servers, solves the problem of being able to make changes that affect all existing sites. The trade off with site definitions though is that they are complex and time consuming to build. It requires lots of CAML editing and even simple layout changes have to be carried out in potentially hundreds of different HTML files. The site definition for the default team site contains 97 HTML pages with lots of duplicated HTML across most of the files.

The next version of SharePoint, which is included in the 2007 Microsoft Office release towards the end of this year, will be build on ASP.NET 2.0 master pages. This fact alone will ease customisation substantially. The master page will typically contain the branding, header, footer and navigation for the site. You will be able to redesign an entire family of sites, by modifying the master page.

Apart from master pages, SharePoint 2007 will have other improvements that will ease customisation of the look and feel. These include new and improved web parts and web part zones as well as the page layouts adopted from MCMS 2002. The SharePoint Team Blog has a good post on how the new SharePoint pages will be composed. The upshot is that it will become more realistic to train up creative designers to build SharePoint layouts and I believe we will see some very sexy SharePoint implementations in the future.

19 February, 2006

Office SharePoint Server 2007

With a press release last week, Microsoft presented the official names for the Office 12 suite of products. As expected, this includes Office SharePoint Server 2007 which merges SPS and MCMS together and the new Office SharePoint Designer 2007 which is partially based on FrontPage 2003. All the products are expected to be available by the end of 2006.

Dustin Miller has a comprehensive list of features in Office SharePoint Server 2007. Each feature has a link to more details on a blog, in a slide show or on a Channel 9 video.

14 February, 2006

Storing documents in the database versus on the file sytem

The long-term strategy for storage technology at Microsoft is to take advantage of SQL Server relational database technology wherever possible, and SharePoint Products and Technologies is a showcase example. In SharePoint, all content including BLOBs (Office docs, images, etc.) and configuration information is stored in SQL databases.

Recently, I have come across a number of DBAs that religiously refuse to have any BLOBs stored in their databases. This obviously limits how custom applications handling images and other documents can be designed. In addition, Windows SharePoint Services is not a popular technology with those DBAs.

There are a number of significant benefits of having your BLOBs stored in the database. First of all, you gain all the ACID properties of your transactions. Trying to obtain that in an architecture with data in the database and BLOBs on the file system is certainly not a trivial challenge. Secondly, BLOB data is backed up with the database easing administration. Another benefit is that SQL Server Full Text Search operations can be performed against formatted text-based data contained within BLOBs (eg. Word docs, PDF docs, etc.).

SharePoint takes fully advantage of all these benefits. The benefits do however come with a cost. Because SQL Server breaks BLOBs up into chunks that fit on database pages, there is a performance overhead when reassembling the BLOBs on retrieval compared to if they were stored on a file system.

In summary, there is no one right answer to where you should store your BLOBs. It all depends on the context. You need to consider the performance issues in the database and hold them up against the benefits of having your BLOBs stored in the database. A good example of resources that are better stored on the file system rather than in the database is images that are typically referenced via HTTP HREF.

For SharePoint, where BLOBs (mainly Office docs) are not extraordinary large files, the benefits definitely outweighs the slight performance overhead. Images that are referenced from within the HTML in the SharePoint site definitions are stored on the file system. These scnerios are good to keep in mind when considering BLOB storage strategy for your own custom applications.

07 February, 2006

BSPUG: Creating SharePoint Site Definitions

In my presentation today at the Brisbane SharePoint User Group, I gave an introduction into what is involved in creating and using SharePoint site definitions. As promised, here's a list of references that relate to what was covered.

  • MSDN gives a good introduction to site definitions and custom templates including pros and cons with the two approaches.

  • Heather Solomon gives a comprehensive walkthrough of how to create a site definition including how to create a list template.

  • MSDN has an introduction to CAML followed by a complete reference on all the elements and attributes.

  • Todd Bleeker has a post on how to use the AlternateCSS attribute in CAML to apply a custom style sheet to a site definition.

Thanks to James Milne for an excellent presentation on customising SharePoint forms with FrontPage. Drop by his website and check out his great tools including the SharePoint Style Designer he showed us briefly today.

02 February, 2006

Preview of InfoPath 12

A member of the InfoPath 12 development team at Microsoft, Tudor Toma, has started a blog about the new features of the product. His first post gives an overview of the browser-based InfoPath forms including support for mobile devices.

The browser-based forms should eliminate the need for having the InfoPath Windows client rolled out to every single user which is often a strong argument against leveraging InfoPath for electronic forms.

31 January, 2006

Remove delay when opening web part gallery

Just a handy little tip that will speed up the process of modifying your SharePoint sites.

When you're adding web parts to a web part page in SharePoint you first open the web part browser pane (eg. via 'Modify Shared Page' -> 'Add Web Parts' -> 'Browse'). At this point there is a long delay before the web part browser comes up. This is really annoying when you're designing a page and need to open this gallery frequently.

This delay is caused by SharePoint populating the Online Gallery by going to Microsoft's servers (btw, in the Web.config file you can change that to point to your own online gallery). In many deployments, however, the web parts in the Online Gallery are never used. The good news is that you can easily turn this off.

  1. Go to the SharePoint Central Administration site on the server.

  2. Click Configure virtual server settings and select the relevant virtual server.

  3. Click Manage security settings for Web Part Pages under Security Settings.

  4. Disable the Online Web Part Gallery and press OK.

Now try and add web parts to a web part page again and see how quick the web part browser opens up.

22 January, 2006

Face the unpredictable nature of software solution development

I am often amazed how many people and organisations have not kept up with time and still have not fully adopted an agile or adaptive approach to software development. They may claim to follow an iterative process but to a large extend they still work in silos and effectively maintain conflicts between various groups involved in the project.

One of the most notable of these conflicts is the one between the people in the business defining the requirements and the development team trying to satisfy these requirements. Too many technical people still believe they can expect a signed off set of predictable requirements they can work after. The biggest problem with a signed off set of requirements is that project quality is measured by conformance to the plan rather than how well the software meets the true (ever changing) business requirements.

In today's economy, the fundamental business forces are changing the value of software features rapidly. Hence, in most cases it's practically impossible to define a stable set of requirements. Furthermore, I think most people have noticed that it's very difficult for business people to really understand what they need from software. As the entire software development project depends strongly on the requirements, you cannot work after a predictable plan.

Rather than trying to apply (misuse) all sorts of processes to software development that all aim to predict outcomes, realise the unpredictable nature of solution development and learn to deal with it! Letting go of predictability doesn't mean you have to revert to uncontrollable chaos. Instead you need a process that can give you control over unpredictability. This is where the agile approach comes in.

Following the agile approach, one of the key aspects of dealing with the unpredictability of requirements is to have continuous and effective communication between the development team and the people in the business. In other words, stop working in silos.

On his website, Martin Fowler is keeping an article up to date on The New Methodology for software development. It is very well written and he does an excellent job in explaining why you cannot treat software development as a highly preditable engineering project.

02 January, 2006

Fundamental book on Business Process Management

If you work with BizTalk or in any other way are involved with Business Process Management (BPM) systems, there is a fundamental read that I can highly recommend.

Martyn A. Ould's "Business Process Management: A Rigorous Approach" gives you all the essentials in the space of BPM. The theory behind BPM is explained rigorously and lots of practical examples and guidelines are presented.

The book examines BPM and approaches to identifying IT solutions involving BPM without reference to particular products or technologies (such as BizTalk).

If you've worked with BizTalk for a while and been occupied with the technical challenges of designing and implementing solutions, this book is an excellent opportunity to take a step back and get a good understanding of an area where BizTalk is being leveraged more and more.