Wednesday, May 30, 2007

Deploying a calculated site column using a feature in SharePoint 2007

It is not very easy to find a sample of how to define a site column of type calculated using the SharePoint 2007 features framework. The documentations shows how to do it using the user interface (see Calculate data in lists or libraries ). The documentation in the WSS SDK about the  Formula Element in the CAML Core Schemas points in the right direction but is maybe not clear enough. I tested the sample code below by using the site columns in a list definition. You might want to test it out in a content type as well - please provide feedback in the comments.

Code sample feature.xml

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Scope="Site" Title="Calculated Sitecolumn" Id="49C90DCA-6C76-4b30-99DB-7C4C7D100761">
<ElementManifests>
<ElementManifest Location="calcsitecolumn.xml"/>
</ElementManifests>
</Feature>

Code sample calcsitecolumn.xml

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field Name="CalcDemo" StaticName="CalcDemo"  Type="Calculated" DisplayName="Calculated column" ID="{DD01AF0E-5E58-4e50-B3E8-1BFC866CA9A0}" ResultType="DateTime" Format="DateOnly" ReadOnly="TRUE">
<Formula>=StartDate+7</Formula>
<Default></Default>
<FieldRefs>
<FieldRef Name="StartDate" ID="{64cd368d-2f95-4bfc-a1f9-8d4324ecb007}" />
</FieldRefs>
</Field>
</Elements>

Have fun with it ...

 

 

 

Tuesday, May 29, 2007

