Suche

Montag, 17. Dezember 2012

SharePoint 2013 - Gegenüberstellung Farmlösungen (Farm Solutions) und Apps

In diesem Post möchte ich auf die Möglichkeiten der Bereitstellung von benutzerdefinierten Lösungen in SharePoint 2013 eingehen. Im Gegensatz zu SharePoint 2010 ergeben sich in diesem Bereich einige Änderungen, die ich im Folgenden darstellen möchte.

In SharePoint 2010 gab es die Farmlösungen (Farm Solutions) und die Sandkastenlösungen (Sandbox Solutions). In SharePoint 2013 sind die Sandkastenlösungen veraltet, Ihr Lebenszyklus war nicht von langer Dauer, was einige Entwickler mit Sicherheit freuen wird. Die bekannten Farmlösungen wird es auch weiterhin geben, zur Freude der Administratoren :-)

Ein großes Thema im täglichen Leben sind heutzutage die Apps, jeder kennt Sie und jeder nutzt Sie. In SharePoint 2013 dürfen die Apps somit nicht fehlen. Wer sich das Thema Apps und SharePoint 2013 einmal genauer anschauen möchte findet auf Microsoft Technet die benötigten Informationen.

Soweit so gut, aber für welche Szenarien setze ich welche Lösungen ein. Im Grunde genommen kann man die Lösungen in 2 Kategorien einteilen.

Kategorie Farmlösung

Lösungen dieser Kategorie erweitern die Funktionalität einer SharePoint-Farm, einer Webseitensammlung oder auch einer einfachen Seite. Die Bereitstellung und Veröffentlichung der Farmlösungen erfolgt durch die Farm-Administratoren. Diese werden wie gewohnt über die Farmlösungen innerhalb der Zentraladministration bereitgestellt.

Beispiel Farmlösung

Wir möchten unseren SharePoint Server um eine Workflow-Engine erweitern, da wir mit den Standardmitteln des SharePoint Workflow Designers nicht zufrieden sind und die Funktionalitäten erweitern möchten. Wir entscheiden uns in diesem Fall für Nintex Workflow. Diese Lösung wird auf der Farm zur Verfügung gestellt und bietet den Anwendern/Administratoren eine Reihe an Funktionalitäten.

Kategorie Apps

Lösungen der Kategorie 2 kann man gut als Einzelgänger beschreiben. Eine App stellt die Lösung zu einem bestimmten Problem dar. Apps sind in der Regel einfach zu handhaben, da keine komplexe Funktionalität zur Verfügung gestellt wird.

Beispiel Apps


Im Intranet soll auf der Startseite die Twitter-Timeline des Unternehmens eingebunden werden. Es muss in diesem Fall keine komplexe Funktionalität bereitgestellt werden. Es wird lediglich ein Web Part als App zur Verfügung gestellt, welches sich mit dem Twitter-Account verbinden und die entsprechende Timeline anzeigen kann.

Wir wissen nun, dass wir 2 Möglichkeiten der Entwicklung von Lösungen für unsere SharePoint 2013 Farm  haben. Aber welche Unterschiede sind nun in den Lösungen vorhanden. Die folgenden Punkte liefern Euch hoffentlich einen guten Überblick.

Authentifizierung

Farmlösungen laufen gewöhnlich als Vertrauenswürdig (Full trust). Handelt es sich um ein Farm-Feature wird die Lösung in den Global Assembly Cache (GAC) geladen. Sofern es sich um ein Webanwendungsfeature handelt wird die bin-Assembly in das bin-Verzeichnis des virtuellen Servers kopiert.
Apps hingegen haben unterschiedliche Zugriffsmechanismen. Damit man die SharePoint API aus einer App heraus aufrufen kann müssen wir uns zuvor am SharePoint authentifizieren. Nutzen wir lediglich HTML, JavaScript (z.B. innerhalb von Web Parts zur visuellen Darstellung) übernimmt SharePoint die Authentifizierung. Greifen wir jedoch auf Daten zu, die außerhalb vom SharePoint liegen (z.B. Cloud-Zugriffe) wird über OAuth oder auch REST API's zugegriffen.

Unterstütze Features

Farmlösungen unterstützen eigentlich jede Funktionalität, die SharePoint abbilden kann. Wie in SharePoint 2010 bei den Sandkastenlösungen gibt es auch in SharePoint 2013 Abgrenzungen bei der App-Entwicklung. 

Die folgenden Features kann man als App bereitstellen:
  • Benutzerdefinierte Webparts (Custom Web Parts)
  • Benutzerdefinierte Seitendefinitionen (Custom site definitions)
  • Benutzerdefinierte Themes (Custom themes)
  • Benutzer-Steuerelemente (User controls)
  • Benutzerdefinierte Aktionen (Custom action groups)
  • Stellvertretungs-Steuerelement (Delegate controls)
  • Benutzerdefinierte Webservices (Custom web services)
    • diese müssen auf dem SharePoint Service Application Framework aufbauen
  • Ereignisempfänger (Event Receivers)

