01 Oktober 2009

ISA & SharePoint: Logindialog in Office verhindern

Wird eine SharePoint Site über einen ISA im Internet / Extranet zugänglich gemacht und die Benutzer sich über das ISA Form einloggen, fragen die Office Applikationen (Word, Excel, etc.) beim Öffnen eines Dokuments nochmals nach Username und Passwort. Wenn die Authentisierung auf dem ISA mit einem One-Time-Password (OTP) erfolgt, kann die Office Integration gar nicht verwendet werden.

Der ISA bietet nun aber die Möglichkeit, die Logininformationen in einem persistenten Cookie zu speichern, welches auch die Office Anwendung “verwenden” kann. Hier zu muss in der Firewall Policy folgende Änderung vorgenommen werden:

  1. Entsprechende ISA Publishing Rule wählen.
  2. Eigenschaften des Listener anzeigen.
  3. Im Tab “Forms” auf “Advanced” klicken.
  4. Im Dropdown “Use Persistent Cookie” den Wert “Only on private computers” oder “On all computers” auswählen.
  5. Speichern und Konfiguration anwenden.

image

Nach einem Login über das ISA Form kann die Office Integration ohne weitere Abfrage nach Username und Passwort erfolgen.

Vorsicht: das Cookie wird im Browser Cookie Speicher abgelegt. Auch wenn der Browser neu gestartet wird, bleibt man eingeloggt. Nur ein explizites “Sign Out” wird das Cookie gelöscht. Kritisch, wenn der SharePoint von öffentlichen Computern benutzt wird.

Zugriff auf SharePoint mit Windows 7

Windows 7 ist toll. Im Feierabendbier habe ich aber immer wieder klagen gehört, dass der Zugriff aus Office 2007 (Word, Excel) auf SharePoint Document Libraries langsamer sei als unter Vista. Auch Zugriffe über die Explorer View seien langsam.

Die (trivial) Lösung habe ich hier gefunden: Im Internet Explorer muss die automatische Erkennung des Proxy Servers ausgeschaltet werden. Unter Tools –> Internet Options –> Connections –> LAN Settings muss die Option Automatically Detect Settings deaktiviert werden. In einem Netzwerk mit Proxy Server muss diese Option natürlich nicht deaktiviert werden – hier sollte das Performanceproblem aber auch nicht auftreten.

Damit kann aus Word auch unter Windows 7 schnell auf SharePoint Document Libraries zugegriffen werden.

07 September 2009

Workflowtasks mit automatischen Erinnerungen

