Refiner in Sharepoint Online Search

In einer on-premise Sharepointumgebung ist es einfach im Suchschema eine verwaltete Eigenschaft für die Sucheinschränkung zu erstellen bzw. zu aktivieren. In der Sharepoint-Online-Search stellt man aber fest, dass die Eigenschaft zur Aktivierung nicht zur Verfügung steht. Um dieses Problem zu umgehen bzw. dennoch zu lösen, sind von Microsoft fertige Refiner erstellt worden, die man für diese Vorhaben nutzen kann. Schritt 1 Fertigen Refiner suchen und crawled Property zuordnen (Crawl abwarten) Schritt 2 Wie gewohnt den Refiner in der Search auswählen

Sharepoint 2016 Listenelement drucken

Da im Sharepoint das Drucken eines Listenelements auf direktem Wege nicht möglich ist, behelfen sich [Mehr]

Sharepoint Geolocation Field (On Premise) “..erforderliche Komponente”

Wer in Sharepoint2013/2016 (On Premise) das Geolocation-Field für Standortangaben in einer Spalte verwenden will, wird bei dem Versuch das Item zu speichern evtl. mit der Meldung (Eine erforderliche Komponente… ist nicht installiert.) überrascht! Zur Verwendung müssen auf jedem Sharepoint-FrontendServer die SQLSysClrTypes installiert sein! Zu finden sind diese im SQL-FeaturePack der jeweiligen SQL-Version (Vorsicht: 32bit oder 64bit beachten!)

Office365 Teamsite löschen (Modern UI)

Man kennt es aus z.B. Testumgebungen. Jeder erstellt sich irgendwelche Sites und nach den Tests wird der Content/Sites wieder gelöscht. Wer in o365 bei Sharepoint eine Teamsite erstellt, wird nach Gebrauch aber vergeblich nach der Option “Seite löschen” suchen! Weder in den Websiteeinstellungen noch bei den Websiteinformationen wird eine Option angezeigt, die das Löschen der Site ermöglicht. Abhilfe schafft dann ein link zu der Site die gelöscht werden soll. https://Beispiel.Sharepoint.com/sites/yoursitename/_layouts/15/deleteweb.aspx

SharePoint 2013/2016/Online Responsive UI - Teil1

