ShareConf 2014 – Unsere Sprecher

Vom 1. bis zum 3. Juli findet wieder die ShareConf in “unserem Wohnzimmer” in Düsseldorf statt. Die UserGroup ist traditionell eng mit der Veranstaltung verbunden und auch in diesem Jahr finden sich wieder viele Sprecher aus unerer UserGroup auf der Agenda der Veranstaltung.

Hier ein kleiner Überblick über die Vorträge „unserer“ Sprecher:

Mittwoch, 02.07.2014

13:45 – Optimizing SQL Server for SharePoint, Aleksandar Draskovic (MCM und MCSM), deroso Solutions GmbH
14:55 – Rich Internet Applications (revised/ improved?) – mit SharePoint, Henning Eiben, busitec GmbH
16:25 – Wunsch & Wirklichkeit bei SharePoint Forms? Usability und Anpassungs-möglichkeiten, Karsten Pohnke, arvato Systems perdata GmbH

Donnerstag, 03.07.2014

10:30 – Easy Apps mit Access Services in SharePoint 2013, Andrej Doms, ConVista Consulting AG
11:25 – SEO: mit Rich Snippets zu mehr Klickerfolg bei Google & Co., Bernd Burkert, getit GmbH
11:25 – Infopath, Nintex & SAP – Reisekostenabrechnung erfolgreich bei Mondi Gronau umgesetzt, Stefan Brüning, Mondi Gronau GmbH
15:35 – Performance und Lastests mit Visual Studio, Christian Kaiser, ConVista Consulting AG

 

ShareConf Special – Wir verlängern den Frühbucher Rabatt

Vom 1. bis zum 3. Juli findet wieder die ShareConf in „unserem Wohnzimmer“ in Düsseldorf statt. Die UserGroup ist traditionell eng mit der Veranstaltung verbunden und auch in diesem Jahr finden sich wieder viele Sprecher aus unerer UserGroup auf der Agenda der Veranstaltung. Dazu hat sich die HLMC ein kleine Dankeschön einfallen lassen. Einen Promocode, der den Frühbucher Rabatt für UserGroup Mitglieder (von beiden UserGroups) bis zur Konferenz verlängert.

Und so geht´s:

Einfach eine Email an info [at] sharepoint-rhein-ruhr.de senden und wir senden den Promocode zurück.
Mit dem Promocode kann man sich dann ganz einfach auf der Webseite anmelden und kommt in der Genuß unseres UserGroup Rabatts.

Folgende Vorteile bietet der Promocode:

Konferenzticket (02. – 03. Juli 2014):

  • Frühbucherrabatt: 650,00 € zzgl. gesetzlicher MwSt.
  • Normalbucher: 750,00 € zzgl. gesetzlicher MwSt.

Tagesticket (02. oder 03. Juli 2014):

  • Frühbucherrabatt: 400,00 € zzgl. gesetzlicher MwSt.
  • Normalbucher: 500,00 € zzgl. gesetzlicher MwSt.

Kombiticket: Konferenzticket (02. und 03. Juli 2014) + Halbtagesworkshop (01. Juli 2014)

  • Frühbucher: 899,00 € zzgl. gesetzlicher MwSt.
  • Normalbucher: 999,00 € zzgl. gesetzlicher MwSt.

Kombiticket: Konferenzticket (02. und 03. Juli 2014) + Ganztagesworkshop (01. Juli 2014)

  • Frühbucher: 1199,00 € zzgl. gesetzlicher MwSt.
  • Normalbucher: 1299,00 € zzgl. gesetzlicher MwSt.

Vielen Dank an David und Gerhard von HLMC für dieses tolle Geschenk!!!

24. Treffen der SharePoint UserGroup Düsseldorf – „ShareConf Special“

ShareConf2014_2500px_1323px

Hallo Liebe Mitglieder und Interessierte,

