Skip to main content
 
Go Search
Home
Categories
Bloggers
By: Thomas DuPont | Posted: January 4, 2010 at 3:53 PM

A great new feature in SharePoint 2010 is the content organizer. In SharePoint 2007, the only way to manage your documents was to use the Record Center Site template which didn't really provide flexibility. Now in SharePoint 2010, the routing engine and supporting settings are encapsulated in a feature that can be activated in any site.

Enable the feature 'Content Organizer' at the site level:

image

Once the feature activated, you will notice two new settings links appearing on the site settings page:

image

Send To Another Site

In the Content Organizer Settings page, you will notice an option that let you send an item to another site. By default that option is not selected and therefore only allows the routing to happen within a site.

image

When the 'Sending to Another Site' check box is not selected in the Content Organizer Settings page, your rule setting page in the target location section will show as shown here:

image

When you do check that 'Sending to Another Site' check box, you will see a drop down list that will contain all your 'Send To connections:

image

You can define and create your 'Send to' connections in Central Administration at :

Central Administration > General Application Settings > Configure Send To Connections

image

On the configure send to connections page, enter the url of your site and append the web service 'OfficialFile.asmx' :

image

Just keep in mind that the site your sending the item to must have the Content Organizer feature enabled as well.

Another interesting feature in the Content Organizer Settings page is the Folder Partitioning option.

image

With SharePoint 2010 you can automatically configure an item limit of the target location. Once the limit is reached, subfolders are created and used to store incoming items.

Content Types Filtering

You can now use Content Types and their metadata columns to define your rule:

image

Priority

You can also set a priority of your rules. When incoming items are going to be processed by the routing engine, rules with the highest priority are going to be processed first. A rule with priority of 5 will be processed before a rule of priority of 7 (which is lower). If all conditions in a rule are met, remaining rules are not processed and the item is automatically routed.

image

By: Thomas DuPont | Posted: October 27, 2009 at 10:28 AM

With SharePoint 2010, LINQ to SharePoint is now fully supported. It now offers the ability to work with strongly typed objects as well as the ability to use the LINQ syntax which is easier than using CAML. Another great advantage of using LINQ to SharePoint is that you can join SharePoint lists which can be very powerful.

In order to use LINQ to SharePoint, you will need to have entity classes created. Rather than having to create them manually which would take a long time, Microsoft provided a small utility that creates all those objects for you called SPMetal (click here for more information). The SPMetal utility works similarly to the SQLMetal utility (extracts SQL metadata from a database and generates entity classes). SPMetal will generate those entity classes which are used in LINQ to execute SharePoint queries. When those queries are executed, the LINQ statements are in turn translated to CAML.

SPMetal command syntax

SPMetal.exe /web:http://yoursite/ namespace:LINQtoSharePoint /code:SPLinq.cs

  • web: The complete, absolute URL of the Web site whose data is modeled by the entity classes.
  • namespace: The namespace that contains the entity class declarations.
  • code: The relative or absolute path and file name of the output file.

For more command line options, see here.

After the command was successfully executed with SPMetal, code should have been created for you:

Add that code to your SharePoint project.

Notice that a class 'SPLinqDataContext' is created by the SPMetal tool containing all the lists available within the SharePoint site.

All those SharePoint lists can now be queried using the SPLinqDataContext class.

Now you can use the LINQ syntax to query SharePoint data:

By: Thomas DuPont | Posted: October 26, 2009 at 11:33 AM

SharePoint 2007 didn't have any client object model; as a result, only the server side api could be used to access SharePoint data when creating a Windows, WPF, Console, Silverlight or ASP.NET applications.

SharePoint 2010 now provides the infrasctucture to easily use SharePoint data from those client applications thanks to the client object model. You can now have your client applications easily access SharePoint properties, Lists and Document Libraries eventhough those client applicaitons might not be running from a SharePoint server or a SharePoint site.

Here is a quick example of obtaining SharePoint groups using the client object model

First, make sure you add the following two references to your project:

Also make sure you add the following using statement in your code:

Here, I am creating a new client context to my SharePoint site:

I am then querying all the avaibable SharePoint groups in that site and bind the returned results to my control:

The WPF application now shows all the SharePoint groups available in that site:

 

 

By: Thomas DuPont | Posted: August 20, 2009 at 10:11 AM

I recently started to work with Hyper-v to build a 64 bit environment as Virtual PC 2007 is not supporting it.

I started to go back and forth between Hyper-v and Virtual PC 2007. I immediately noticed that my all my vms in Virtual PC 2007 would not perform well. They would take forever to start, the Active Directory indices would systematically be rebuilt on start, some services could not be started properly, and the overall performance was very poor.

The problem is coming from the fact that Hyper-v is binding itself to the hypervisor process not allowing any other applications to use that process. As a result, those other applications, such as Virtual PC 2007, get a filtered access to the CPU instead of a direct access.

Steps to follow to avoid issues

Set the following three services to be started manually:

Before you use Virtual PC 2007, open a command prompt window and enter the following command:

sc config hvboot start= disabled

After entering the command, reboot your machine.

Before you use Hyper-v, open a command prompt window and enter the following commands:

sc config hvboot start= auto

net start hvboot

Now you can start Hyper-v manager and start the service manually:

By: Thomas DuPont | Posted: June 15, 2009 at 12:12 AM

I have encountered a few issues when working with STSDEV under source control and if you are not aware of those issues, you might end up wasting a lot time trying to figure out what is going wrong.

Updating the targets file

When changing the target file, you would think the changes would instantly take effect but they don't. For example, the path of your STSDEV might be different from the path your colleague has so naturally , you would go and update it properly so that is works in your environment:

For changes to take effect, you have to make sure you unload the project (after saving your targets file):

and reload it:

I have stared at the screen for a while wondering why STSDEV was breaking when everything seemed in order in the targets file.

Read only deployment files

Make sure that the deployment files can be modified before you build your project.

Check the targets file and SolutionConfig.xml out to you:

Go to your the folder where your deployment files are located and verify that none of the files are set to "Read only".

Then go ahead and build your project and STSDEV will properly update any deployment files.

 

 About Thomas DuPont

ConsultantThomas DuPont is a consultant for PointBridge. Thomas has deep experience in the SharePoint practice and prior to PointBridge was a lead developer for a Chicago-area company on a multilingual SharePoi... [more]

 Tag Cloud

 External Links

 ‭(Hidden)‬ Admin Links