Diese Funktionalitäten lassen sich mit Apps nicht abbilden:

  • Zugriff auf Elemente, die nicht in derselben SharePoint-Seite liegen
  • Eine Verbindung von Apps untereinander ist nicht möglich
  • Mit Hilfe von Apps lässt sich kein SharePoint Server Seiten Code aufrufen (Server side code)
  • Anwendungsseiten (Application Pages) lassen sich nicht als App bereitstellen

Resource Allocation

Farmlösungen beinhalten keine Restriktionen bezüglich der Resource Allocation. Apps bieten den Webseitensammlungsadministratoren die Möglichkeit der Überwachung  und können die zugewiesenen Ressourcen ändern.

Ich wünsche allen ein frohes Fest und besinnliche Weihnachtstage im Kreise der Familie und Freunde.

Bis dahin,
Patrick

Sonntag, 18. November 2012

Microsoft SharePoint Conference 2012 - Persönliche Highlights (Search)

Nachdem ich bereits Microsoft SharePoint Conference 2012 - Persönliche Highlights (Collaboration) veröffentlicht habe, folgt nun der nächste Teil meines Rückblickes. Ich werde diesen Beitrag dem Thema Suche widmen und meine Erfahrungen/Informationen schildern, die ich während der Microsoft SharePoint Conference 2012 sammeln konnte.

Einen wichtigen Punkt den ich vorab kurz ansprechen möchte, ist die Integration der FAST Search in die SharePoint Server Search. Es wird somit keine FAST Search für SharePoint 2013 geben, da diese von Microsoft in den SharePoint 2013 integriert wurde. Ich konnte leider keine Informationen zum Thema Lizenzierung herausfinden. Ich gehe aber davon aus, dass die Suche Bestandteil der Enterprise Lizenz sein wird. Kurze Anmerkung zum Thema Lizenzen: In der Keynote wurde erwähnt, dass es in der neuen Version die Möglichkeit für einen Mixed-Betrieb (Standard- und Enterprisefeature) auf Benutzerebene geben wird. Das setzen der Benutzer-CALs wird nur über die PowerShell möglich sein, hierzu stehen neue SP-cmdlets bereit. In SharePoint 2010 war dies bisher nur auf Seitenebene möglich. Microsoft wird das Thema Lizenzierung in naher Zeit bestimmt detailliert zur Verfügung stellen. Kommen wir nun aber zum eigentlichen Thema ;-)


Den Überblick der SharePoint 2013 Search Architecture habe ich der Session "What's new in Search for SharePoint 2013" von Glen Anderson (Principal Program Manager) und Cem Aykan (Senior Product Manager) entnommen. Eine weitere Neuigkeit, die man dem Schema entnehmen kann, ist die Integration der Webanalytics in die Suche. Die Webanalytics Service Application steht in SharePoint 2013 nicht mehr zur Verfügung, da diese Funktionalität jetzt in der Search Service Application integriert ist. Wie man sieht gibt es innerhalb der Bereiche Schnittstellen zueinander. Die Suche kann man generell in 4 Bereiche aufteilen:
  • Content
  • Index
  • Query
  • Analytics
Im folgenden werden die standardmäßig zur Verfügung stehenden Crawl-Inhalte (Content) aufgelistet:
  • http
  • Fileshare
  • SharePoint
  • User profiles
  • Lotus Notes
  • Documentum
  • Exchange folders
  • Custom - BCS
Der Crawl des Contents wird durch die mssearch.exe ausgeführt und übergibt im Bereich des Content Processing die notwendigen Daten an den Index (FAST Search Index). In SharePoint 2013 wird es zudem die Möglichkeit geben einen Continuous Crawl (Full und Incremental sind weiterhin Bestandteil) auszuführen. Hierbei sollte man jedoch mit Vorsicht an die Umsetzung gehen, da zum Einen entsprechende Ressourcen benötigt werden und man diese Crawl nicht in einen Pause-Modus setzen kann. Es gibt lediglich die Option den Continuous Crawl zu stoppen. Mussten Managed Properties im SharePoint 2010 noch manuell angelegt werden, so dienen in SharePoint 2013 angelegte Site-Columns als Managed Property. Angelegte Site-Columns werden mit dem nächsten Crawlzyklus automatisch als Managed Property angelegt!

Die Query-Komponente (zuständig für die Bereitstellung/Darstellung der angefragten Suchergebnisse) umfasst die folgenden Punkte:

  • Stateless node
  • Processing flows
  • Query analyzer
  • Linguistics
  • Dictionaries
  • Result sources
  • Schema mapping
  • Query Rules
  • Query federation