Folgendes Beispiel habe ich von der Seite “SharePoint Patterns und Practices (PnP) Initiative”. Die SharePoint / Office 365 Dev Patterns & Practices (PnP) Initiative wurde ursprünglich im Jahr 2013 von einer Gruppe von Microsoft-Beratern ins Leben gerufen, um SharePoint Full Trust Code-Lösungen zu nutzen und die Anpassungen in das Add-In-Modell umzuwandeln. Mittlerweile hat sich die PnP-Initiative als Open-Source-Community entwickelt und weitere Bereiche wie z.B. das SharePoint Framework, Office 365-APIs, Office-Add-Ins und Microsoft Graph sind hinzugekommen. Der gesamte Blogartikel wurde in mehrere Teile aufgeteilt. Der erste Teil zeigt Ihnen, wie Sie schnell mit Hilfe von zwei “Inhalts-Editor” Webparts, das responsive Design auf einer Teamseite testen können. In den weiteren Teilen, wird Ihnen das Einbinden des responsiven Design auf der gesamten Websitesammlung und die Inhalte der Stylesheet und JavaScript Datei erläutert. Speichern Sie jeweils die Inhalte der beiden Dateien von Github “SP-Responsive-UI.css” und “SP-Responsive-UI.js”, in gleichnamige Dateien auf Ihrem PC ab: Bei der Stylesheet Datei habe ich am Anhang den Tag <style> und am Ende den Tag </style> hinzugefügt: <style> .mobile-only { display: none; } ... .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }   ... .pnp-settingsdiv img { display: none; } </style> .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }     Bei der JavaScript Datei habe ich am Anhang den Tag <script> und am Ende den Tag </script> hinzugefügt: <script> var PnPResponsiveApp = PnPResponsiveApp || {};   PnPResponsiveApp.responsivizeSettings = function () { ... ... // embedding of jQuery, and initialization of responsiveness when ready loadScript("//code.jquery.com/jquery-1.12.0.min.js", function() { PnPResponsiveApp.init(); }); </script>   Im SharePoint klicken Sie auf “Websiteinhalte”: Anschließend auf die Dokumentbibliothek “Websiteobjekte”: Fügen Sie dieser die beiden Dateien “SP-Responsive-UI.css” und “SP-Responsive-UI.js” hinzu: Navigieren Sie zu Ihren Team-Startseite und bearbeiten Sie diese: Wählen Sie ein Layout mit Fußzeile aus und setzten Sie den Cursor in diese: Klicken Sie auf “Einfügen-Webpart”: Wählen Sie die Kategorie “Medien und Inhalte” aus und fügen Sie das Webpart “Inhalts-Editor” Ihrer Seite hinzu: Klicken Sie auf “Webpart bearbeiten”: Verweisen Sie wie folgt auf Ihre Stylesheet  Datei “ ../SiteAssets/SP-Responsive-UI.css ”: Im Feld “Titel” tragen Sie eine Leerzeile “ “ ein und beim Chromtyp wählen Sie “Kein” aus: Wiederholen Sie die Schritte mit dem Webpart “Inhalts-Editor” für den Verweis auf Ihre JavaSkript Datei: ”../SiteAssets/SP-Responsive-UI.js “. Nun sollte Ihre Fußzeile wie folgt aussehen: Klicken Sie auf “Speichern”: Verkleinern Sie langsam Ihr Browser Fenster und Sie erhalten zuerst die Tablet- und anschließend die Smartphone-Ansicht: Smartphone-Ansicht: Viel Erfolg und Spaß mit Ihrer responsiven Startseite…

App-Launcher und Custom-Tiles On-Premise

  Seit Sharepoint Server 2016 befindet sich in der oberen linken Ecke der APP-Launcher. Mit dem FeaturePack 1 (Update Nov CUs) ist es nun möglich, benutzerdefinierte Kacheln in den App-Laucher einzubauen. Durch die Updates kommt ein Feature hinzu, welches man via Shell abfragen bzw. aktivieren kann. Get-SPFeature –identity Custom Tiles Enable-SPFeature -Identity CustomTiles -Url "http://<WebanwendungsURL>" –Force Durch die Aktivierung wird eine versteckte Liste erstellt, in der man nun die einzelnen Kacheln als ListItem erstellen kann. http://WebanwendungsURL/Lists/Custom Tiles Die Aktualisierung kann bis zu 24h dauern (TimerJobs). Wer keine Geduld hat kann auch den Browser im Dev-Mode mit ClearSuiteLinksCache() ausführen Fertig!

Richtige Kalenderwoche aus Datum bestimmen in PowerBI und Excel Anwendungen

Die Problematik ergibt sich aus einem Praxisfall. Die Funktion KALENDERWOCHE berechnet die Kalenderwochen auch in den europäischen Versionen anhand des amerikanischen Standards. Der erste Tag im Jahr wird immer der Kalenderwoche 1 zugeordnet. In Deutschland, Österreich und der Schweiz ist als erste Kalenderwoche aber immer diejenige Woche definiert, die als erste Woche im Jahr aus mindestens vier Tagen besteht. Wenn der 1. Januar also auf einen Freitag, Samstag oder Sonntag fällt, liefert die Tabellenfunktion KALENDERWOCHE ein falsches Ergebnis. Um dies korrekt zu ermitteln, wird eine entsprechende Formatierung benötigt. Im nachfolgendem Beispiel wird dargestellt wie die Berechnung abweicht, wenn der falsche Typ für die Funktion KALENDERWOCHE benutzt wird. In PowerBI gibt es nur die englische Schreibweise der Funktion, sodass die Syntax wie folgt aussieht: =WEEKNUM(“Datum”;”Zahl-Typ”) An einem Beispiel in Excel lässt es sich sowohl dort als auch in PowerBI testen und verwenden. Die korrekte Berechnung nach DIN-Norm bekommt man mit dem Typ 21- Montag. Nachfolgend übertragen in PowerBI wird das gleiche richtige Ergebnis geliefert. Wer mehr erfahren möchte, ist in diesem Power BI und Excel Kurs richtig.

Richtige Kalenderwoche aus Datum bestimmen in PowerBI und Excel Anwendungen

Die Problematik ergibt sich aus einem Praxisfall. Die Funktion KALENDERWOCHE berechnet die Kalenderwochen auch in den europäischen Versionen anhand des amerikanischen Standards. Der erste Tag im Jahr wird immer der Kalenderwoche 1 zugeordnet. In Deutschland, Österreich und der Schweiz ist als erste Kalenderwoche aber immer diejenige Woche definiert, die als erste Woche im Jahr aus mindestens vier Tagen besteht. Wenn der 1. Januar also auf einen Freitag, Samstag oder Sonntag fällt, liefert die Tabellenfunktion KALENDERWOCHE ein falsches Ergebnis. Um dies korrekt zu ermitteln, wird eine entsprechende Formatierung benötigt. Im nachfolgendem Beispiel wird dargestellt wie die Berechnung abweicht, wenn der falsche Typ für die Funktion KALENDERWOCHE benutzt wird. In PowerBI gibt es nur die englische Schreibweise der Funktion, sodass die Syntax wie folgt aussieht: =WEEKNUM(“Datum”;”Zahl-Typ”) An einem Beispiel in Excel lässt es sich sowohl dort als auch in PowerBI testen und verwenden. Die korrekte Berechnung nach DIN-Norm bekommt man mit dem Typ 21- Montag. Nachfolgend übertragen in PowerBI wird das gleiche richtige Ergebnis geliefert. Wer mehr erfahren möchte, ist in diesem Power BI und Excel Kurs richtig.

Nintex Workflow – Aktion Excel Services Abfrage nutzen

Nintex Workflows erweitern den Funktionsumfang im Einsatz von Automatisierungsprozessen in SharePoint enorm, da sie Funktionen anbieten, die mit normalen Bordmitteln von SharePoint nicht umgesetzt werden können. In diesem Blog beschreibe ich, wie eine in SharePoint befindliche Excel Datei inklusive enthaltener Berechnung abgefragt werden kann, indem aus einer SharePoint Variable ein Wert übergeben wird, um eine dynamische Berechnung samt Ergebnis verwenden zu können. Im vorliegenden Beispiel habe ich einen Website Workflow bestehend aus zwei Aktionen erstellt, um dies zu demonstrieren. Die Schritte: Aktionen „Excel Services-Abfrage“ und „In Workflowverlauf protokollieren“ werden zunächst erstellt. Weiterhin werden zwei Variablen benötigt. Die Variable Ende enthält ein Datum, es ist hier der 11.11.2016. Die Variable Berechnung enthält nach erfolgreichem Durchlauf eine Anzahl Tage. Beide Aktionen sind danach zu konfigurieren, siehe Screenshots. „Excel Services-Abfrage“ Hier gilt es zunächst die URL einzutragen, indem der vordere Teil angepasst werden muss. In meinem Beispiel ist es „http://srv1“, der Rest, „/_vti_bin/ExcelService.asmx“ bleibt bestehen. Nachfolgend einige Hinweise aus dem Nintex Manual, um zu verstehen, wie die Parameter zu setzen sind. Aktion „In Workflowverlauf protokollieren“ Im Workflowverlauf wird im Erfolgsfall die Variable mit dem dynamisch berechneten ausgewiesen. In diesem Beispiel verwendete ich eine einfache Excel-Tabelle mit einer simplen Berechnung der Nettoarbeitstage in der Zelle D4. Nach dem Durchlauf des Workflows ist das Ergebnis aus der Berechnung zu sehen, in diesem Beispiel 9 Tage. Es wurde der Wert aus der Variable Ende in die Zelle B2 übertragen und das Ergebnis aus der Zelle D4 in der Variable Berechnung gespeichert und zurückgegeben.

SharePoint 2013 – Benutzerdefinierte Formatierung mit Javascript und Eingabefeld

In einem vorangegangenen Artikel habe ich bereits beschrieben, wie mit Javascript bestimmte Inhalte in z.B. einer Liste nach Wunsch farbig formatiert werden können (Spalte Status). Siehe: http://blog.ppedv.de/post/2014/09/10/SharePoint-2013-bedingte-Formatierung-verwenden.aspx In diesem Blog möchte ich die Idee der bedingten Formatierung noch etwas erweitern. Der Wunsch lautet nun wie folgt: ein Benutzer möchte nach einem individuellen Eintrag vom Typ Datum suchen, bezogen auf ein oder mehrere in der Liste in einer beliebigen Spalte stehenden Datum oder mehreren Datumswerten. Die Suche soll in der Liste mittels eines Eingabefeldes als Datum erfolgen, welches nach einem Klick auf eine danebenstehende Schaltfläche farbig angezeigt wird. Außerdem soll in der Liste das aktuelle Datum immer bspw. gelb hervorgehoben sein. Nachfolgend greife ich dieses Beispiel mit einem Datumsfeld inklusive Schaltflächen auf. So soll das Endresultat von der Formatierung her also aussehen. Um die Tabelle, wie angezeigt entsprechend formatieren zu können, wird etwas JavaScript Code benötigt. Es gilt wie im vorherigen Blogartikel beschrieben, die Ansicht “Alle Elemente” mithilfe von SharePoint Designer 2013 zu öffnen und zu bearbeiten. Der vollständige Code sieht wie folgt aus, und steht unterhalb der Zeile 18, unterhalb des Tag PlaceHolderMain. Das fertige Resultat als Liste ist dann nachfolgend zu sehen, wobei der Code beliebig angepasst werden kann. Hierbei wird immer das aktuelle Datum gelb eingefärbt, zusätzlich wird das in die Eingabebox eingetragene Datum ebenfalls blau eingefärbt. Ausführen und Löschen stehen als Schaltflächen daneben. Die beiden Schaltflächen Ausführen und Löschen sind als ASP.NET-Steuerelement (TextBox und Button) eingefügt und jeweils mit einer JavaScript Function versehen. Die Herausforderung bei diesem Beispiel war, das von SharePoint ausgegebene Datum in Stücke zu schneiden und dann in einem von JavaScript richtig interpretierbarem Format zusammengestellt auszugeben, damit das aktuelle Tagesdatum immer gelb angezeigt wird. Selbstverständlich können Sie die Farben auf Wunsch ändern. Der JavaScript Code in Verbindung mit den eingefügten Schaltflächen mit der Function Datum sorgt für die Formatierung des individuell eingegebenen Datums, die Function Löschen, entfernt die Formatierung dagegen. Die im Code gebildete Variable “ganzesdatum” formatiert das jeweilige Tagesdatum gelb. Die in dem Code angegebenen Farben sowie die Begriffe (in Bearbeitung, nicht begonnen, abgeschlossen) für die Spalte Status können beliebig auf eigens verwendeten Begrifflichkeiten und Farben angepasst werden. Abschließend der Code zum kopieren unter die Zeile PlaceHolderMain : <input type="text" id="TextBox1"> <input type="button" value="Ausführen" OnClick="javascript:datum()"/> <input type="button" value="Löschen" OnClick="javascript:löschen()"/> <br></br> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js" type="text/javascript"></script> <script type="text/javascript"> $(window).load(function() { $('.ms-vb2:contains("abgeschlossen")').css('background-color', 'lightgreen'); $('.ms-vb2:contains("nicht begonnen")').css('background-color', 'red'); $('.ms-vb2:contains("in Bearbeitung")').css('background-color', 'orange'); var heute = new Date(); var ganzesdatum = ('0' + heute.getDate()).slice(-2) + "." + ('0' + (heute.getMonth()+1)).slice(-2) + "." + heute.getFullYear(); $('.ms-vb2:contains("'+ganzesdatum+'")').css('background-color', 'yellow'); }); function datum() { $('.ms-vb2:contains("abgeschlossen")').css('background-color', 'lightgreen'); $('.ms-vb2:contains("nicht begonnen")').css('background-color', 'red'); $('.ms-vb2:contains("in Bearbeitung")').css('background-color', 'orange'); $('.ms-vb2:contains("' + document.getElementById("TextBox1").value + '")').css('background-color', 'blue'); } function löschen() { $('.ms-vb2:contains("")').css('background-color', 'white'); $('.ms-vb2:contains("abgeschlossen")').css('background-color', 'lightgreen'); ('.ms-vb2:contains("nicht begonnen")').css('background-color', 'red'); $('.ms-vb2:contains("in Bearbeitung")').css('background-color', 'orange'); var heute = new Date(); var ganzesdatum = ('0' + heute.getDate()).slice(-2) + "." + ('0' + (heute.getMonth()+1)).slice(-2) + "." + heute.getFullYear(); $('.ms-vb2:contains("'+ganzesdatum+'")').css('background-color', 'yellow'); } </script>