ich möchte Sie heute herzlich zum 24. Treffen der SharePoint UserGroup Düsseldorf einladen.

Nach der Osterpause geht es gleich flott weiter. Die UserGroup ist weiterhin auf Tournee. Der dritte Halt führt uns auf die ShareConf in Düsseldorf. Uns erwartet ein Blick hinter die Kulissen einer der größten deutschen SharePoint Veranstaltungen und ein gesponsertes SharePint an der Loungebar.

Wir treffen uns um 20:00 Uhr im Van der Valk Airporthotel Düsseldorf an der „Workaholic“ Bar mitten auf der Veranstaltungsfläche.

Vielen Dank an David Böttger (HLMC) und Gerhard Verstegen (HLMC) für die Organisation der Location und die Möglichkeit, einmal einer Konferenz bei der Entstehung zusehen zu können. Das SharePint wird ebenfalls von der HLMC gesponsert.

Über Ihre Teilnahme würde ich mich sehr freuen.

Hier noch einmal die Daten:

SharePoint UserGroup Düsseldorf

Termin: Dienstag, 1. Juli 2014

20:00 Uhr

Ort: Van der Valk Airporthotel Düsseldorf, Am Hülserhof 57, 40472 Düsseldorf

Informationen zur Anfahrt:
Wenn Sie mit dem Auto anreisen können Sie kostenlosen auf dem Parkdeck hinter dem Hotel parken. Die Anreise mit öffentlichen Verkehrsmitteln kann über die Buslinie 775 erfolgen, die Haltestelle „Am Hülserhof befindet sich fußläufig zum Hotel.

Anmeldung: Um Anmeldung zu dieser Veranstaltung bis zum 27.06.2014 wird gebeten! Anmeldung in der Xing Gruppe oder unter:

e-mail: info@sharepoint-rhein-ruhr.de

Bitte melden Sie sich nur an, wenn Sie an dem Termin auch wirklich teilnehmen möchten.

Siehe auch:

http://www.sharepoint-rhein-ruhr.de

SharePointCommunity: http://sharepointcommunity.de/groups/duesseldorf/default.aspx
oder auf unserer Xing Seite: https://www.xing.com/net/spugddf/

Ansprechpartner:
Andrej Doms (ConVista Consulting)
Tel. 0178 888 6018

Ich freue mich, Sie alle am 1. Juli begrüßen zu dürfen.

Mit freundlichen Grüßen

Andrej Doms

SharePoint 2013 – Aufgabenliste verschickt keine E-Mails mehr?!

Seit SharePoint 2013 fehlt in den Einstellungen einer SharePoint Aufgabenliste die Option „Send e-mail when ownership is assigned? (Yes/No).“. Ich vermute einen Bug in der Oberfläche, der eventuell irgendwann wieder rausgepatchet wird. Nichts desto trotz schreibe ich einen kurze Artikel, wie man dieses Phänomen beheben kann.

Es gibt verschiedene Lösungsansätze, die ich hier kurz darstelle. Eins vorweg: Die Option 3 wäre immer meine erste Wahl!

1. Issue-List beinhaltet die Option noch
Also anstelle der Aufgabenliste das o.g. Template nutzen (vgl. Technet ).

2. Das „alte“ Template verwenden:
Über einen URL-Aufruf kann das „alte“ 2010er Template aufgerufen werden. (vgl. TechNet)
http://siteurl/_layouts/15/new.aspx?FeatureID={00BFEA71-A83E-497E-9BA0-7A5C597D0107}&ListTemplate=107

3. Powershell
Aus meiner Sicht die sauberste und beste der drei Alternativen. Benötigt natürlich Zugriff auf den Server, bzw. Zugriff auf einen Administrator. 😉

$web = Get-SPWeb "http://MeineWebseite"
$list = $web.Lists.TryGetList("Tasks")
$list.EnableAssignToEmail = $true
$list.Update()

Wie organisiere ich meine Dokumente in SharePoint? Ordner? Metadaten? – BEIDES!