Die Query Rules wurden in SharePoint 2013 erheblich verbessert/erweitert und kann man in folgende Bereiche aufteilen:

  • Query Conditions
    • Welche Abfragen sollen ausgeführt werden
  • Query Actions
    •  Wie sollen die Ergebnisse behandelt werden
  • Publishing Options
    • Sind die Regeln aktiv und wie lange sollen Sie gelten
Durch die Query federation kann man nun auch Bing-Ergebnisse (oder auch andere :-)) direkt in die Suchergebnisse integrieren und muss keine Webparts nutzen, wie man es in SharePoint 2010 musste.

Das Analytics Processing umfassen die folgende Bereiche:
  • Map-reduce
  • Learns by usage
  • Search Analytics
  • Usage Analytics
  • enriches indey by updating index items
  • usage reports in Analytics database

Weitere Erweiterungen und Verbesserungen wurde in der Darstellung der Suchergebnisse vorgenommen. Diese würde ich gerne jedoch durch Screenshots untermalen, dazu benötige ich jedoch erstmal ein neues System :-)



Ich wünsche viel Spaß beim Suchen :-)
Patrick



Samstag, 17. November 2012

Microsoft SharePoint Conference 2012 - Persönliche Highlights (Collaboration)

Back in "good old Germany". Die Microsoft SharePoint Conference 2012 ist zu Ende gegangen und ich habe bereits den Rückflug erfolgreich hinter mich gebracht. Ich warte nun voller Spannung auf meinen Jetlag ;-) (Anmerkung: Da ich den Beitrag gestern nicht mehr fertig gestellt habe, ist der Jetlag nun auch da ;-))

Wie ich bereits in einem ersten kurzen post erwähnt hatte folgt nur der zweite und mit Sicherheit noch nicht der letzte. Es gibt einfach zuviel zu berichten. Aufgrund der unterschiedlichen Thematiken möchte ich die Informationen in separaten Beiträgen zur Verfügung stellen. Meine persönlichen Highlights der diesjährigen SharePoint Conference 2012 sind die folgenden Themen:
  • Collaboration (Newsfeed, Following, My Site, etc.) "Share more do more"
  • Suche
Zudem haben Themen wie z.B. Online-Dienste (Azure, Office 365, Yammer), App-Entwicklung, Content Management einen großen Teil der Sessions auf der SharePoint Conference 2012 eingenommen. Es wurden über 300 Sessions gehalten, wobei es unmöglich ist jeder Session beizuwohnen. Zum Glück wurden die Sessions aufgezeichnet und werden in den nächsten Tagen auf MySPC online zur Verfügung gestellt. Ich kann es kaum erwarten.

Heute werde ich mich dem Thema Collaboration widmen. In diesem Bereich hat Microsoft erhebliche Verbesserungen, Erweiterungen für den SharePoint 2013 entwickelt. Der erste Eindruck überzeugt und lässt auf eine baldiges Release hoffen. Ich bin gespannt wie sich das Verhältnis on-premise, Hybrid und Cloud-hosted entwickeln wird. Im Bereich Collaboration bietet Office 365 (E1-E4 Plan) standardmäßig die Integration von www.yammer.com an. Hier scheint Microsoft die Leute in die Cloud locken zu wollen. Ich persönlich bin der Meinung, dass sich der Schritt auf Office 365 mit der Integration von Yammer bezahlbar machen wird. In der Technologie und der Bereitstellung sehe ich keine Probleme. Ich habe Bedenken damit, dass die Anwender die Funktionalitäten nicht richtig nutzen werden bzw. nutzen können. Die Unternehmen werden um Schulungen nicht herumkommen. Die Erfahrung zeigt jedoch, dass Schulungen leider immer noch viel zu selten durchgeführt werden. Ich möchte jetzt aber nicht vom Thema abweichen :-)

Die SharePoint 2013 MySite hat enorme Fortschritte gemacht. Die MySite lässt sich in die folgenden Punkte aufteilen:
  • User Profiles
  • Following 
  • Newsfeed
  • Tags
Die User Profiles an sich haben sich von der Handhabung und Anzeige relativ wenig geändert. Hier gab es jedoch Änderungen im Bereich der Service Application. Es gibt weiterhin die Profile_DB (User Profile Properties) und die Social-DB (Social Tags). Punkte wie Newsfeed, Following Documents, etc. werden nun in der Content-DB abgespeichert => Performance-Aspekte. Zudem gib es nun auch einen Cached feed, der Feeddaten bzgl. Person, Seiten, Dokumenten und Tags speichert, um einen schnellen Zugriff auf der MySite zu ermöglichen. Der Cache ist standardmäßig auf 24 Stunden eingestellt, sollten während dieser Zeit z.B. Berechtigungen (keine Rechte mehr) an Dokumenten geändert werden, so sieht man dieses Dokument (Link auf das Dokument) zwar noch auf seiner MySite, jedoch wird einem der Zugriff verweigert, d.h. das Security Trimming von SharePoint greift auch weiterhin.