Beispiel Workflow
SharePoint Workflows bieten relativ einfach die Möglichkeit, an verschiedenen Personen Tasks zuzuweisen, welche diese dann abarbeiten. In der Theorie mag sich das zwar gut anhören, in der Praxis werden diese Tasks einfach ignoriert und der Workflow kommt zum Stillstand ("Nööö, ich hab' nie einen Task zugewiesen gekriegt? Ach das E-Mail? Das hab' ich gelöscht…).
Eine Lösung dazu ist simpel: In periodischen Abständen wird dem Benutzer automatisch ein Reminder gesendet. Hört sich auch noch einfach an, gell? Links der Workflow ohne Erinnerungen:


Ein einfacher Approval Workflow also. Wir nehmen mal einfach so an, dass der Genehmigungstask ein Custom Form besitzt, wo der Benutzer zwei Buttons «Genehmigen» und «Ablehnen» hat. Im onApprovalTaskChanged.Invoked Event wird abgefragt, welcher Button geklickt wurde und doSomething führt die entsprechende Aktion aus.


Workflow mit automatischen ErinnerungenFalls wir einen Timeout einbauen möchten, müssen wir auf ein zweites Event warten die Delay Activity um anschliessend den Reminder zu senden. Glücklicherweise gibt's in der Windows Workflow Foundation die Listen Activity, welche es ermöglicht, auf mehrere Events gleichzeitig zu warten. Diese Activity blockiert den Workflow bis einer der angegebenen Events eintritt.
Dort packen wir in einen Ast die OnTaskChanged Activity und in den Anderen eine Delay Activity und eine SendEmail Activity. Da der Reminder nicht nur einmal gesendet werden soll, gibt's noch eine while Schlaufe drumherum.


Vergesst nicht, die Correlation Tokens richtig zusetzten: Es gibt zwei Tokens, eines für die onWorkflowActivated und sendReminder Activities und ein Anderes für die createApprovalTask und onApprovalTaskChanged Activities.

Gut zu wissen: Die Delay Activity wird vom SharePoint Timer Service abgearbeitet. Um sicherzugehen, dass das korrekte Assembly geladen wurde, muss also nach einem Deployment in den GAC auch der Server SPTimerV3 neu gestartet werden. Um zu Debuggen, muss der Prozess OWSTimer.exe attached werden.

01 September 2009

IRM SharePoint integriert

Mittels Information Rights Management (IRM) wird der Zugriff auf Dokumente nicht über Berechtigungen sondern über Verschlüsselung sichergestellt. Nur wer den entsprechenden Schlüssel hat, kann das Dokument öffnen. Microsoft hat mit dem Right Management Server (RMS) eine IRM Lösung, welche sich perfekt in Office integriert.

image

Jeder Benutzer kann sehr einfach den Zugriff auf sein Dokument nur für bestimmte Gruppen freigeben. Dabei kann über die sogenannte Policy eingeschränkt werden, wer die Datei nur lesen und wer sie auch verändern darf. Weiter kann auch definiert werden, ob der Inhalt ausgedruckt, in die Zwischenablage kopiert oder unter einem anderen Dateinamen abgespeichert wird. Die Datei wird verschlüsselt abgelegt.

Etwas anders verhält sich die SharePoint Integration des RMS Servers. Dabei legt der SharePoint die Datei in Klartext in der Datenbank ab und liefert sie nur verschlüsselt aus. Die Policy wird dabei aus den SharePoint Berechtigungen generiert. Damit kann z.B. sichergestellt werden, dass Benutzer, welche nur Leserechte haben, die Datei weder verändern noch ausdrucken oder abspeichern können.

image

Alles in allem eine sehr gelungene Lösung. Leider kann man die IRM Settings nur auf einzelne Document Libraries und nicht auf einen Content Type anwenden.

Hier finden sich weitere Information zum Setup von RMS und zur Verbindung zu SharePoint.

21 Juni 2009

SharePoint Search Offline / Migration of Database Server

After migration of all SharePoint Databases to a new Server SharePoint Search isn't working anymore. If you access the Search Setting Page of your SSP it gives you the following Error:

The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.

All my Search Services (WSS Search / MOSS Search) were started successfully, but I still got the error.

I tried the following with no success:

  • Deleted and rebuilt SSP
  • Disconnected / reconnected the Server from the Farm
  • Repaired SharePoint Installation
  • Checked launch Component Permissions on OSearch COM Component
  • Rebuilt whole Farm

The only thing that solved the Problem was the Upgrade to SP 2. Before I had SP1 and Infrastructure Updates installed. Don't waste your time - just upgrade!

29 April 2009

Display SharePoint Metadata in Word 2003

Yes, there are still customers who use Office 2003 in combination with SharePoint 2007...

So i had to find a generic solution do display SharePoint Metadata in Word 2003 templates. I found different solutions to achieve this, but none of them solved all my Problems. The most common Problem ist the update of your Fields at the right time.

Basics / Limitations:
  • SharePoint Metadata is mapped into Word 2003 over Document Properties
  • Only Fields of Type "Text" can be mapped (If you need to display Values of other Fields than Type Text, you need to add a Textfield to your Content Type and use a Eventhandler to Copy the Value of your desired Field to the Textfield and map this as Doument Property to your Word Template. A common case could be "Version" or Author of a Document, which are OOB no Textfields)
  • OOB Document Properties are updated on Print only (This is a Word Option which is set by Default)

    How to:
  • Bind your Word Template to corresponding ContentType of the DocLib
  • Add the following Code, which updates the Fields when the Document opens, as Macro (Macro on the current Document, not as Module) to your Word Template:

    Private Sub Document_New()

    ActiveDocument.Fields.Update

    End Sub

    Private Sub Document_Open()

    ActiveDocument.Fields.Update

    Dim oStory As Object
    Dim oToc As Object

    'exit if no document is open
    If Documents.Count = 0 Then Exit Sub
    Application.ScreenUpdating = False

    For Each oStory In ActiveDocument.StoryRanges
    oStory.Fields.Update 'update fields in all stories
    Next oStory

    For Each oToc In ActiveDocument.TablesOfContents
    oToc.Update 'update TOC's
    Next oToc

    Application.ScreenUpdating = True

    End Sub
    Private Sub Document_Close()

    ActiveDocument.Fields.Update

    End Sub

    Private Sub Document_Sync(ByVal SyncEventType As Office.MsoSyncEventType)

    End Sub

    This Code updates all Sections of the Document including Header and Footer, not just the Content Section.

Save your Template and create your first Document from this Template, enjoy the Interopability from SharePoint 2007 and Office 2003. ;-)