Hallo zusammen,

lange habe ich projektbedingt nichts mehr geschrieben – das will ich hiermit nachholen. 🙂

Ich widme mich heute einem Thema, das ich von der SharePoint Konferenz in Las Vegas mitgebracht habe und mir jetzt lange genug unter den Nägeln gebrannt hat. Inspiriert hat mich Scott Jamison mit dem Vortrag:

„Making SharePoint Collaboration Rock by Increasing Discoverability“

Achtung ab hier folgt viel Text! Wer das nicht lesen will, sondern sofort zur coolen Lösung springen möchte, sollte weiter nach unten zur Überschrift „Lösung“ scrollen! 🙂

Scott hat hier ein paar grundsätzliche Regeln vorgestellt, die bei dem Aufbau einer Collaboration-Plattform beachtet werden sollten. Es sind vor allem diese Grundsätze:

  • Verfolge einen klaren Leitfaden und eine klare Struktur
    • Verwende lieber weniger Metadaten als mehr!
    • Verwende wenige Schachtelungstiefen
  • Gebe den Anwendern einen einfachen und nachvollziehbaren Einstieg
    • Einfache Navigation
    • Schnelle Einstiegspunkte (nicht erst fünfmal Klicken)
  • Keep it simple, stupid! (KISS)
    • Verwende weniger Metadaten!!! (ja ich wiederhole mich!) 🙂
  • Verwende verschiedene Ansichten für bereitstellende und konsumierende Benutzer

Warum reite ich so auf dem Thema Metadaten rum?

Der Grund ist relativ einfach: Es wurde lange Zeit postuliert (ja auch von mir selbst), dass mit der Einführung von SharePoint bloß niemand mehr auf die Idee kommen soll Ordner zu verwenden. Ordner sind abgrundtief böse, von Natur aus schlecht und man verwendet diese einfach nicht mehr! Coole Jungs (und Mädchen) bauen eine möglichst komplexe Metadatenstruktur mit möglichst vielen (ineinander geschachtelten) Inhaltstypen und möglichst vielen Spalten pro Inhaltstyp. Jetzt steht man allerdings vor einem Problem: Die Anwender füllen die Felder nicht aus! Macht nichts, dafür gibt es ja Pflichtfelder und davon möglichst viele! 😉

Nun mal wieder etwas ernsthafter und vergleichen Metadaten und Ordner mal miteinander… 🙂

Metadaten:

Metadaten sind schon lange und Dokumentenmanagement- und Archivierungssystemen bekannt. Sie bieten eine einigermaßen einfache (wenn man es nicht übertreibt) Möglichkeit, Dokumente zu strukturieren und wiederzufinden. Metadaten sind außerdem für die SharePoint Suche immens wichtig.

Vorteile:

  • Man findet Dokumente einfacher
    • Durch intelligente Filteroptionen
    • Durch die SharePoint integrierte Suche (crawled und managed Properties, Relevanzen etc.)
  • Man legt die Daten wirklich strukturiert ab
  • Man überlegt sich eine Struktur und lässt es nicht wild wachsen

Nachteile:

  • Komplett anderes Vorgehen für die meisten Benutzer -> Umstellung in der täglichen Arbeitsweise
  • Gefahr das Dokumente „überstrukturiert“ werden d.h. das zu viele Spalten ausgefüllt werden müssen und der Anwender sich dadurch gegängelt fühlt
  • Gefahr das es viel zu komplex wird
  • Vorgehen ist wenig intuitiv für die Benutzer
  • OneDrive / Explorer stellen die Metadaten nicht dar
  • Keine native Verschlagwortung mehrerer Dokumente auf einmal (Jedes Dokument muss ohne Drittanbieter-Tools separat angefasst werden)

Ordner:

Auf der Gegenseite steht die Verwendung von Ordnerstrukturen. Dies kennen und verwenden die Anwender bereits seit Jahrzehnten. Hier fühlen sie sich einfach heimisch.

