close

Scripting, PowerShell

FormularmanagementScripting, PowerShellSharePoint 2013SharePoint 2016

InfoPath Formulare automatisiert austauschen

beitragsbild-source-code-scripting-coding-terminal

Wie ja mittlerweile so gut wie alle wissen wurde InfoPath von Microsoft abgekündigt. Und auch wenn der Support noch für einige Jahre seitens Microsoft sichergestellt ist, machen sich unsere Kunden Gedanken zu alternativen Formularlösungen für SharePoint.

Eine Möglichkeit InfoPath Formulare und deren Logik abzulösen ist z.B. Nintex Forms. Nachdem man das Nintex Formular fertig erstellt und mit allen Funktionen des bisherigen InfoPath Formulars versehen hat, reichen ein paar Klicks um das neue Formular zu exportieren und auf eine Liste zu übertragen. Das geht über die GUI sehr schnell und komfortabel.

Was aber wenn man es mit einem Projektportal mit hunderten Projekten zu tun hat? Wobei jedes Projekt eine Site darstellt in der eine Liste mit einem InfoPath Formular existiert? Sicher, man kann die hunderten Formulare manuell umstellen, was aber sicher ein paar Tage dauern wird und fehleranfällig ist.

Eleganter ist es das Austauschen mittels PowerShell zu erledigen. Der erste Schritt dazu ist das alte InfoPath Formular zu deaktivieren und zu löschen. Ansonsten kann man gerne ein anderes Formular zuweisen, aber SharePoint wird noch immer versuchen InfoPath zu öffnen.

Wir haben dazu ein Script erstellt das grob beschrieben folgende Schritte erledigt:

  1. Es durchläuft alle Sub Sites einer Start Site die frei angegeben werden kann.
  2. In jeder Sub Site sucht es nach einer bestimmten Liste. In diesem Beispiel „Tasks“.
  3. Innerhalb der Liste wird ein bestimmter Content Type gesucht.
  4. Wurde dieser Content Type gefunden wird das zugehörige InfoPath Formular deaktiviert und auf das SharePoint Standard Formular zurückgestellt.
  5. WICHTIG: Danach müssen auch alle Formular URLs zurückgesetzt werden, sonst wird nach wie vor nach den .aspx Files für InfoPath gesucht (z.B. editifs.aspx)
  6. Im Anschluss werden alle nicht mehr benötigten Dateien aus dem Ordner des Content Types entfernt. Dieser Schritt ist nicht unbedingt nötig, aber man will ja keine Karteileichen herumliegen haben 😉 ?
  7. Zuletzt nicht vergessen den Content Type und die Liste zu aktualisieren.

Und hier das fertige Script:

Code downloaden

Danach kann man mit der automatisierten Verteilung der neuen Formulare (z.B. Nintex) starten. Hoffe dieser kurze PowerShell Ausflug konnte weiterhelfen. Wer Fragen zu dem Thema hat kann uns natürlich gerne kontaktieren 🙂 .

mehr lesen
AllgemeinHow-To, Tutorial, SzenarioHybridKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2016

SharePoint 2016 Fast Site Collection Creation

beitragsbild-automatisierung-workflow-roboter-power

Mit SharePoint 2016 bringt Microsoft so manche Neuerungen in die Zentraladministration des SharePoint. Eine davon ist die sogenannte „Fast Site Collection“. Mit Hilfe dieser Funktion soll die Dauer der Erstellung einer neuen Site Collection von einer gefühlten halben Ewigkeit auf ca. 2-3 Sekunden reduziert werden!

Um eine neue Site Collection mit Hilfe dieses Features anlegen zu können sind vorbereitende Schritte notwendig.

Zu aller erst wird ein Grundgerüst benötigt um zukünftige Site Collections darauf aufbauend, erstellen zu können. Hierfür kann ein bereits vorhandenes Site Template verwendet werden, oder ein eigenes Template generiert werden. Möchte man ein selbst generiertes Site Template verwenden, muss dies im Vorhinein noch in ein Farm Template konvertiert werden um damit Site Collections erstellen zu können. Dies bedeutet jedoch auch, dass neue Site Collections nur dann mit dem neuen Fast Site Collection Feature angelegt werden, wenn bei der Anlage das Template ausgewählt wurde, bei dem auch der „Site Master“ aktiviert wurde.

mehr lesen
AllgemeinHow-To, Tutorial, SzenarioHybridKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2016

SharePoint 2016 Server Roles – Fluch oder Segen ?

Ein Bild zum Beitrag Thema Server Roles

Microsoft hat ja Ende August die SharePoint 2016 IT Preview veröffentlicht und somit die Möglichkeit gegeben, einen ersten Blick auf die neue SharePoint Version zu werfen.

Das wollte ich mir natürlich nicht entgehen lassen und habe mir daher die Preview ein wenig genauer angesehen. Abgesehen von den Informationen der Microsoft Ignite und Bill Baers Blog sind die Informationen zur neuen SharePoint Release ja noch recht spärlich gesät.