21 April 2009

isolutions WCM Tools auf Codeplex

In den SharePoint Projekte, welche isolutions realisiert, verwenden wir immer unser WCM Framework. Es handelt sich dabei um ein Toolset von verschiedenen Erweiterungen und Web Parts für SharePoint Projekte.

Ein kleiner Teil davon habe ich in den vergangenen Tagen auf CodePlex publiziert. Folgende Module sind enthalten:

  • Stop Variation Propagation: Verhindert das Überschreiben Sprachvariations wenn die Hauptsprache publiziert wird. Out-of-the-Box werden beim Publizieren einer Page in der Hauptsprache die anderen Sprachvariationen der Page überschrieben.
  • Approval Workflow Configuration Console: Verändern der Approval Workflow Konfiguration auf mehreren Sites mit wenigen Klicks.
  • Approval Workflow Copy Event Receiver: Kopiert beim Erstellen einer neuen Subsite die Einstellungen des Approval Workflows der Parent Site.
  • Uncustomized Files Console: Zeigt mit SharePoint Designer veränderte Dateien an.

Das Projekt ist über folgendes URL http://iswcm.codeplex.com erreichbar.

16 April 2009

SharePoint SP2 am 28. April

Während gestern die Neuigkeit betr. der Bezeichnung der nächsten Version von SharePoint (“SharePoint 2010”) die Runde machte, steht heute die Ankündigung von SP2 für MOSS an.

Aus den verschiedenen Fixes und Performance Verbesserungen gilt folgendes hervorzuheben:

  • STSADM Befehl, welcher die Farm auf die Upgradefähigkeit auf SharePoint 2010 untersucht.
  • Verbesserung der Form-based Authentication.
  • Volle Unterstützung für Internet Explorer 8 sowie FireFox 2.0 und 3.0 als level two Browser: gemäss der Browser Support Liste sind diese heute noch nicht unterstützt.
  • STSADM Befehl, welcher Fehler der WCM Variations sucht (und behebt?).

10 Februar 2009

Back to the Roots: Entwickeln auf der Basis von SharePoint Online

Ich habe mir heute den Microsoft SharePoint Online Standard Developer Guide angeschaut. Dabei werden die Erweiterungsmöglichkeiten von SharePoint Lösungen in der Cloud (dem sogenannten SharePoint Online) beschrieben. Das Dokument umfasst 136 Seiten; das Essentielle findet sich gleich zu Beginn.