Vorteile:

  • Dokumente können schnell bereitgestellt werden (kein langes Ausfüllen der Metainformationen)
  • Verwendung durch die Benutzer bekannt => Lösung wird schneller adaptiert und ist intuitiv
  • Datei-Explorer Integration!!!
  • Auch in OndDrive synchronisierten Bibliotheken sichtbar
  • Zusätzliche Rechtevergabeoption

Nachteile:

  • Das Suchen wird schwierig
  • Häufig entsteht Wildwuchs
  • Die SharePoint Suche wird nicht voll ausgenutzt

Lösung:

Gibt es jetzt eine Möglichkeit beide Welten irgendwie zu vereinen? Antwort: JA – durch die „Column Default value settings“! Diese Option ist in den Einstellungen der Dokumentbibliotheken verfügbar. Sie führt dazu, dass Metadaten einem Dokument automatisch hinzugefügt werden, sobald diese in einem bestimmten Ordner hinterlegt werden.

Einfaches Beispielszenario:

Ich habe das Szenario für den Beitrag bewusst einfach gehalten, damit es nachvollziehbar bleibt.

  • Verwaltung von Kundendokumenten
  • Zwei verschiedene Metainformationen
    • Kundenname
    • Dokumentart: Vertrag, Angebot, Kostenvoranschlag
  • Verwendung von Ordnern und Metadaten

Vorgehen:

1. Erstellen einer Dokumentbibliothek „Kunden“ und Anlegen der beiden obigen Spalten als „Auswahl“-Feld

Spaltenübersicht:

.

Spalte „Kunde“ Spalte „Kategorie“050614_1635_Wieorganisi3.png

2. Anlegen der Ordnerstruktur

– Ebene 1: Kundenname
– Ebene 2: Dokumentenkategorie (Angebot, Vertrag, Kostenvoranschlag)

1. Ebene: 2. Ebene:

3. Setzen der Column default value settings:

Auf der linken Seite wird die Ordnerstruktur als „Tree-View“ dargestellt. Hier klickt (1) man jetzt auf den gewünschten Ordner (z.B. BMW). Danach klickt (2) man auf die gewünschte Metainformation / Spalte (in diesem Fall „Kunde“)

Einstellung

Es öffnet sich ein neues Fenster, in dem der gewünschte Standardwert des Ordners eingetragen werden kann.

Ein grünes Rädchen am Ordner verrät, dass hier Werte gepflegt wurden.

Wichtig: Die Werte werden an die untergeordneten Objekte standardmäßig vererbt. Man muss diese als nicht doppelt pflegen!

4. Testen:

Sobald alle Werte den Ordnern zugewiesen wurden, kann auch schon getestet werden. Ich öffne für diesen Fall den Ordner „BMW“ -> „Vertrag“ und ziehe per Drag and Drop ein Dokument in den Ordner und die Metadaten werden direkt übernommen:

Das Ganze funktioniert auch über den „File-Explorer“ und mit mehreren Dokumenten auf einmal:

Upload1

Im Browser werden die Dateien auch direkt mit den Metainformationen versehen:

Die automatische Verschlagwortung funktioniert auch über die Explorer-View aus dem Dateisystem oder im OneDrive. Dies macht es noch einfacher viele Dokumente schnell bereit zu stellen.

5. Verbesserung der Suche für die Anwender:

Über dieses System können Dokumente sehr schnell verschlagwortet werden ohne das sich der Anwender großartig darüber den Kopf zerbrechen muss. Wenn nun aber jemand Dokumente suchen will, hat man erstmal wieder die Ordnerstruktur, durch die man durchklicken muss. Um dies zu verbessern, sollte jetzt eine eigene Ansicht gebaut werden, die die Ordnerstrukturen ignoriert.

Neue View erstellen und die gewünschten Felder auswählen:

