Happy New Year - 2009
Dear SharePointers,
I wish all of you a wonderful New Year’s Eve. May the year 2009 be in every aspect a better year than 2008! I wish you Health, Happiness, Joy and the best of everything...
Friendly Regards,
Nick
Creating custom Document Information Panels in Microsoft Office SharePoint Server 2007
Since there are some good articles about this topic on the internet I will give you a quick start finding them instead of spending time (re)writing a personal topic about a Document Information Panel.
"The Document Information Panel, displayed in Microsoft Office Word 2007, Microsoft Office Excel 2007, and Microsoft Office PowerPoint 2007 documents, enables users to view and change the properties for an individual file or for a content type that is saved to a document management server, such as a Document Workspace site or a library based on Windows SharePoint Services 3.0. These properties, or metadata (data that describes other data, for example, the words in a document are data; the word count is an example of metadata), are details about a file that describe or identify it. Users employ these properties to organize, identify, and search for documents.
One of the ways you can create and edit a custom Document Information Panel is by starting from the Microsoft Office SharePoint Server 2007 user interface. You choose the content type for which to create or edit a custom Document Information Panel. Office SharePoint Server 2007 starts Microsoft Office InfoPath 2007 and supplies the content type schema as the primary data source, and the automatically generated form as a starting point. After you edit the form, you publish it directly to the content type or to another location. This Office Visual How To shows how to create and edit a custom Document Information Panel from SharePoint Server 2007."
More Information:
How to: Create a Custom Document Information Panel from InfoPath: http://msdn.microsoft.com/en-us/library/ms563688.aspx
Best Practices Using Disposable Windows SharePoint Services Objects
There is a nice document on MSDN about Disposing SharePoint objects.
"Learn the appropriate ways to write your code when using Microsoft Windows SharePoint Services objects so that you can avoid retaining the objects in memory with the Microsoft .NET Framework. (24 printed pages)"
http://msdn.microsoft.com/en-us/library/aa973248.aspx
Also a nice article to take a look at is: Best Practices: Common Coding Issues When Using the SharePoint Object Model (http://msdn.microsoft.com/en-us/library/bb687949.aspx)
This Blog supports 3FM Serious Request 2008
Yesterday I went to Breda (NL) to support the Serious Request 2008. 3FM DJ's: Giel Beelen, Coen Swijnenberg and Paul Rabbering stay for 6 days in a house of glass. In this house they play requests from people 24 hours a day. The money people donate is for a charity.
If you want to support the Serious Request also, please visit: http://seriousrequest.3fm.nl/ (19 - 24 December 2008)
Referring Site in Italian
Today I came to a referring site in Italian. I hope somebody can translate the text in English for me
Thanks to Emanuele Mattei for linking to SharePointDevelopment.nl!
"un sito Sharepoint al giorno
Dal seguente sito http://blog.sharepointdevelopment.nl/ potete consultare un valido sito riguardante lo sviluppo e l'utilizzo di Microsoft Sharepoint.
Il sito è scritto in lingua inglese."
http://emanuelemattei.blogspot.com/2008/12/un-sito-sharepoint-al-giorno_17.html
Blog default is: http://blog.shareoffice.it/emanuele/
Create a custom Site Actions Menu Item Feature
You can create a Custom Action Menu using the next feature code:
Elements.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Feature
Id="Your GUID"
Title="Custom Action Menu"
Description="Shows a custom action menu"
Scope="Site"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Elements.xml" />
</ElementManifests>
</Feature>
Feature.xml:
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="ApplicationPage1"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="2000"
Title="Hello World Application Page"
Description="Getting up and going with inline code" >
<UrlAction Url="http://www.google.com%22/>
</CustomAction>
</Elements>
You can read more about this item on MSDN: http://msdn.microsoft.com/en-us/library/bb418728.aspx
Create your own WebPart Properties - Editable Properties
You can create custom webpart properties by using editable properties. SharePoint will automatically create a control for your property (e.g. String - TextBox, ENUM - DropDownBox etc.).
using System.ComponentModel;
private string listName = "defaultvalue";
[Personalizable(PersonalizationScope.Shared, false)]
[WebDescription("List Name")]
[WebBrowsable(true)]
[WebDisplayName("Name from the list to Display")]
[Category("Data Settings")]
[DefaultValue("defaultvalue")]
public string ListName
{
get { return listName; }
set { listName = value; }
}
VPC - Before you Complain that your Virtual Machine is Slow
I found this nice checklist for Virtual Machine performance: http://www.hanselman.com/blog/VMPerformanceChecklistBeforeYouComplainThatYourVirtualMachineIsSlow.aspx
My tip: always use an external hard drive for your Virtual PC image. Best are drives with 7200 rpm or more. Mostly this are the big external hard drives (3,5 inch). Most people choose for the handy small external drives (laptop 2,5 inch / only USB no external power) but I will advise the heavy (big one) for the best perfomances and the highest rpm values. Use a USB2 or FireWire drive for the best performances, mostly with external power.
Exception - One or more field types are not installed properly
After debugging my code it seemed to be an error in my CAML query. An interesting field in my CAML was the "Start Time" of the Event List (e.g. used in combination with calender view). I used it as:
<OrderBy><FieldRef Name='Start Time' /></OrderBy><Where>
I remembered the trick with replacing the spaces in CAML so I changed my query in:
<OrderBy><FieldRef Name='Start_x0020_Time' /></OrderBy><Where>
Still the same error
. I decided to open the U2U Caml Query Builder (http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx) to check my query. Then there was the "aha" moment. The internal field name of the field Start Date is: "EventDate". After changing the caml code again it worked!
<OrderBy><FieldRef Name='EventDate' /></OrderBy><Where>
Lesson learned: U2U Caml Query builder is a must have and the internal name may be totaly different from the display name. If you have the same "aha" moment, feel free to leave a comment.
PDF iFilter Battle FoxIT v.s. Adobe iFilter 9
After so long a time Adobe finally released its 64bit version of PDF iFilter! iFilter makes it possible to index PDF files (in SharePoint). Adobe's iFilter is free for download. For FoxIT iFilter you have to pay license costs. However performance tests say that the 32-bit FoxIT iFilter is 4 times faster and the 64-bit is 5 times faster then the free Adobe iFilter.
Links:
Comparison 64 bit: http://blogs.msdn.com/opal/archive/2008/12/10/pdf-ifilter-battle-foxit-vs-adobe-64bit-version.aspx
Comparison 32 bit: http://blogs.msdn.com/ifilter/archive/2007/11/14/foxit-vs-adobe-pdf-ifilter-32-bit-only.aspx
Adobe PDF iFilter 9 for 64-bit platforms: http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
FoxIT 64bit PDF iFilter: http://foxit.vo.llnwd.net/o28/pub/foxit/ifilter/desktop/win/1.x/1.0/enu/FoxitPDFIFilter10_X64_enu.msi
Configuring Adobe iFilter 64bit for SharePoint 2007: http://www.adobe.com/special/acrobat/configuring_pdf_ifilter_for_ms_sharepoint_2007.pdf