SharePoint: custom lookup field with EntityPicker

If you need to implement a SharePoint custom lookup field with a EntityPicker control, here are some useful links:

In addition, you can find open source and already complete examples on codeplex:

Finally, in the blog post Suggestions and Picker: Lookup vs. Managed Metadata there is the suggestion to use Managed Metadata fields instead of lookup columns, to use the native ajax drop down. Sincerly from the theoretical point of view I don't like this approach, because it's not correct to compromise the data architecture for the UI, but it's true that in some situations this can at least be taken in consideration.

Rearm di Windows 2008

If you use the trial version of Windows 2008, for example from the 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1), you may need to renew the activation of Windows 2008 (otherwise after some time the machine reboots).

You can do this rearming Windows, so from the command line you can write

slmgr.vbs –rearm

and then reboot the machine.

You can find more details in this Microsoft knowledge base article: How to extend the Windows Server 2008 evaluation period, where it is also described how to schedule this operation.

SharePoint 2010: feature upgrading

SharePoint 2010 introduces the concept of Feature Upgrading.

This allows, for example, to write code in the FeatureUpgrade method of our features.

The process to use this method is not automatic, as there are some steps to follow to make it work:

  • in the feature properties, it is needed to give values to the properties "Upgrade Actions Receiver Assembly", "Upgrade Actions Receiver Class" and Version (that, if null, equals to 0.0.0.0);
    it's possible to copy the first two properties from the "Receiver Assembly" and "Receiver Class" respectively;
  • in the feature designer, in the manifest, add the xml fragment for the upgrade actions;
    this allows to define multiple actions, based on the source and target feature versions;
  • finally, in the FeatureUpgrade method of your feature class, take your actions based on the current upgrade action.

The complete process is described very carefully in the blog post Using the FeatureUpgrading event to upgrade features.