Danach kann man in der Rubrik „Ordner“ auswählen, ob die Ordnerstruktur für die View beibehalten oder eine flache Liste der Dokumente angezeigt werden soll:

Danach kann man in der Ansicht wie gewohnt filtern:

Filter

Zusätzlich kann jetzt natürlich noch die SharePoint Suche über die „crawled“ und „managed“ Properties angepasst werden. Das würde aber hier ein wenig zu weit führen. 😉

Fazit:

Eine Interessante Option um die Welten „Ordner“ und „Metadaten“ miteinander zu kombinieren. Man muss aber aufpassen, dass die Regeln nicht zu komplex und die Verschachtelung zu tief wird. Ansonsten ist das Ganze später nicht mehr wirklich wartbar.

Schnell mal ActiveDirectory

Gerade in Verbindung mit SharePoint braucht man ja auch häufig ein Active Directory. Also gehört es zur Pflicht-Übung für ein Demo-System auch schnell mal ein AD aufzusetzen.

Das ist im Kern nicht so wirklich schwer – besonders wenn es ja nur zu Demo-Zwecken ist. Aber irgendwie lästig ist es ja doch.

Zuerst muss man das entsprechende Feature in Windows hinzufügen:

Import-Module servermanager
Add-WindowsFeature adds-domain-controller

Anschließend muss dann noch die Domäne angelegt werden. Also hier mal eben die Anlage eines neue AD per Kommandozeile. Einfach auf einem Windows 2008 Server (oder neuer) ausführen:

# Windows Server 2008
 $unattend = "c:\unattend.txt"
if(!(test-path $unattend)) { new-item $unattend -type file }
$content = @(
    "[DCInstall]"
    "ReplicaOrNewDomain=Domain"
    "NewDomain=Forest"
    "NewDomainDNSName=acme.local"
    "ForestLevel=4"
    "DomainNetbiosName=ACME"
    "DomainLevel=4"
    "InstallDNS=Yes"
    "ConfirmGc=Yes"
    "CreateDNSDelegation=No"
    'DatabasePath="C:\Windows\NTDS"'
    'LogPath="C:\Windows\NTDS"'
    'SYSVOLPath="C:\Windows\SYSVOL"'
    'SafeModeAdminPassword="P@ssw0rd1"'
    "RebootOnCompletion=Yes"
    )
$content | out-file $unattend
$dcpromo = "dcpromo /unattend:$unattend"
invoke-expression -command $dcpromo

ggf. müssen die Angaben zur Domäne noch angepasst werden.

Unter Windows Server 2012 geht das etwas kürzer, hier gibt es ein entsprechendes PowerShell cmdlet.

Install-ADDSDomainController -CreateDnsDelegation:$false -DatabasePath 'C:\Windows\NTDS' -DomainName 'acme.local' -InstallDns:$true -LogPath 'C:\Windows\NTDS' -NoGlobalCatalog:$false -SiteName 'Default-First-Site-Name' -SysvolPath 'C:\Windows\SYSVOL' -NoRebootOnCompletion:$true -Force:$true

Autovervollständigung beim PeoplePicker

Wenn man in einer SharePoint-Liste ein Feld vom Typ “Personenauswahl” hinzufügt, dann bekommt man automatisch in den Formularen einen sogenannten PeoplePicker. Das ist ein Feld, in dem man einen Namen, ein Benutzerkonto oder eine eMail-Adresse eingeben kann. Wird der Benutzer erkannt, wird der Name unterstrichen dargestellt, ansonsten wird er mit einer roten Schlangenlinie versehen.

people_picker_01

Über das Adressbuch kann ich einen Suchdialog öffnen um nach Personen zu suchen, wenn ich z.B. nur einen Teil des Namens kenne.

people_picker_02