Erlaubt ist die Verwendung von SharePoint für no-code Workflows, Content Types, Branding mittels Master Page und Page Layouts. Das Templating der Sites erfolgt mittels STP Dateien. InfoPath Formulare ohne Custom Code können eingespielt werden. Für etwas ausgefallenere Wünsche zum Anzeigen von Content steht das Data Form Web Part sowie die Web Services zur Verfügung.

Verboten ist jeglicher Code. Ob als Inline Code, innerhalb eines Workflows oder eines InfoPath Forms. Auch die Verwendung von Features, Solutions, Web Parts sowie Site Definitions ist untersagt. Viel bleibt da nicht mehr. Schade.

Im Developer Guide findet sich auch eine detaillierte Funktionsübersicht, welche ich euch hier nicht vorenthalten möchte.

 

Portal

Collaboration

Content Management

Search

Business Process Forms

Business Intelligence class="style4">

Online & Server

RSS content syndication

Privacy and security

Audience targeting (by group only)

Site and document aggregation

Site Manager

Mobile device support

Portal site templates

SharePoint Sites and Documents Roll-up Web Parts

Client integration

Integration with Microsoft Office SharePoint Designer (except site backup and restore)

All standard templates

Wikis

Blogs

People and group lists

Calendars

E-mail integration

Task coordination

Surveys

Document collaboration

Issue tracking

Business document workflow support

Document information panel

Document action bar

Retention and auditing policies

Navigation controls

Content authoring

Page layouts

Site variations

Security 

Forms libraries

Out-of-the-box workflows

Custom no-code workflows 

Server only

My Site personal site

Site Directory

User profiles and the profile store

Colleagues and Memberships Web Parts

Social Networking Web Part

Mail-enabled lists

Real-time presence and communication

Content publishing and deployment

Content management site templates

Policies, auditing, and compliance

Records repository

E-mail content as records

Legal holds

Integration with Microsoft information rights management (IRM)

WYSIWIG Web content editor

Content staging

Slide libraries

Document management site templates

High-fidelity Web sites with consistent branding

People search

Business data search

Enterprise content sources

Cross site-collection search

Administration and management

Indexing controls

Custom code workflows

Browser-based forms

Centralized forms management and control

Design once development model

Form Import Wizard

Integrated deployment model for no-code forms

Compatibility Checker

Integrated business intelligence dashboards

Key performance indicators

Filter Web Parts

Integrated flexible spreadsheet publishing

Sharing, management, and control of spreadsheets

Web-based business intelligence using Microsoft Office Excel® services

Data connection libraries

Business Data Catalog

Business data Web Parts

Business data actions

Report Center

SharePoint Online steht zurzeit als Teil der Business Productivity Online Standard Suite zur Verfügung. Sie kann für 30 Tage gratis getestet werden – man braucht dazu aber einen Live ID Account, welcher auf einen US Bürger registriert ist.

FAST Search for SharePoint angekündigt

An der FASTforward’09 hat Microsoft heute zwei neue Search Produkte angekündigt:

  • Bei FAST Search for SharePoint handelt es sich um ein High-End Search Server, welcher die Enterprise Search Funktionen von FAST ESP in SharePoint verfügbar machen wird. FAST Search for SharePoint wird Teil von SharePoint 14 sein!
  • Mit FAST Search for Internet Business können grosse Internet Sites um “search-driven experiences” erweitert werden. Eine erste Beta hiervon soll in der zweiten Jahreshälfte erscheinen.

In der Zwischenzeit steht, wie Michael Gannotti schreibt, den Firmen mit SharePoint Enterprise CALs und Software Assurance eine um 80% verbiligte Lizenz von FAST ESP zur Verfügung (keine CAL, $25k pro Server). Zusammen mit den ESP Web Parts kann man mit relativ wenig Geld eine High End Enterprise Search Lösung auf SharePoint und FAST ESP aufbauen.