Im heutigen Blog Post möchte ich mich vor allem auf das “neue” Rollenmodell bei SharePoint 2016 konzentrieren. Dieses MinRole genannte Konzept besagt, dass innerhalb einer Farm benötigte Service Instanzen von SharePoint selbstständig konfiguriert und überwacht werden.

mehr lesen
AllgemeinHow-To, Tutorial, SzenarioHybridKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2013SharePoint 2016

Synchronisation von Benutzern aus verschiedenen Domains eines Forrests

Altes Bild zu posts

Problem:

Wir hatten neulich bei einem Kunden dass Problem, dass sich, beim Erstellen einer Synchronisation Connection im User Profile Service, bestimmte Organisational Units (OUs) aus einem Active Directory Forrest nicht aufklappen ließen. Die Sub-Domains des Forrests konnten ohne Probleme aufgelöst werden, aber leider keine OUs aus der Root Domain.

Zunächst große Verwirrung… Erstauntes Smileywarum funktioniert das bei einigen OUs aber nicht bei allen ? Der einzige Hinweis auf einen Fehler im ULS Log war ein Session Timeout von SharePoint. Also zunächst einmal die Session Timeouts für die Synchronisation verändert (siehe Spencer Harbar)

Doch auch das hatte nicht den gewünschten Effekt. Trauriges Smiley

mehr lesen
AllgemeinDevelopment, CodingHow-To, Tutorial, SzenarioHybridOn-PremisesScripting, PowerShellSharePoint 2013SharePoint Online

SharePoint 2013 Social Tag Manager

Beitragsbild Collaboration Cloud Productivity allgemein

In SharePoint 2013 gibt es die Möglichkeit, echte Hashtags zu nutzen, in der Form #tag. Als SharePoint Entwickler ist man natürlich daran interessiert, Hashtags programmatisch zu nutzen. Dafür gibt es natürlich auch eine API. Eine umfassende Dokumentation dazu gibt es in der MSDN (https://msdn.microsoft.com/EN-US/library/office/jj163864.aspx). Es werden selbstverständlich sämtliche APIs vom .NET client object model, Server object model bis hin zum JavaScript object model sowie REST services unterstützt. In diesem Beitrag wird das „Server object model“ als „Starting-Point“ gezeigt.

Will man also ein Hashtag programmatisch hinzufügen, ist die Klasse SocialTagManager notwendig. Sie befindet sich im Assembly Microsoft.Office.Server.UserProfiles (Namespace, Microsoft.Office.Server.SocialData). Dies ist noch keine wesentliche Neuerung, da diese bereits in SharePoint 2010 zur Verfügung stand. Der Unterschied ist jedoch erkennbar, wenn man das Term Store Management Tool aufruft. Dort werden Hashtags im System-Zweig des Taxonomy Term Stores abgelegt.

mehr lesen
AllgemeinDevelopment, CodingHow-To, Tutorial, SzenarioKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2013

SharePoint 2013: Client Side Managed Meta Data Service

Wer schon mal versucht hat, die seit SharePoint 2013 neue Assembly Microsoft.SharePoint.Client.Taxonomy zu verwenden um mittels CSOM auf das Managed Meta Data Service zuzugreifen, hat vielleicht schon mal folgende Fehlermeldung gesehen.

Cannot invoke method or retrieve property from null object.
Object returned by the following call stack is null.
„GetDefaultSiteCollectionTermStore
Microsoft.SharePoint.Taxonomy.TaxonomySession.GetTaxonomySession“

Das Code-Fragment, das diese Fehlermeldung verursacht sieht beispielsweise so aus.

Anmerkung: Dieses Beispiel legt einen Termset “Intrigen der Macht, mit den Titeln von drei Büchern an, in der Gruppe “Books”.

mehr lesen
AllgemeinDevelopment, CodingHow-To, Tutorial, SzenarioKonfiguration, DeploymentScripting, PowerShellSharePoint 2013SharePoint 2016

SharePoint 2013 und Unit Tests mit Visual Studio 2013

In der Vergangenheit war es nicht immer einfach die von Visual Studio mitgebrachte Möglichkeit für Unit Tests in Verbindung mit SharePoint zu nutzen. In den aktuellen Versionen (SharePoint 2013 und Visual Studio 2013) ist dies einfacher geworden und sollte auch anregen daran zu denken, wenn man SharePoint Apps entwickelt. Gerade wenn man an Auto-hosted Apps denkt, bei denen die Businesslogik außerhalb des SharePoints, in beispielsweise einem Azure Service gehostet wird, sollte man Unit Tests unbedingt nutzen.

Aber nicht nur für SharePoint Apps sind sie eine wichtige Möglichkeit Qualität in eine Lösung zu bringen, sondern auch für die traditionellen (Full-trusted) Lösungen, wie man sie hinlänglich kennt. Unit Tests im Zusammenspiel mit Full-trusted Solutions waren eben mitunter recht schwierig umzusetzen.