Das Following-Features wird die Arbeitsproduktivität deutlich steigern (Schulungen und die richtige Nutzung vorausgesetzt). Die Benutzer haben die Möglichkeit Dokumenten, Seiten und Personen zu folgen und bekommen an einer zentralen Stelle eine Übersicht aufgezeigt. Somit kann der Benutzer ganz einfach Dokumenten, Seiten und Personen folgen, die im täglichen Business benötigt werden und muss sich nicht jedesmal erneut auf die Suche/Navigation machen. Hierzu werde ich bestimmt noch den ein oder Anderen Beitrag verfassen, dann jedoch auch mit Screenshots von einem SharePoint 2013 System.

Der Newsfeed wurde ebenfalls erheblich erweitert und verbessert. Ich vom Editieren begeistert, waren die Editoren in SharePoint 2010 eigentlich kaum zu gebrauchen, so hat Microsoft im SharePoint 2013 einen Anwenderfreundlichen Editor hinbekommen. Weiterhin kann man Dokumente (Excel, One Note, PowerPoint, Word) innerhalb des Newsfeed anzeigen lassen. Es sah sehr gut und vor allem performant aus. Ein weiterer Punkt, der unbedingt notwendig war ist das einfache taggen und erwähnen (Mentions) welches in den Social Networks seit langem existiert.

Auch im Bereich Tags wurden Erweiterungen, wie z.B. Related Tags, hinzugefügt. Hier haben die Benutzer die Möglichkeit verwandte Tags zu bestehenden Tags hinzufügen und bekommen somit auch die entsprechenden Informationen (Dokumente, Seiten, etc.) angezeigt. Nehmen wir an, dass wir das Tag "Microsoft SharePoint Conference 2012" bereits haben. Einige Benutzer haben jedoch z.B. das Tag "SPC12" für Ihre Beiträge verwendet. Wenn wir jetzt das SPC12 als related Tag hinzufügen dann bekommen wir auch diese Beiträge kummuliert angezeigt. Die Tags müssen nicht manuell oder per Script an jedem Element geändert werden.

Wie bereits erwähnt wird dies nicht der letzte Beitrag zu diesem Thema gewesen sein.

so stay tuned...
Patrick

some pictures of the Microsoft SharePoint Conference 2012

Dienstag, 13. November 2012

Microsoft SharePoint Conference 2012 - erste Eindrücke

Hier sind dann mal meine erste Eindrücke von der Microsoft SharePoint Conference 2012 in Las Vegas, Nevada. Am Montag, den 12.11.2012 um 8:30 Uhr war es soweit. Die SPC12 wurde mit der Keynote durch Jared Spataro eröffnet. Der Andrang war riesig, wie man dem Bild entnehmen kann. Die SPC12 wird ein Erfolg werden, so wie man es von SharePoint 2013 mit Sicherheit auch erwarten kann/wird.


Über 10.000 Teilnehmer aus 85 Ländern werden die nächste Tage das Erlebnis SPC 12 teilen, ganz im Sinne des diesjährigen Titels "Share more do more". Die 2-stündige Keynote wurde durch Beiträge von Jeff Teper, Scott Guthrie und dem Yammer-Team unterhaltsam aufgebaut, auch wenn nicht alles Demos perfekt liefen (auch nicht im SharePoint 2013), so war es doch ein gelungener Einstieg. Mein Fazit, SharePoint 2013 hat sich im Bereich Social and Collaboration weiterentwickelt und stellt endlich eine wirklich brauchbare Enterprise-Solution zur Verfügung. Ein weiteren großen Aspekt werden die Online-Dienste bilden (Yammer wird zum Beispiel in der Office 365 -Variante integriert sein). Ich gehe mal davon aus, dass innerhalb der nächsten Jahre die On-Premise Installationen quasi nicht mehr vorhanden sein werden.
Die Sessions des ersten Tages haben sich hauptsächlich mit Überblicken über Neuerungen, Änderungen und Erweiterungen beschäftigt. Die Handhabung von SharePoint wird für alle Personen, sie es Anwender, Administratoren oder Entwickler, definitiv vereinfacht werden.