Compiling SharePoint 2007 audiences using the SharePoint object model (C# code sample)

A while ago I was looking for a way to start audience compilation using code. While I was looking in the SDK I stumbled upon this little phrase which was quite annoying - "Compiling audiences is not supported in the object model. " on
http://msdn2.microsoft.com/en-us/library/microsoft.office.server.audience.audiencemanager.aspx .

Fortunately, it does seem to be possible - here's what you need to do  (I added the code in a SharePoint application page - you know one of those pages that you add in the _layouts folder).

  • First add a reference to Microsoft.Office.Server.Search.dll (which you can find in the ISAPI folder in 12 Hive).
  • Audience compilation can take a while so you might want to show the user one of those new nice "Operation in progress" pages - you can do this using the SPLongOperation class
  • Next add the next code sample in your code behind:

 

SPLongOperation operation = new SPLongOperation(this.Page);
operation.Begin();
SearchContext searchcontext = SearchContext.GetContext(SPControl.GetContextSite(this.Context));

string[] args = new string[4];
args[0] = searchcontext.Name;
args[1] = "1"; //1= start compile, 0=stop
args[2] = "1"; //1=Full, 0=Incremental
args[3] = "Marketing"; //Audience name
Int32 runjob = Microsoft.Office.Server.Audience.AudienceJob.RunAudienceJob(args);

Thread.Sleep(3000);

operation.End(Request.ServerVariables["http_referer"].ToString());

For more information about RunAudienceJob check out the SDK. I left out the code which checks the AudienceJobReturnCode for simplicity sake and you might also want to include some impersonation since the user might not have sufficient rights to run an audience job.


Other resources:




Tuesday, May 22, 2007

Scheduling audience compilation in MOSS 2007 without limits

The default user interface in Microsoft Office SharePoint Server 2007 only allows you to schedule audience compilation once a day but what if you want to do this multiple times a day? Luckily there is a workaround.

Behind the scenes audience compilation uses audiencejob.exe which you find underneath c:\program files\microsoft office servers\12.0\bin\.  To find the correct syntax just type audiencejob.exe this will give you something like

AudienceJob.exe <Application Id> <Command> [Crawl Type] [Audience Name]
Application Id: Guid corresponding to Search application
Command: 1 = Start, 0 = Stop
Crawl Type: 1 = Full, 0 = Incremental (default = 1)
Audience Name: Specific audience to compile (default = all)

Application Id for SharedServices1: be1cf629-000b-4af3-8f6c-dfc3c96563a0

For example:

C:\Program Files\Microsoft Office Servers\12.0\Bin\audiencejob be1cf629-000b-4af3-8f6c-dfc3c96563a0 1 Full all  - will recompile all audiences from scratch.

You can easily use windows scheduler which calls audiencejob.exe to create a scheduled job which runs multiple times a day.

 

Monday, May 21, 2007

Popfly

I just watched the online video demonstrating Popfly - this is really a cool way to build mashups ... So little time and so much cool stuff. If you want to expirement goto www.popfly.com

SharePoint 2007 Tools Collection v1

A while ago - I posted about My Favourite SharePoint 2007 tools ... since then a lot of new cool exciting stuff has come out... So here's an update:

 

  • SharePoint Tips Utility Pack - package of  SharePoint 2007 utilities for administrators and developers.
  • Floating ToolPane for SharePoint 2007
  • SharePoint 2007 RSS Aggregation web part
  • Dan and Teds web part solution package template
  • STP Language converter - SharePoint Site Template Language Converter enables you to convert an  Site Template that was created in one language to another language
  • SharePoint Frantic Redirection webpart - Allows you to redirect users to a specific site depending on a specific user profile property.
  • Microsoft IT Delete Capture 1.0 - http://www.codeplex.com/governance
  • Chatterbox - persistent chat session for SharePoint Server 2007
  • Generic SharePoint 2007 solution installer - allows you to install and deploy SharePoint solution files using a nice UI.
  • SPCAMLViewer - Uses SharePoint webservices to provide inside into the CAML used in SharePoint lists and views . You migth also want to take a look at similar tool CAML Builder.
  • Internet Explorer Developer Toolbar - provides a variety of tools for creating, understanding and troubleshooting web pages.  (Final Release)
  • Fiddler HTTP Debugger - Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler is designed to be much simpler than using NetMon or Achilles, and includes a simple but powerful JScript.NET event-based scripting subsystem.
  • Upgrade toolkit for Windows SharePoint Services - Guidance and white papers to upgrade customized site or site template to WSS 3.0
  • BDC MetaMan - Tool to generate Business Data Catalog application definition files for Microsoft Office SharePoint Server.
  • MOSS 2007 utility for import/export of user profiles - allows you to populate your SharePoint Server user profile database using basic XML files as source.
  • Cross-browser editor for SharePoint 2007 (Telerik) - RadEditor for Microsoft Office SharePoint Server 2007 (MOSS) is a cross-browser alternative to the default rich-text editor in MOSS and WSS v3. The product is developed in an agreement between Telerik and Microsoft and is provided free of charge to registered clients of SharePoint 2007.
  • MOSS Query Tool - Next version of the SharePoint Query Tool, designed for MOSS (SharePoint 2007). It has a similar feature set to the SharePoint Query Tool - it allows you to use a point and click interface to gather information such as search scopes and properties, type in search terms, and click a button to create both the search SQL syntax as well as the Xml document that is needed to run a query against MOSS. You can see results in plain text, structured Xml and now a dataset view. It supports FREETEXT and CONTAINS as well as wildcard searching. A very valuable tool for those trying to write custom SharePoint queries.
  • Forms Based Authentication Setup Helper for MOSS 2007 - Utility to ease the process of setting up and configuring Forms Based Authentication for MOSS 2007.
  • Download all documents from document library feature - allows you to generate a zipfile containing all the documents in the list and provides it as a download to you.
  • CAML.Net - Another tool which builds CAML queries dynamically in code while preserving the syntactic structure of the native CAML language. You might also want to take a look at this introducion article - Working with CAML.Net Part I .
  • Site Provisioning Assistant - Public beta - SPA provides you with centralized management for controlling how new SharePoint 2007 sites are requested and provisioned in your organization. Based on provisioning profiles that you define, users are presented with an easy-to-use interface for requesting a new site. Site requests can be associated with custom workflows that match your organization's approval process. Upon succesful workflow completion, SPA automatically provisions the SharePoint site, and notifies the requesting user.
  • SPClientUtilities feature - allows you to switch any SharePoint page into edit mode or show the Web Part toolpane
  • SharePoint Builder on CodePlex
  • SharePoint Inspector - free tool to browse your WSS 3.0 and MOSS 2007 farm. You can see objects composing its structure, get their properties by reflection, which can be very useful when you want to check if your code does what it should do.You can use also some advanced features like activate/deactivate SharePoint features, add/remove event receivers, manage your recycle bin.
  • AppPool recycler for SharePoint Devs
  • SharePoint Features Project at GotdotNet - This project contacts the next features:
    • Presence Contact List v1.0: This is a contact list modified to show presence information as a drop-down associated with the e-mail field
    • Content Type Hierarchy Viewer v1.0 :This Feature presents the site content types in a hierarchical view. It shows the relationships between the content types, including hidden types. The Feature appears as the first link in the "Galleries" section of the Site Settings page.
    • Log Viewer v1.0 : This is a Feature for viewing the Unified Logging Service (ULS) logs through the SharePoint Central Administration site. It adds a new "Utilities" section to the "Operations" tab with a link to the ULS viewer.
    • Debugger feature for SharePoint - When activated, the Debugger Feature adds an “Attach Debugger” menu item to the Site Actions menu.

 

Tuesday, May 15, 2007

Accessibility and MOSS 2007

Mart posted an interesting tidbit where he talks about something that Microsoft Netherlands is working on - a SharePoint template that meets the guidelines set by Dutch government (only in Dutch).

If you need to build a WCAG compliant site, you are in for a whole lot of work - but there are some resources out there which might help you:

Luckily Andrew Woodward already published an overview of how SharePoint Portal Server 2003 and Microsoft Office Server 2007 compare with regards to accessiblity -  Priority 1 (Level A compliance) requirements of the WCAG 1.0 specification. You might probably also want tot take a look at the Technet article about browser support in MOSS 2007. 

SharePoint 2007 How To - Create a custom list definition

The SharePoint SDK shows How to - Create a Custom List Definition but is strange enough not complete. If you follow the SDK sample - the extra field you created in your custom list definition will NOT show up in the SharePoint form pages (Edit item, new item and view item).

In the next posting, I will describe in short the different steps - the last step is the one which I think is missing.

  • Create a new feature as explained in the SharePoint SDK. Afterwards install and activate the feature.
  • Modify the SCHEMA.XML file - Add your custom field inthe Fields section

<Fields>
<Field Type="Choice" Name="FavoriteColor" DisplayName="Favorite Color"

ID="{5F11FE7B-C8D4-4849-A400-133352D17ECF}">
<CHOICES>
<CHOICE>Red</CHOICE>
<CHOICE>Green</CHOICE>
<CHOICE>Blue</CHOICE>
</CHOICES>
</Field>
</Fields>


  • Add a reference to the Field you defined within the ViewFields section


<ViewFields>
  <FieldRef Name="Attachments"></FieldRef>
  <FieldRef Name="LinkTitle"></FieldRef>
  <FieldRef Name="FavoriteColor"></FieldRef>
</ViewFields>



  • Modify the ContentTypes section and modify the Item contenttype to include the custom column. This change will make sure that the custom column will also show up in the edit and new forms.

 


<ContentTypes>
<ContentTypeRef ID="0x0120" />
<ContentType ID="0x0100EE310F92BD4F4ee79829A2FB3A01F1ED" Name="Item"
Group="List Content Types" Description="Create a new list item." Version="2" 
FeatureId="{695b6570-a48b-4a8e-8ea5-26ea7fc1d162}">
<FieldRefs>
<FieldRef ID="{c042a256-787d-4a6f-8a8a-cf6ab767f12d}" Name="ContentType" />
<FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" Required="TRUE"
               ShowInNewForm="TRUE" ShowInEditForm="TRUE" />
<FieldRef ID="{5F11FE7B-C8D4-4849-A400-133352D17ECF}" Name="FavoriteColor"/>
</FieldRefs>
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<Display>ListForm</Display>
<Edit>ListForm</Edit>
<New>ListForm</New>
</FormTemplates>
</XmlDocument>
</XmlDocuments>
<Folder TargetName="Item" />
</ContentType>
</ContentTypes>


  • Finally create a new list using the new custom SharePoint list definition

Friday, May 11, 2007

A SOA is not something that you buy

Another colleague of mine  (allthough he switched to the Dark Side ... just kidding) - finally got his article about Service Oriented Architecture  published in IT Professional magazine ... Here's the online text - De weg naar succesvolle SOA-projecten - Een SOA is niet iets wat je koopt. (Sorry guys, only in Dutch).

 

Technorati tags: ,

Just enough taxonomy

A while ago, I blogged About taxonomy, folksonomy and SharePoint - well here's another nice blog about the same topic - Just enough taxonomy

 

Thursday, May 10, 2007

Microsoft recognizes Dolmen as strategic Information Worker partner

Nice quote  :-)