Beispielsweise kann man damit einen Unit Test schreiben, um Eventreceiver einer Liste zu testen. Legt man ein SharePoint Projekt an, dann ist es relativ leicht auch ein Unit Test Projekt zu erstellen, um das Ausführen von Eventreceivern zu testen. Geht man von einem Eventreceiver aus, der z.B. ein Datumsfeld setzt, wenn ein neues Item angelegt wird, so braucht man anschließend nur einen Unit Test, der genau diesen Fall überprüft, erstellen.

mehr lesen
AllgemeinCloudDevelopment, CodingHow-To, Tutorial, SzenarioHybridOffice 365On-PremisesScripting, PowerShellSharePoint 2013SharePoint 2016SharePoint Online

SharePoint 2013 DEV: Javascript – ein Must-Have!

Beitragsbild Web Page Source Codes Macro

Bekannt ist, dass Javascript eine Scriptsprache und keine Programmiersprache ist. Zumindest für Entwickler. Trotzdem stehen genau diese oft vor der Anforderung, dass genausoviel von Solutions in Javascript wie von Solutions in anderen vollständigen Programmiersprachen gefordert wird. Nur wie soll eine prozedurale Scriptsprache dabei mithalten können?

In vielen Punkten gibt es keine Möglichkeit dafür, an anderer Stelle mittlerweile sehr wohl. In letzter Zeit sind sehr viele Libraries entstanden, die mit vielen Schwierigkeiten, die sich in Javascript stellen, leicht umgehen können. Im Falle von Databinding sind Knockout oder AngularJS wahre Problemlöser. Bei 2D-Geometry hilft Svg, bei 3D ThreeJS.

Trotz aller Neuerungen kämpft man aber leider immer noch mit Unterschieden unter den verschiedenen Browsern. Eine einheitliche Standardisierung könnte hier vieles vereinfachen, allerdings ist so etwas noch ferne Zukunftsmusik, falls es überhaupt eintritt. Deshalb ist es unter Umständen vernünftiger auf Technologie zu setzen, die auf Basis von Plugins arbeitet.

In diesem Fall muss sich der Hersteller des Plugins um die Unterschiede in den Browsern kümmern, während sich der Entwickler auf die Umsetzung seiner Solution konzentrieren kann. Eines der bekanntesten Beispiele dafür ist Unity. Diese Engine läuft sowohl in allen größeren Browsern als auch auf Applikationsebene und allen mobilen Devices. Eine durchaus abzuwägende Alternative, besonders weil Unity auch C# unterstützt.

Happy Coding!

Published: 08.09.2014 08:42

Source: New feed

mehr lesen
AllgemeinHow-To, Tutorial, SzenarioKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2013SharePoint 2016Veranstaltung, Event, Konferenz

#ESPC2013: Infrastructure Best practice, Powershell beyond the Snap-In

Beitragsbild Allgemein zu Microsoft Produktivität und Cloud

Heute war der letzte Tag dieser European SharePoint Konferenz in Kopenhagen und den Teilnehmern war schon eine gewisse Müdigkeit anzusehen. Ob das nun an der gestrigen Party lag, oder den vielen informativen Sessions, lasse ich dem geschätzten Leser über zu entscheiden. Zwinkerndes Smiley

Ultimate SharePoint Infrastructure Best Practices

Diese Session war heute in 2 Teile gesplittet. Am Vormittag hat Michael Noel einen eher allgemein gehaltenen Überblick über die Änderungen der Infrastruktur gegeben. Dafür war dann seine Nachmittags Session äußerst interessant.

Zunächst wurden einmal die neuen Service Applications und auch die neuen Services in SharePoint 2013 etwas genauer betrachtet.

infra1

mehr lesen
AllgemeinDevelopment, CodingKonfiguration, DeploymentOn-PremisesScripting, PowerShellSharePoint 2013Veranstaltung, Event, Konferenz

SPC2012: Anpassung der Oberfläche

Beitragsbild Web Page Source Codes Macro

Nahed hat ja schon einen Überblick über die wirklich tolle Keynote bei der SharePoint Conference 2012 gegeben. Ich selbst bin das erste mal bei der SPC dabei und muss sagen dass ich wirklich stark beeindruckt bin. Besonders dass hier alles so reibungslos abgewickelt wird, und dass bei den Massen von Teilnehmern. Da kann sich so manche andere kleine Veranstaltung ein Beispiel daran nehmen Zwinkerndes Smiley.

Eine kurze Demo im Rahmen der Keynote hat mich als alten Webdesigner und leidgeprüften SharePoint Designer User besonders beeindruckt und daher wollte ich das selbst gleich mal ausprobieren. Es geht dabei um die Anpassung des SharePoint 2013 Layouts mit einem beliebigen HTML Editor. Also vom Grundgedanken her so wie es z.B. auch bei Typo3 üblich ist. Einfach ein HTML Template erstellen in dem dann Platzhalter Tags eingefügt werden in denen dann der SharePoint Content gerendert wird.

Klingt ja prinzipiell gut, aber ich glaub es immer erst wenn ich es selbst mal gesehen habe Zwinkerndes Smiley.

mehr lesen
1 2
Page 1 of 2