Es gibt jetzt zum Beispiel endlich die Möglichkeit alle offenen Aufgaben (SharePoint Server, Exchange Server, Project Server und Lync) an einer zentralen Stelle anzeigen zu können. Dem Work Management Service sei gedankt!
Die Suche wurde erweitert und optimiert (hierzu werde ich noch einen separaten Post schreiben. Aber ich kann sagen, dass Microsoft hier gute Arbeit gemacht hat.

Zwischen den Sessions ist Networking angesagt. Der Mandalay Bay Convention Center ist einfach gigantisch, für die SPC12 genau die richtige Location.






Man kann sich selbstverständlich auch in der Community Lounge in der Exhibitor Hall zum Informationsaustausch aufhalten und seine Arbeitskollegen auf der Experts Wall finden :-)
Inhaltlich (heute war es nur mein erster Eindruck) werde ich bestimmt noch die Ein oder Anderen Beiträge von der SPC12 veröffentlichen, aber für heute reicht es vorerst. Heute Abend dann das SPC12-Event mit Jon Bon Jovi am Mandalay Bay Beach. SharePoint 2013 rocks...

Und das darf zum Schluss nicht fehlen :-)



Mittwoch, 7. November 2012

SharePoint 2013 - Teilen von Informationen (Share-Funktionalität)

Und zum Abschluss des Tages noch ein weiterer kurzer Beitrag zum Thema SharePoint 2013. Ein neues Feature, welches mir besonders gut gefällt ist die Share-Funktionalität. Microsoft erweitert auch in der neuen Version wieder die Social Features, die von dem Großteil der Anwender alter Versionen gefordert wurden. Es gibt in diesem Bereich mit Sicherheit noch einiges an Verbesserungen und Erweiterungen, aber Microsoft befindet sich hier auf dem richtigen Weg. Anhand eines kurzen und knappen Beispiel werde ich die Share-Funktion aufzeigen. Nehmen wir einmal an, dass wir eine Seite, ein Dokument, etc. auch anderen Benutzer zur Verfügung stellen möchten, die dort keinen Zugriff haben. Sobald man auf das Kontextmenü eines Elementes (in diesem Fall handelt es sich um ein Dokument) geht erscheint das folgende Dialogfenster.















Wir haben jetzt die Möglichkeit das Dokument zu teilen, indem wir auf Teilen bzw. Share klicken. Es öffnet sich nun ein weiteres Dialogfenster und wir können die entsprechenden Benutzer auswählen.


Es werden uns automatisch Vorschläge zu unserer Eingabe angeboten. In diesem Fall möchte ich das Dokument jedem zur Verfügung stellen, damit sich auch alle Benutzer einen Überblick über die Neuerungen im SharePoint 2013 machen können :-).














Man hat die Möglichkeit den Benutzern Schreib- oder Leserechte zu erteilen.














Viel Spaß beim Sharen,
Patrick

SharePoint 2013 - verbesserte Drag & Drop Funktionalität

Noch ein kleiner Beitrag zum Thema SharePoint 2013. Eine wirklich gute Verbesserung ist die überarbeitete Drag & Drop Funktionalität. Man kann jetzt schnell und einfach eine ganze Anzahl an Dokumenten hochladen. Die Anzahl der Klicks hat sich gegenüber SharePoint 2010 verringert, somit werden sich die insbesondere die Anwender dieser Funktionalität erfreuen. Wir markieren unsere Dokumente wie im folgenden Screenshot zu sehen.


Nun ziehen wir diese Dokumente einfach in die Bibliothek und es erscheint eine Meldung, ob wir die Dokumente verschieben (Drop here ) möchten. Wir entfernen den Fokus unserer Maus auf die markierten Dokumente und schon werden die Dokumente in die Bibliothek verschoben. 


 Im Folgenden sehen wir den erfolgreichen Upload der Dokumente.


Dann mal viel Spaß beim Uploaden :-),
Patrick


SharePoint 2013 - Standard Seitenvorlagen (Change the look of your site)

Ich möchte hier einmal kurz auf die Standardmöglichkeiten eingehen, die SharePoint 2013 bietet um das Design der Webseiten anzupassen. Der SharePoint 2010 bat diese Möglichkeit bereits an, jedoch waren die Vorlagen sehr dürftig und zudem nicht unbedingt schön. Die neue SharePoint Version bietet nun eine Reihe an Vorlagen und meiner Meinung kann man die Ein oder Andere auch nutzen, wenn es mal schnell gehen soll. Individuelle Anpassungen sind natürlich auch weiterhin möglich, diese werden in diesem Post jedoch nicht berücksichtigt, da ich nur auf die OOTB (out-of-the-box) Funktionalität eingehe. SharePoint 2013 (es handelt sich hier um die kostenlose SharePoint 2013 Foundation RTM Version) bietet die folgenden Vorlagen an:

  • Blossom
  • Breeze
  • Characters
  • City
  • Gray
  • Green
  • Immerse
  • Lime
  • Nature
  • Office
  • Orange
  • Orbit
  • Purple
  • Red
  • Sea Monster
  • Sketch
  • Wood
Die Einstellungen sind einfach umsetzbar. Wir haben auf unserer Startseite bzw. in den Seiteneinstellungen den Punkt << Change the look >>.