"Dolmen was one of the very first Microsoft Gold Certified Partners in Belgium that very early invested heavily in acquiring SharePoint related skills. As a result, Dolmen is currently probably the largest competency center for Microsoft Office SharePoint Server 2007 in Belgium and Luxembourg with many satisfied customers.", according to Yves Kerwyn, Solutions Marketing Manager, Collaboration, ECM & Search at Microsoft Belgium.

 

By the way, we are still looking for people wanting to join our Microsoft Competence Center. If you are interested just drop me a line at joris.poelmans@REMOVEMEdolmen.be

 

Excel, OpenXML and PHP

One of my colleagues, Maarten published another article in PHP Architect - this time about his PHPExcel project (available on Codeplex) which uses Microsoft's OpenXML API to create Excel 2007 spreadsheets in PHP. Great article.

I also noticed that Doug Mahugh (Microsoft's Open XML technical evangelist) wrote a piece about PHPExcel.

 

Technorati tags: , , , ,

Wednesday, May 02, 2007

About taxononomy, folksonomy and SharePoint

For those of you who need to design an information architecture - definitely take a look at these articles:

By the way - here is the definition that Wikipedia provides - http://en.wikipedia.org/wiki/Taxonomies

Taxonomy is the practice and science of classification. The word comes from the Greek τάξις, taxis, 'order' + νόμος, nomos, 'law' or 'science'. Taxonomies, which are composed of taxonomic units known as taxa (singular taxon), are frequently hierarchical in structure, commonly displaying parent-child relationships.

Some people might argue that a top-down approach for classifying information is not the way to go - these are probably the ones who prefer to talk about Folksonomies. Here is another Wikipedia definition - http://en.wikipedia.org/wiki/Folksonomy

 

A folksonomy is a user generated taxonomy used to categorize and retrieve web content such as Web pages, photographs and Web links, using open ended labels called tags. Typically, folksonomies are Internet-based, but their use may occur in other contexts. The folksonomic tagging is intended to make a body of information increasingly easy to search, discover, and navigate over time. A well-developed folksonomy is ideally accessible as a shared vocabulary that is both originated by, and familiar to, its primary users. Two widely cited examples of websites using folksonomic tagging are Flickr and del.icio.us, although it has been suggested that Flickr is not a good example of folksonomy.[1]

Those of you working with SharePoint Server 2007 as a solution platform for Knowledge Management and Document Management, definitely take a look at the  taxonomy/tagging starter kit as well as Rapid For SharePoint. One of the things with SharePoint is the fact that it is just to simple to use out of the box - you can dive straight in without thinking.  If you want to make your SharePoint project succeed, make sure that you don't dive straight in but that you plan your information architecture beforehand.

Update: Sven pointed to an interesting article about the advantages and disadvantages of folksonomies

 

BIWUG on Records Management

Last week, we had another BIWUG meeting - I just upload my presentation to the BIWUG website - apparently Inge already uploaded hers:

If you want to immediately dive into the demo - take a look at these postings which I used:

The last part was a demo from Gunter about Business Intelligence on SharePoint Server 2007 - you can rebuild his demo using this blog post - Putting it all together : MOSS 2007 - Business Data Catalog - Search - Excel Services - SQL Analysis Services.

By the way, we are still looking for a topic for next meeting - you can either leave some suggestions in the comments section or add them to the BIWUG site - http://www.biwug.be

 

Thursday, April 19, 2007

SharePoint article series - Business Data Catalog

One of our new SharePoint interns - Sven -  called this "the most powerfull feature in SharePoint" and I have to agree. When I saw the first demos from Business Data Catalog back at PDC in september 2005  (check out my post - IBF has a new brother - here comes BDC, Business Data Catalog), I was thrilled to finally see an easy way to integrate backend data into SharePoint Server 2007. For those who haven't done any BDC development - take a look at this article series from Sahil:

By the way, there finally is some clarity about the future of IBF (Information Bridge Framework) - Microsoft is suggesting customers not to invest in IBF anymore since LOBi is the way forward and it will replace IBF in the Office14 timeframe - for more info, take a look at Update on LOBi Services and IBF

 

Tuesday, April 17, 2007

Quick Reminder - Visual Studio Extensions for WSS 3.0

The RTM version has just been released and you can get it here.

Technorati tags: , ,

BIWUG on Records Management with MOSS 2007

Next week, april 26th - another session from the Belgian Information Worker User Group (BIWUG) on information management policies and records management with Microsoft Office SharePoint Server 2007. I'll be talking about how you can extend the policies framework using .Net.

Agenda

18u30 – 18u35: Welcome and Introduction
18u35 – 19u20: Records Management with MOSS 2007
19u20 – 20u05: Extending the Policies and Records Management framework in MOSS 2007
20u05 – 20u20: Break
20u20 – 21u: Business Intelligence with MOSS 2007

Location

Getronics: Genevestraat 10, 1140 Evere

If you want to attend this meeting, please register on www.biwug.be

 

Changes to SharePoint, Groove and CMS databases not supported

Apparently Microsoft finally created a knowledge base article about the Stay out of the database blogpost from Fitz ... KB841057 - Support for changes to the databases that are used by Office Server products and by Windows SharePoint Services.

 

 

Wednesday, April 04, 2007

SharePoint Server Language Packs downloads

Apparently, the SharePoint Server 2007 language packs are also publicly downloadable (previously you  could only download them from the Microsoft Volume Licensing Site) - here are the most commonly used in Belgium (yes we do speak 3 different languages):

For more information about language packs - take a look at the 2007 Office System - server products language offerings blog posting (it was released at beta2 timeframe but still contains some relevant info).

 

 

Tuesday, April 03, 2007

Consuming data from a SharePoint list in InfoPath and using data connection files

In the previous post, I showed how you can create and publish a browser-enabled InfoPath form. In this post, I will show how you can consume data from a SharePoint list.

First create a new custom list in the SharePoint site where you published the InfoPath template and give it the name Functions. Add a number of items to this list for defining the different job functions - e.g. architect, analyst, system engineer and developer. Open your InfoPath form in design mode and add a new data connection. Select "Create new connection to receive data" and type "XML document". Specify the address for the XML file - http://moss/sitedirectory/dummy2/_vti_bin/owssvr.dll?Cmd=Display&List=GUID&XMLDATA=TRUE - in this URL you will need to replace GUID with the Id of your list. You can actually find this Id by going to the list settings and using a part of the URL. Another thing you can use is the SPCAMLViewer tool.

 

Owssvr.dll is actually one of the SharePoint RPC methods - (for more info check out FrontPage RPCs are here to stay, too..., SharePoint and RPCs ... and they are also used for some other things such as Creating webpartpages. For a detailed discussion about how you can consume data from a SharePoint list (even using SharePoint views) in InfoPath - check out Populating form data from SharePoint list views

 

Make sure that you choose the option "Do not include the file in the form template" when using the data connection wizard. Now, you can convert this data connection to a data connection file and store the settings in a Data Connection library which is a new type of SharePoint document library for storing connection files. Use the Convert option in the Data Connection dialog.  A contributor can upload connection definitions but these need to be approved before other users can use them. There also is a Centrally Managed Connection Library which has some advantages:

  • Use data connections across site collections
  •  Anyone can read the CMCL (no extra security settings needed 
  • But … they need to be deployed by an administrator (this is also more secure)

Now, you can finally publish the form again. You will need to use these Data Connection libraries to work around the multihop delegation issues which you have when deploying InfoPath browser-enabled forms - check out Using webservices in browser-enabled forms with InfoPath 2007 Forms Services

Resources:

 

Thursday, March 29, 2007

Publishing a browser-enabled InfoPath template

This is the first installment of a series of postings about InfoPath and workflow in SharePoint 2007.

Open InfoPath 2007 and select Design a form template. Make sure that you check the "Enable browser compatible features only". Insert a layout table and add a number of textbox controls - firstname,lastname, phone and email.

InfoPath 2007 alllows you to use Template Parts - these template parts group. Template parts group pieces of a form template into a component that can be reused across multiple form templates. Template parts are always contained within Section controls. For more info take a look at the InfoPath team blog - Template Parts 101. If you need to add a template part - select Controls in the Design Tasks - and click Add or Remove Custom Controls. Now you can either add ActiveX controls to the controls which you can use in InfoPath or a template part which you have created previously.

Next insert an optional section and insert a salary textbox. You will use the optional section for data that users are not required to enter. Double click the salary textbox - change the data type to decimal(double) and change the format to currency. Notice that you can also specify data validation rules as well as mark the field as required.

Next, I add a repeating section (since I want to use a browser-enabled form I can't use the new horizontal repeating section). Insert into this repeating a custom layout table with 2 columns and 1 row and add a drop-down listbox to display a number of functions for which the candidate can apply. Since a candidate can apply for multiple functions - these controls are added to a repeating section. Also add an extra textfield in the repeating section where the applicant can add in some extra motivation about the function where he's applying for.

Last but not least, provide the applicant with a way to add his résumé - here you can use an attachment control. When you attach a file to a form, the original file will be converted using Base64 binary encoding. This means that these attachments will not be searchable in SharePoint. You could write an event handler which takes this attachment and stores it in a separate document library. Also not that the File attachment control will warn users when they upload a file which is larger than 1MB.

Now, your InfoPath form is finished and you will need to make it available for end users to fill it in. There are actually a number of ways to publish the InfoPath form template (to a file share, webserver or as an installable MSI). In this sample I will focus on publication to SharePoint and publish the InfoPath form to a document library. Create a new SharePoint site - using the blank site template.

Also remember that since your end users won't have the InfoPath UI available when filling in a form so there needs to be an alternative. Forms Services provides an alternative using Form toolbars which will display a number of buttons. You can change which buttons are visible by selecting Tools > Form Options in the browser category.

Click File >Publish - this will open the Publishing wizard. Select Publish to a SharePoint server with or without InfoPath Forms Services. (There also is a Lab about Publishing an InfoPath 2007 Form Template to a Server Running InfoPath Forms Services ). Select to create a new document library – call it Applicants and specify in the publishing wizard to create a new column - Firstname, lastname, salary. For other publishing options take a look at InfoPath Forms Management in Windows SharePoint Services v3 . Finally click publish and close InfoPath (Remember that when you are working in a Virtual PC - you might need to stop the system event notification service - Having problems with MOSS 2007 in Virtual PC - use net stop sens )

When you navigate to the Applicants document library and click New, it will open in InfoPath when you have InfoPath installed on the client. You can however force your InfoPath form to open in the browser even when an InfoPath client is installed. Click Settings > Form Library Settings. Underneath Advanced settings you can check "Display as web page". The form which will open should look like the image below.




Working with browser-enabled InfoPath forms and workflows in MOSS 2007

Yesterday I did my session at the Dev&IT Pro Days in Gent about "Working with browser-enabled InfoPath forms and workflows in MOSS 2007". Here's the user story:

"An applicant fills in a employee application form - this form is reviewed by HR which invites the applicant for an interview. They write a report about the interview which is routed to the right group manager using a workflow created with SharePoint Designer. Afterwards a contract is signed and routed using the out of the box Collect Digital Signatures workflow."

So, in the next blog posts I will talk about the following topics:

  • Publishing a browser-enabled InfoPath template
  • Using managed code in InfoPath forms and administrator approved form templates
  • Using a SharePoint Server 2007 out of the box workflow - Collect digital signatures
  • Creating a workflow with SharePoint Designer
  • Developing a custom workflow with Visual Studio 2005

Saturday, March 24, 2007

Coding against Active Directory

I had to do some development using the User object in Active Directory last week. Here are some links which might help you as well:

Tuesday, March 20, 2007

My favourite SharePoint 2007 tools

Update: fixed the link for the form based authentication helper - thanks Tony for pointing this out ...

  • SPCAMLViewer - Uses SharePoint webservices to provide inside into the CAML used in SharePoint lists and views
  • Internet Explorer Developer Toolbar - provides a variety of tools for creating, understanding and troubleshooting web pages.
  • Fiddler HTTP Debugger - Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler is designed to be much simpler than using NetMon or Achilles, and includes a simple but powerful JScript.NET event-based scripting subsystem.
  • Upgrade toolkit for Windows SharePoint Services - Guidance and white papers to upgrade customized site or site template to WSS 3.0
  • BDC MetaMan - Tool to generate Business Data Catalog application definition files for Microsoft Office SharePoint Server.
  • MOSS 2007 utility for import/export of user profiles - allows you to populate your SharePoint Server user profile database using basic XML files as source.
  • MOSS Query Tool - Next version of the SharePoint Query Tool, designed for MOSS (SharePoint 2007). It has a similar feature set to the SharePoint Query Tool - it allows you to use a point and click interface to gather information such as search scopes and properties, type in search terms, and click a button to create both the search SQL syntax as well as the Xml document that is needed to run a query against MOSS. You can see results in plain text, structured Xml and now a dataset view. It supports FREETEXT and CONTAINS as well as wildcard searching. A very valuable tool for those trying to write custom SharePoint queries.
  • Forms Based Authentication Setup Helper for MOSS 2007 - Utility to ease the process of setting up and configuring Forms Based Authentication for MOSS 2007.
  • SharePoint Builder on CodePlex
  • SharePoint Inspector - free tool to browse your WSS 3.0 and MOSS 2007 farm. You can see objects composing its structure, get their properties by reflection, which can be very useful when you want to check if your code does what it should do.You can use also some advanced features like activate/deactivate SharePoint features, add/remove event receivers, manage your recycle bin.
  • SharePoint Features Project at GotdotNet - This project contacts the next features:
    • Presence Contact List v1.0: This is a contact list modified to show presence information as a drop-down associated with the e-mail field
    • Content Type Hierarchy Viewer v1.0 :This Feature presents the site content types in a hierarchical view. It shows the relationships between the content types, including hidden types. The Feature appears as the first link in the "Galleries" section of the Site Settings page.
    • Log Viewer v1.0 : This is a Feature for viewing the Unified Logging Service (ULS) logs through the SharePoint Central Administration site. It adds a new "Utilities" section to the "Operations" tab with a link to the ULS viewer.

Thursday, March 15, 2007

Wednesday, March 14, 2007

Creating webpartpages in SharePoint 2007 using the SharePoint object model

I have been looking for a way to dynamically create webpartpages with code in SharePoint 2007. I already knew that it was possible using the Frontpage RPCs since I posted about this about a year ago - SharePoint WebPartpages when I found an excellent posting a newsgroup from Todd Bleeker. This still works in SharePoint 2007.

You can find limited documentation for the /_vti_bin/owssvr.dll?CS=109
command using in the spcf.aspx page in the WSS SDK under "Windows SharePoint Services RPC Methods", specifically the NewWebPage Method. The parameters of this method are posted to the dll using mostly hidden form fields defined throughout the spcf.aspx page.

<Method ID="Text">
<SetList Scope="Request">GUID</SetList>
<SetVar Name="Cmd">NewWebPage</SetVar>
<SetVar Name="ID">New</SetVar>
<SetVar Name="Type">[WebPartPageBasicPage]</SetVar>
<SetVar Name="WebPartPageTemplate">[1-8<</SETVAR&GT;
<SetVar Name="Overwrite">[truefalse]&tl;/SetVar>
<SetVar Name="Title">Text</SetVar>
</Method>
 

For those of you who don't know how to use SharePoint and FrontPage RPCs take a look at these postings: SharePoint RPC - two targets for FrontPage RPCS and Want a good example of FPRPC? Try SharePad! , SharePad has been updated and SharePoint and RPCs.


What I did not know that you can actually achieve the same thing using the SharePoint object model untill I stumbled on this posting - How to programmatically create a ghosted web part page.



using (SPSite sitecollection = new SPSite("http://server"))
{
using (SPWeb site = sitecollection.OpenWeb())
{
site.AllowUnsafeUpdates = true;
SPList list = site.Lists["Pages"];
string postInformation =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<Batch>" +
"<Method>" +
"<SetList Scope=\"Request\">" + list.ID + "</SetList>" +
"<SetVar Name=\"ID\">New</SetVar>" +
"<SetVar Name=\"Cmd\">NewWebPage</SetVar>" +
"<SetVar Name=\"Type\">WebPartPage</SetVar>" +
"<SetVar Name=\"WebPartPageTemplate\">2</SetVar>" +
"<SetVar Name=\"Title\">" + sTitle + "</SetVar>" +
"<SetVar Name=\"Overwrite\">true</SetVar>" +
"</Method>" +
"</Batch>";
string processBatch = site.ProcessBatchData(postInformation);
}
}

The code above also seems to work in SharePoint Server 2007 - for more information take a look at the SPWeb.ProcessBatchData method documentation on MSDN.



Monday, March 12, 2007

SharePoint 2007 workflow - AssociateonActivation

Some of you might have seen the AssociateOnActivation element in the workflow.xml (see example below) when building a SharePoint workflow in Visual Studio 2005 with the last build of the ECM Starter Kit and might be wondering what it is good for. Here's the explanation:

The value for AssociateOnActivation value will be false for most workflows but its value is set to true for the out-of-the-box document approval and collect feedback workflows. You probably noticed that these two workflows are available for all items in a SharePoint document library, although they are not in the list of workflow associations of the document library. This is because these workflows are associated to the document content type. So if you want to make your custom workflow automatically available on any item of the Document content type, just add <AssociateOnActivation> to true.

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Workflow
Name="Expense Report workflow"
Description="This workflow is used to approve expense reports"
Id="{9E778B0B-012F-43b9-A783-FF83C89AA736}"
CodeBesideClass="ExpenseWorkflow.Workflow1"
CodeBesideAssembly="ExpenseWorkflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=70c99ed3a3700cf4"
TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160"
AssociationUrl="_layouts/CstWrkflIP.aspx"
InstantiationUrl="_layouts/IniWrkflIP.aspx"
ModificationUrl="_layouts/ModWrkflIP.aspx"
StatusUrl="_layouts/WrkStat.aspx">
<Categories/>
<!-- Tags to specify InfoPath forms for the workflow; delete tags for forms that you do not have -->
<MetaData>
<Task0_FormURN>urn:schemas-microsoft-com:office:infopath:ExpenseTaskForm:-myXSD-2007-02-24T15-08-38</Task0_FormURN>                                                     <AssociateOnActivation>false</AssociateOnActivation>
</MetaData>
</Workflow>
</Elements>

You should check out the upcoming SharePoint 2007 MVP book for more goodies such as this one.

 

Thursday, March 08, 2007

BIWUG about Web Content Management

This evening's BIWUG session about web content management with MOSS 2007 was really great - we first had a presentation about things learned when doing a SharePoint project. Afterwards Steven did a presenation about the Content By Query Web part - also read his articel on MSDN Belux about Customizing the Content Query Web Part XSL  which included a nice demo. I just uploaded the demofiles as well as the presentation to the BIWUG site - take a look in the Meeting Presentations document library on the BIWUG site.

Finally, Patrick did a presentation in which he presented a lot of different user scenario's  demonstrating concepts such as document convertors, form based authenticationcontent deployment jobs, variations, etc ...

 

Inge blogs ... well semiblogs

Inge - one of the other board members of BIWUG - has been blogging for Vacature Talentblog. Read more here (only in Dutch):

PS Unfortunately the Talentblog does not even have an RSS feed - so it's a kind of a semi-blogging :-) ...

Technorati tags: , ,

Wednesday, March 07, 2007

BPEL support for Workflow Foundation

We had a workgroup about BPM on the Microsoft platform last week here at Dolmen. One of the topics which came up was the use of BPEL (Business Process Execution Language) and BPMN (Business Process Modeling Notation).

So it's great to see that Microsoft will add support for BPEL in Workflow Foundation with a CTP release in march which will implement the BPEL 1.1 specification   and ). The final release will also support BPEL 2.0 and is planned for Q4 of 2007. (Sources : ITWorld and Paul Andrew's blog). 

I actually taught that BPEL support would have been availabe with the RTM version of Workflow Foundation since it was already mentionned during the beta phases. Take a look at  Introducing Microsoft Windows Workflow Foundation - an early look from august 2005 for example which stated

For developers who wish to use BPEL, Windows Workflow Foundation includes a BPEL Activity Library that implements the constructs defined by version 1.1 of the BPEL specification. Using this library, it's possible to create workflows that can be exported to BPEL, or to import a BPEL definition into Windows Workflow Foundation.

David Chappel adds some interesting information as well ...

Similarly, any imported BPEL workflows will be converted into WF's internal representation. Like BizTalk Server today, WF treats BPEL as a way to move process logic between different workflow engines, not as an executable format (and certainly not as a development language)

This is similar to the way that Biztalk uses BPEL. I think that Oracle BPEL Process manager is currently the only tool which really embraces the concept of BPEL for defining processes and workflows.

 

tags: , , , , ,

Tuesday, March 06, 2007

Enabling and disabling Outlook-SharePoint integration

This is question which I got some time ago ... is it possible to disable the Outlook integration with SharePoint? Yes, this seems to be possible - for more information take a look at Enabling and Disabling SharePoint integration in Outlook 2007

tags: , ,

BIWUG about Web Content Management in Office SharePoint Server 2007

There's another session from BIWUG (Belux Information Worker User Group - www.biwug.be ) on thursday 8th of march. Here are the different topics:

18:30 - 18:45     Welcome and Introduction

18:45 - 19:30     Tips and tricks for working with the Content Query Web Part

19:45 - 20:30     Web Content Management best practices in MOSS 2007

20:30 - 21:00     Discussion

Location: Dolmen Huizingen - (click the link  for a detailed route description)

Don't forget ot register on the BIWUG site - click Register for next event.

PS The slide decks of the previous session about workflow are available in the Meeting presentations document library onthe BIWUG site.

 

Sunday, March 04, 2007

Update SharePoint Server 2007 crawler account

Be carefull when choosing your default content access account... for more info take a look at this Knowledge base article -

http://support.microsoft.com/kb/928623

 

Search results include draft documents in SharePoint Server 2007

View products that this article applies to.

Article ID : 928623

Last Review : February 22, 2007

Revision : 1.1

SYMPTOMS

You upgrade a computer that is running Microsoft Office SharePoint Portal Server 2003 in a farm environment to Microsoft Office SharePoint Server 2007. However, when you perform a search on the SharePoint Server 2007 site, the search results include draft documents.

CAUSE

This issue occurs when the default content access account under Search Settings in SharePoint Server 2007 Shared Services Administration is configured to use the SharePoint Server farm administrator account.

RESOLUTION

To resolve this issue, change the default content access account to use an account other than the SharePoint Server farm administrator account. To do this, follow these steps:

1. Click Start, point to Administrative Tools, and then click SharePoint 3.0 Central Administration.

2. On the Central Administration page, click Shared Services Administration.

3. On the Manage this Farm's Shared Services page, click the default Shared Services Provider.

4. On the default Shared Services Provider page, click Search Settings.

5. On the Configure Search Settings page, click Default Content Access Account.

6. On the Default Content Access Account page, type an account that you want to use for the default content access account, and then click OK.

7. Repeat steps 1 to 6 on each Shared Services Provider that is created when you upgrade the SharePoint Portal Server 2003 site.