Das ist aber irgendwie lästig auf diese Art und Weise zu suchen, weil man immer diesen Dialog öffnen muss, dann auf Suchen klicken muss und den gefundenen Treffer auch noch übernehmen muss. Besser wäre es also, wenn man in dem eigentlichen Feld direkt einen Teil des Namens eingeben könnte und man würde eine kleine Liste mit Vorschlägen bekommen.

people_picker_03

Praktischerweise gibt es da auch schon was … mit JavaScript! Alexander Bautz hat vor ein paar Jahren auf seinem Blog beschrieben, wie man so einen People-Picker um Autovervollständigung ergänzen kann.

Ich will die notwendigen Schritte hier nicht wiederholen, stattdessen sei auf den Blogpost verwiesen. Die Einbindung ist eigentlich ganz einfach, erfordert lediglich einen Kniff – die GUID der Benutzerliste.

Um an die GUID zu kommen ruft man einfach die Benutzerliste auf. Jede Websitesammlung hat eine solche Liste, die man über /path-to-my-sitecollection/_catalogs/users erreichen kann. Anschließend die Quellcode-Ansicht für die Seite öffnen und nach ctx.ListName suchen. Voila, schon hat man die GUID.

Kleiner Hinweis noch: die Autovervollständigung kann nur Benutzer vorschlagen, die sich auch schon mal auf der Site angemeldet hatten, denn nur diese Benutzer sind in der Benutzerliste vorhanden.

SPRRPC007 – SPC 2014 im Rückblick: Interview mit Stephan Fasshauer

Es hat ein paar Tage länger gedauert, aber hier kommt das versprochene Interview mit Stephan Fasshauer, Product Marketing Manager für SharePoint, Project und Visio. Beim Durchhören heute morgen habe ich allerdings festgestellt, dass unser Gespräch ein hervorragender Rückblick auf die SPC und eine prima Zusammenfassung der SPC2014 ist.

Themen:

  • Was macht ein Product Marketing Manager
  • OSLO
  • Office Graph
  • Alles Cloud oder was?
  • Wie geht´s jetzt weiter?

Continue reading

Wie groß ist mein SharePoint?

Jetzt hatte ich doch gerade die Frage: wie groß ist eigentlich meine ContentDatenbank meiner aktuellen Site-Collection? Und weil ich Herausforderungen mag: SharePoint 2007 bzw. Windows Services 3.0.

Natürlich gibt es nur einen Weg um dies herauszufinden:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = New-Object Microsoft.SharePoint.SPSite("http://portal.acme.local")
$diskMethod = [Microsoft.Sharepoint.Administration.SPContentDatabase].getMethod("get_DiskSizeRequired")
$diskMethod.Invoke($site.ContentDatabase, "instance,public", $null, $null, $null)

Das Ergebnis zeigt die Größe der Datenbank in Bytes an.

Geht doch!

Doppelte Treffer bei der Personensuche

Die Tage hatte ich die Anfrage eines Kunden:

auf unserer Startseite werden alle Ansprechpartner doppelt angezeigt.

Hintergrund ist, dass für die Anzeige der Ansprechpartner ein Such-WebPart verwendet wird, welches eine Personensuche nach einer bestimmten Abteilung anzeigt.

Wie auch immer – auch bei der “normalen” Suche nach einem Mitarbeiter wird dieser doppelt in der Suche nagezeigt. Komisch.

Die Lösung ist dann recht einfach – aber dennoch interessant. In den Inhaltsquellen waren zwei Einträge mit dem Protokoll SPS3:// vorhanden. Daraufhin wurden alle Personen doppelt in den Index gecrawlt.

search_sps3

Was ich dabei interessant finde ist die Tatsache, dass SharePoint bei der Anzeige der Ergebnisse Duplikate nicht aussortiert – ich hätte auch erwartet, dass er Duplikate vielleicht gar nicht in den Index aufnimmt.

Wie auch immer – den doppelten Eintrag entfernt und einen Full-Crawl später war dann alles wieder wie gehabt.