Durch einen Klick öffnet sich die folgende Seite.












Aus den Vorlagen sucht man sich die entsprechende Alternative (in diesem Fall habe ich mich für Lime entschieden) aus. Keine Angst, die Änderung wird nicht sofort umgesetzt :-)















Wenn man diese Vorlagen austesten möchte (Änderungen sind jederzeit möglich) bestätigt man diese mit << Try it out >> und erhält eine Vorschau der Webseite.




Jetzt haben wir immer noch die Möglichkeit zu entscheiden, ob wir die Änderungen annehmen oder verwerfen möchten. 








Wie gesagt, Änderungen des Aussehens sind zu jeder Zeit möglich, daher kann man hier gerne etwas mit den Vorlagen spielen.

Viele Grüße und viel Spass,
Patrick





Google Chrome Tastaturlayout

Ich hatte heute das Problem, dass sich mein Tastaturlayout in meinem Google Chrome Browser geändert hat. Auf einmal stand mir mir nur das englische Tastaturlayout zur Verfügung. Ich habe mich dann auf die Suche in den Browsereinstellungen gemacht und mich dem Punkt << Sprachen >> (in den erweiterte Einstellungen zu finden) gewidmet.














Die Einstellungen sehen in Ordnung aus, somit kam dann eigentlich nur noch eine Tastenkombination zum Umschalten des Tastenlayouts in Frage. Bei meiner Suche auf google ;-) habe ich dann auch schnell die folgende Kombination Alt+Shift gefunden. Einmal ausgeführt und schon habe ich wieder mein gewohntes Tastaturlayout.

Viele Grüße,
Patrick

Montag, 23. April 2012

ShareCamp 2012 - Born2Share

Am letzten Wochenende (21.04.2012 - 22.04.2012) fand in der Microsoft Zentrale in Unterschleißheim das mittlerweile 3. ShareCamp statt. Ich war bereits zum 2. Mal dabei und muss sagen, dass es auch diesmal wieder eim großer Erfolg war und ich auch nächstes Jahr wieder anwesend sein werde.

An dieser Stelle geht nochmals ein großer Dank an die Verantwortlichen Michael Greth, Thorsten Hans, Christian Glessner, das Microsoft Team aus Unterschleißheim, die Sponsoren und natürlich die Speaker und Teilnehmer, denn ohne diese wäre selbst ein so gut organisiertes Event kein Erfolg. An 2 Tagen waren rund 200 Teilnehmer (ausgebucht) anwesend und haben sich in den 55 Sessions bestens aufgehoben gefühlt. Das ShareCamp ist keine typische Konferenz. Das ShareCamp wird als BarCamp veranstaltet und lebt somit von den Teilnehmern und der Community. Auch dieses Jahr haben sich wieder viele Freiwillige und engagierte ShareCamp'ler gefunden, um Ihr Wissen zu teilen oder auch um Diskussionsrunden zum Leben zu erwecken.


Nun aber zum eigentlichen Inhalt. Der Samstag hat um 8:30 Uhr mit der Registrierung begonnen. Im Anschluss gab es noch eine kurze Begrüßung durch die Organisatoren bevor es danach an die Sessionvorschläge und Agenda-Planung gegangen ist. Es stand nun die Qual der Wahl an und ich habe mich für die folgenden Sessions am Tag 1 entschieden.
Den Anfang habe ich mit einem Vortrag von Adis Jugo zum Thema "Sind gute SharePoint-Lösungen nur ein Mythos?". Es war ein interessanter Beitrag, in dem es um die Architektur von SharePoint-Lösungen ging. SharePoint wird mittlerweile als eine der Plattformen für Enterprise-Lösungen angesehen, die Entwicklung von guten SharePoint-Lösungen wird derzeit jedoch häufig unterschätzt. Das Problem liegt nicht an der Entwicklung selbst, vielmehr ist hier das Problem bei den Unternehmen zu suchen, denn gute SharePoint-Lösungen kosten Zeit und somit viel Geld, ein Faktor der in fast jedem Unternehmen selten akzeptiert wird. Mein Fazit: gute SharePoint-Lösungen sind kein Mythos!

Im nächsten Beitrag "Building an Enterprise youtube library with Office365 and 365tube" ging es um ein cloudbasiertes Videoportal, dass Office365 als Darstellungsmedium nutzt. Es kommen hier weitere Dienste wie z.B. aws amazon oder auch transloadit zum Einsatz. Zum Schluss der Präsentation hat Heike Ritter auch Einsatz der Windows Azure Media Services genannt. Nun war erstmal an der Zeit für Pasta, Coke und Kaffee :-)

