30 August 2010

SharePoint 2010: PDF im Browser öffnen

SharePoint 2010 verfügt über eine neue Einstellung, ob PDFs (und andere Dokumente) im Acrobat Reader angezeigt oder ob sie lokal gespeichert werden. Die Einstellung findet sich in der Central Administration, unter den “General Settings” einer Web Application.

image

Und zwar geht es um die Einstellung “Browser File Handling”. Strict bedeutet, dass die Dokumente nicht angezeigt sondern heruntergeladen werden. Mit Permissive kann das aus SharePoint 2007 bekannte Verhalten erreicht werden, dass die Dokumente gleich in der dazugehörenden Anwendung angezeigt werden.

image

Konkret geht es um den HTTP Header “Content-Disposition: attachment; filename=[filename].pdf”, welcher bei der Einstellung “Strict” angefügt wird und dazu führt, dass der Browser den Speichern-Dialog zeigt.

25 August 2010

Fehler 0x80131904 in SharePoint 2010

Beim Entwickeln einer SharePoint Solution unter Windows 7 habe ich bei allen möglichen Aktionen folgende Fehlermeldung erhalten.

<nativehr>0x80131904</nativehr><nativestack></nativestack>

Während ich zuerst den Fehler bei falschen Site Definitions oder Features suchte, brachten mich die Event Log Einträge auf die richtige Spur. Auf meiner Development Maschine läuft nur ein SQL Express Server und die Content Datenbank hat das Limit von 4 GB erreicht.

Durch Ändern der SQL Edition (z.B. SQL Server Developer Edition) oder durch eine Aufteilung der Site Collections auf mehrere Content Datenbanken kann man das Problem umgehen.

03 August 2010

Customize rich text editor in SharePoint 2010

If you want to customize the OOTB Rich Text Editor in SharePoint 2010, without changing the core4.css, and without the SharePoint default Styles, you can do it as following.

This is an example to customize the following Dropdowns:

  • Styles
  • Markup Styles
  • Font Size
  • Font Face
  • Highlight Color
  • Font Color

1
Set the PrefixStyleSheet-Property of the RichHtmlField. The classname has to be lowercase!

<PublishingWebControls:RichHtmlField id="Content" FieldName="PublishingPageContent" runat="server" PrefixStyleSheet="my-style-must-be-lowercase"/>

2
Create a new Stylesheet, for example with the name “MyRichHtmlStyles.css” and define all the Styles you need for the Dropdowns. For example like the following pattern. The -ms-name Propertie define the visible name in the Dropdown.

For the Markup-Dropdown

H1.my-style-must-be-lowercaseElement-H1
{
-ms-name:"My Heading";
font-size:4em;
font-weight:normal;
font-family: Impact;
}

For the Style-Dropdown

.my-style-must-be-lowercaseStyle-Normal-1
{
-ms-name:"My Normal";
font-family: Impact, Arial, sans-serif;
font-size: 8pt;
color: #676767;
background-color: #fff;
}

For the Font-Size-Dropdown

.my-style-must-be-lowercaseFontSize-1
{
font-size: 36pt;
}

For the Font-Face-Dropdown

.my-style-must-be-lowercaseFontFace-1
{
-ms-name:"My Impact";
font-family: Impact;
}

For the Font-Color-Dropdown

.my-style-must-be-lowercaseForeColor-1
{
-ms-name: "";
-ms-color:"Dark Red";
color: darkred;
}

.my-style-must-be-lowercaseThemeForeColor-1-0
{
/* [ReplaceColor(themeColor: "Light1-Lightest")] */ color: #F2F2F2;
-ms-name:"Light 1 Lightest";
/* [ColorName] */ -ms-color:"White";
}

For the Highlight-Color-Dropdown

.my-style-must-be-lowercaseBackColor-1
{
background-color: darkred;
-ms-name: "";
-ms-color:"Dark Red";
}

.my-style-must-be-lowercaseThemeBackColor-1-0
{
/* [ReplaceColor(themeColor: "Light1")] */ background-color: #FFFFFF;
-ms-name:"Light 1";
/* [ColorName] */ -ms-color:"White";
}

3
Include your new Stylesheet in the Masterpage or in the Pagelayout, for example as follow.

<SharePointWebControls:CssRegistration ID="CssRegistration3" name="<% $SPUrl:~sitecollection/Style Library/~language/MyRichHtmlStyles.css %>" runat="server"/>

After you delete the browser cache, you should see the new entries in the Dropdowns.

With this solution you can add each rich text editor his own styles – if necessary.