Den zweiten Teil der Tages habe ich mit "denzman - DocAve 6 Extrem" gestartet, in der Hoffnung, dass Michael wie am Morgen versprochen die Hosen runterlässt ;-). Michael hat die Hosen runtergelassen, jedoch nur im Zusammenhang mit der neuen Version von DocAve 6 zum Glück aller Teilnehmer :-). Es wurden die Funktionalitäten des Produktes aufgezeigt und an einigen kurzen Beispielen und Konfigurationseinstellungen aufgezeigt. Das Produkt macht einen guten Eindruck. Die Möglichkeiten sind breit gefächert und für einen Einsatz müssen die Anforderungen natürlich vorhanden sein.

Die nächste Session war eines meiner persönliches Highlights des diesjährigen ShareCamp. Ob es nun an Intranet-Babett oder der wirklich gelungenen Präsentation zum Thema "Stell dir vor, es gibt ein Intranet und keiner macht mit! Lust auf erfolgreichere Sharepoint-Projekte?" von Steffi Gröscho lag? Es wurde über Fehler und Lösungen im Umgang mit dem Intranet diskutiert. Welche Rollen tätigen welche Fehler, wieso wird das Intranet nicht genutzt? Mehr als 50% der Intranets werden nach 6 Monaten nicht mehr genutzt, eine erstaunlich große Zahl! Im Anschluss hat Steffi anhand der Beispiele mit Intranet-Babett Anregungen, Lösungsvorschläge und für mich jede Menge Inspirationen geboten. Vielen Dank dafür!

Der nächste von mir besuchte Beitrag handelte um das Thema "InfoPath " und wurde von Daniel Mettler gehalten. Er hat aus einem Kundenprojekt berichtet und den Umgang mit Regeln, Ansichten und Konfigurationsdateien gezeigt.

Das war die letzte Session, die ich am Tag 1 besucht habe, obwohl noch ein weiterer Track anstand. Ich habe mich jedoch zu diesem Zeitpunkt etwas ermüdet von der Welcome Party am Vorabend gefühlt und den Abend bei einem weiteren Bier ausklingen lassen ;-)

Der 2. Tag fing mit dem nächste Highlight an und zwar hat Patrick Heyde von Microsoft das Thema "SharePoint Debugging - Die schwarze Magie von Microsoft" beleuchtet. Eine höchst interessante Geschichte und vorallem kann es in manchen Situationen zum Lebensretter werden. Debugging ohne Visual Studio und für jedermann, Beschäftigung mit den Tools vorausgesetzt. Patrick hat das Ganze hervorragend erklärt und an einem Beispiel aufgezeigt, wo wir letztendlich den Fehler im Code (Sleep = 2000) gefunden haben. Requests absetzen, Dump erstellen, Analysieren und schwups war der Fehler gefunden. Es sah sehr einfach aus. Ich gehe jedoch mal aus, dass man sich ausgiebig mit den Tools beschäftigen muss, um auch in dieser Zeit zum Ergebnis zukommen.

Dann gab es einen Beitrag von Martina Grom zum Thema "Office 365 Hybrid oder doch Cloud". Für mich eine sehr interessante und gelungene Präsentation, wir haben die 60 Minuten auf 80 Minuten ausgedehnt, aber hätten auch gerne noch weitere Minuten anhängen können. Martina hat die Unterschiede und Anforderungen von Office 365 in vielen Variationen aufgezeigt und Tipps und Tricks aufgezeigt. Ich nutze für mich derzeit auch ein Office 365, aber es wird Zeit, dass auch entsprechende Projekte im diesem Bereich anstehen. Es wird Zeit, dass ich mich hier tiefer mit beschäftigen werde.

Nachdem es gestern Pasta gab, durfte heute die Pizza natürlich nicht fehlen :-)

Die letzten 2 Sessions standen nun noch auf dem Programm. In einer kleinen Runde mit Thomas Tuttenuj, Andreas Knauer, André Stalter und einer weiteren Person (der Name ist mir leider entgangen) haben wir uns dem Thema "SharePoint - Breite oder Tiefe" gewidmet. Wir haben diskutiert, ob es Sinn macht WebApplication oder auch SiteCollections in der Breite oder in der Tiefe aufzubauen. Wir haben mögliche Szenarien durchleuchtet, Abgrenzungen auf den einzelnen Ebenen (z.B. MySites, Navigation auf WebApplication-Ebene oder Restore einzelnen Datenbanken auf SiteCollection-Ebene) diskutiert. Wir sind jedoch zu dem Entschluss gekommen, dass es auf die Anforderungen ankommt und man in der Regel Abgrenzungen akzeptieren muss. Es gibt keine eindeutige Vorgehensweise.

Jetzt ging es mit hohen Erwartungen in die "K2 Forms" Session, die eigentlich von Marek gehalten werden sollte, der jedoch leider nicht erscheinen konnte. Jürgen hatte jedoch einen Ersatz besorgt und über Skype und Video noch eine Session organisiert. Da ich viel mit Nintex arbeite war ich natürlich sehr interessiert, wie K2 sich dem Thema der Prozess- und Formsabbildungen annimmt. Es war ein interessanter Beitrag. Bewertungen werde ich hier aber nicht vornehmen :-)

Dann mal weiterhin viel Spass beim ShareCampen :-)
Patrick



Dienstag, 7. Februar 2012

Claims Based Authentication to Classic Mode Authentication

Ich habe mich dieser Tage damit beschäftigen müssen die Authentifizierung einer SharePoint-Webanwendung umzustellen. Ich werde mich hier nicht weiter um die Beschreibung der Authentifizierungsmethoden kümmern, das wurde auf blogs.msdn.com von Russ Maxwell bereits erfolgreich und verständlich getan.

Ich habe nun das folgende Szenario:
Es läuft eine Webanwendung mit der Claims-Based-Authentication Methode. Diese Webanwendung muss auf Classic Mode Authentifizierung umgestellt werden. Zuerst ändern wir die Webanwendung einfach von Claims Based auf Classic Mode. Da wir hier nicht die Möglichkeit haben die Änderungen über die UI zu machen greifen wir auf die wunderbaren SharePoint-2010 cmdlets zurück ;-)

$web = Get-SPWebApplication http://MyWebApplication
$web.UseClaimsAuthentication = 0
$web.Update()
$web.ProvisionGlobally()

Nun überprüfen wir noch, ob die Änderungen auch gegriffen haben:

$web = Get-SPWebApplication http://MyWebApplication
$web.UseClaimsAuthentication

Als Ergebnis wird uns ein "false" zurückgeliefert, also die Webanwendung läuft jetzt wieder unter Classic Mode Authentifizierung. Als Benutzer erhält man nun einen "Access denied", Grund dafür sind die Claims der Benutzer (wir werden nicht als gültiger Benutzer authentifiziert), diese müssen nun noch entfernt/rückgängig gemacht werden.
Wenn man sich dann mal die verfügbaren Methoden zum Migrieren der Benutzer ansieht (msdn.microsoft.com) sollte es doch recht einfach sein. Wenn es jedoch wirklich so einfach wäre, dann müsste ich hier nicht weiter darauf eingehen :-)

Wenn wir den folgenden Befehl ausführen:

$web = Get-SPWebApplication http://MyWebApplication
$web.MigrateUser($false)

erhalten wir die folgende Fehlermeldung:



Hier haben wir dann auch das eigentliche Problem. Nach einigen Recherchen wurde ich dann auch fündig und scheinbar ist das Zurücksetzen von Claims Based auf Classic Mode derzeit noch nicht unterstützt. Aber bei meinen Recherchen sind mir dann ein paar Ideen gekommen, die mich zu dem folgenden Entschluss kommen ließen (Ich habe das Ganze zunächst natürlich in einer Stage-Umgebung getestet):

  1. Backup der WebApplication (Worst Case)
  2. Backup der Inhaltsdatenbank/en
  3. WebApplication löschen (nur die IIS-Site => auf der bestehenden Webanwendung konnte ich das unten folgende PowerShell Script nicht erfolgreich ausführen)
  4. WebApplication neu anlegen
  5. Eventuell vorhandene AAM's neu setzen
  6. Mounten der Inhaltsdatenbank/en
  7. Zurücksetzen der Site-Collection-Administratoren (haben noch den Claim)
  8. Folgendes PowerShell-Script ausführen (Farm-Administrator Account)

function GetClaimBasedUserName($user)
{
    $username = ''
    try
    {
        if ($user.IsDomainGroup)
        {
            if ($user.LoginName.StartsWith('c:0+.w|'))
            {
                $username = $user.LoginName.Substring(7)
            }
        }
        else
        {
            if ($user.LoginName.StartsWith('i:0#.w|'))
            {
                $username = $user.LoginName.Substring(7)
            }
        }
    }
    catch [Net.WebException]
{
$WebExceptionMessage = $_.Exception.Message
Write-Host $WebExceptionMessage
    }
    return $username
}

$site = Get-SPSite 'http://portal.test.com'
$web = $site.RootWeb

foreach ($user in $web.AllUsers)
{
  $username = GetClaimBasedUserName($user)
if (!$username.Equals(""))
                {
                    write-host "Migrating..."
                    try
                    {
$farm = Get-SPFarm
$farm.MigrateUserAccount($user.LoginName, $username, $false)
write-host 'Done'
                    }
                    catch [Net.WebException]
{
$WebExceptionMessage = $_.Exception.Message
Write-Host $WebExceptionMessage
}
                }
}


Ich wünsche dann mal viel Spaß beim Umstellen der Claims Based Authentication.

Viele Grüße
Patrick