Office 365: in wenigen Klicks zur eigenen Website
Erstellt in Allgemein, Martina Grom, Office 365 von Martina Grom
SharePoint Online beinhaltet neben der Intranetverfügbarkeit auch eine sogenannte Public Facing Website. Heute zeige ich, wie wir diese schnell zur persönlichen Website machen und uns unsere eigene SharePointAdvent Seite bauen – ohne Code, ohne CSS Anpassungen.
Dazu gehen wir zuerst im Adminportal auf den Punkt Website bearbeiten:
Nun landen wir zuerst im backend, wo wir die Seiten unserer Website sehen. Standardmäßig sind hier bereits Startseite, Wir über uns, Kontakt und Sitemap angelegt.
Wenn wir die Startseite öffnen, sehen wir, dass es bereits vordefinierte Templates für die Public Facing Website gibt. Über einen Ribbon können wir die Seite verändern oder auch gleich Inhalte einfügen.
Für unser SharePoint Advent Layout habe ich den Banner des Blogs bereits vorbereitet. Diesen Banner lade ich über den Punkt Text / Logo in die Website und ändere dann auch gleich den Text der Website.
Als nächstes stelle ich das Farbschema um auf Pflaume:
Dann wird noch die gewünschte Bannerpositionierung gewählt.
Das im Design vorhandene Bild habe ich mit “kein Bild” aus unserem Layout entfernt.
Nun fülle ich unsere Website noch mit ein bisschen Text und Bildern. Und schon ist die eigene Website fertig, anzusehen hier.
JavaScripts in SharePoint Online richtig laden
Erstellt in Advanced, Christian Glessner, Developer, Office 365 von Christian Glessner
JavaScript erfreut sich wieder immer größerer Beliebtheit, nicht zuletzt durch den neuen HTML5 Hype. In SharePoint Online bietet JavaScript, insbesondere in Kombination mit dem ECMA Client Object Model, uns gute Möglichkeit Limitationen von Sandboxed Solutions zu überwinden. Aber wie registriere ich JavaScripts richtig in SharePoint Online?
Probleme
In ASP.NET wird oft der ClientScriptManager benutzt um JavaScripts im Code Behind auf der Page zu registrieren. Das funktioniert aber leider nicht in einer Sandboxed Solutions. Obwohl uns zwar das Page Objekt im Code Behind eines WebParts zur Verfügung steht, haben jedoch Änderungen an diesem keine Auswirkungen auf das echte Page Objekt in ASP.NET. Der Grund hierfür ist, dass der Code von Sandboxed Solution nicht im IIS läuft, sondern im User Code Service und der simuliert lediglich den ASP.NET Page Life Cycle.
In SharePoint 2010 gibt es sogar extra die .NET Klasse ScriptLink um JavaScripts zu registrieren. Aber auch diese funktioniert nicht in Sandboxed Solutions.
Lösungen
Eine sehr einfache, aber nicht unbedingt elegante Möglichkeit JavaScripts global auszurollen besteht darin, die Master Page anzupassen und das Skript dort zu registrieren. Auch die in SharePoint 2007 sehr beliebten Delegate Controls stehen uns in Sandboxed Solutions leider nicht zur Verfügung.
Eine andere Möglichkeit ist das Skript innerhalb der Render Methode eines Webparts manuell zu registrieren. Hierbei sollte man aber darauf achten, dass das Skript nicht mehrfach zu laden wenn mehrere Instanzen eines WebParts auf einer Seite laufen. Genau hierfür bietet SharePoint eine sehr nützliche JavaScript Klasse namens SP.SOD (SharePoint Scripts on Demand, leider schlecht dokumentiert). Die Aufgabe von SP.SOD ist es Skripte bei Bedarf dynamisch zu laden. SharePoint selbst nutzt SP.SOD sehr intensiv und lädt viele JavaScript erst bei Bedarf dynamisch. Das hat den Vorteil, dass die Seite dem Benutzer schneller angezeigt wird und dann erst die Funktionalität (JavaScript) nachgeladen wird. Vielleicht ist auch dem ein oder anderen schon mal aufgefallen, dass die Ribbon Buttons erst kurz nach dem Laden der Seite aktiviert werden. Auch die oben erwähnte .NET Klasse ScriptLink macht im Hintergrund nichts anderes als serverseitig clientseitige SP.SOD Aufrufe zu generieren. Glücklicherweise steht uns SP.SOD auch in Sandboxed Solutions zur Verfügung. Jetzt genug Theorie, hier ein Beispiel.
Beispiel
myscript.js
Myscript.js registriert den Namespace “ilsp.scripts” und eine einfache “sayHello” Methode. Der letzte Aufruf teilt SP.SOD mit, dass das Skript mit dem Key “myscript.js” geladen wurde und dass eventuell vorhandene Callback Funktionen die auf myscript.js warten jetzt aufgerufen werden können.
Nun registrieren wir myscript.js mit Hilfe einer Custom Action.
In SharePoint 2010 kann man Scripts via Custom Action registrieren. Hierzu kann man entweder wie oben das ScriptBlock Attribut nutzen oder das ScriptSrc Attribut. Nachteil von ScriptSrc ist, dass man keine externen Scripts laden kann. Das Script muss entweder im Layouts Ordner liegen (nicht möglich in Sandboxed Solutions!) oder innerhalb der SharePoint Site (kann über ein Modul bereitgestellt werden). Des Weiteren kann man die Scripts nicht “On Demand” laden. In SharePoint Online lade ich Script Libaries gerne aus dem Azure Blob Storage. Hierdurch kann das Script nachträglich leicht, zentral gewartet werden. RegisterSod lädt das Script nicht direkt sondern registriert es lediglich zum späteren laden, sofern benötigt.
Als nächstes Erstellen wir ein Sandboxed Visual Webpart.
In sayHelloClick wird durch LoadSodByKey das bereits registrierte myscript.js dynamisch geladen. Dynamisch geladen bedeutet, dass der entsprechende Script Tag dynamisch erstellt und zum HTML Head Element hinzugefügt wird. Die Callback Funktion im zweiten Parameter wird nur aufgerufen wenn das Script initial geladen wurden. ExecuteOrDelayUntilScriptLoaded wartet bis ein Script fertig geladen wurde (SP.SOD.notifyScriptLoadedAndExecuteWaitingJobs) und ruft dann die definierte Callback Methode auf.
Ablauf
Bei jedem Laden einer Seite wird myscript.js als SOD registriert aber noch nicht geladen (alert: Register SOD).
Erst wenn “Say Hello” zum ersten Mal geklickt wird, wird myscript.js geladen und dann ilsp.scripts.sayHello aufgerufen (alerts: Loading Scripts…; Notify Script Loaded; Hello Thorsten!).
Beim zweiten klick wird myscript.js nicht nocheinmal geladen, sondern nur noch ilsp.scripts.sayHello aufgerufen (alerts: Hello Martina!)
Hört sich verwirrend an? Ist es auch
(…weitere Details zu SP.SOD findet Ihr auch auf meinem Blog.)
Programmieren von Sandboxed Workflow Actions
Erstellt in Christian Glessner, Developer, Office 365, Workflow von Christian Glessner
Wir bleiben noch etwas im Sandkasten (in den Thorsten mittlerweile schon ein paar Löcher gebohrt hat ;) und werfen einen Blick Sandboxed Workflow Actions. Seit SharePoint 2007 besteht die Möglichkeit SharePoint um eigene Workflow Actions zu erweitern. Allerdings musste man die Actions Farm-weit zur Verfügung stellen. In SharePoint 2010 können wir jetzt auch Workflow Actions via Site Collection Feature bereitstellen. Dies gilt sowohl für Farm Solutions als auch für Sandboxed Solutions. Mit Hilfe einer Sandboxed Solution können wir custom Workflow Actions auch einfach in Office 365 bereitstellen. Die Programmierung einer Sandboxed Workflow Action funktioniert etwas anders als die einer Farm Solution. Im folgenden Post werde ich anhand einer “Create Site Action” zeigen wie man Sandboxed Workflow Actions selbst schreiben kann.
1. Neues leeres SharePoint Projekt in Visual Studio erstellen
2. Sandboxed Solution auswählen
3. Site Collection Feature anlegen (Workflow Actions sollten immer in ein eigenes Feature und nicht mit anderen Feature-Elementen vermischt werden. Es kannst sonst zu Problemen kommen=>Feature-Element-Gulasch)
4. Empty Element hinzufügen und das XML wie folgt bearbeiten:
SandboxedFunction=”true” teilt der Workflow Infrastructure mit, dass es sich um eine Sandboxed Action handelt. FunctioName verweist auf die entsprechende Methode in der Implementierung. Das Element RuleDesigner beschreibt die UI in SharePoint Designer und mapped UI Felder mit Hilfe des Field Attributes auf die Parameter. Die verfügbaren DesignerTypes findet man hier. Die Parameters Elemente binden die Parameter an die Parameter und den Rückgabewert der Methode der Implementierung.
5. Die Implementierung der Create Site Action
Der Name der Methode muss dem FunctionName Attribut des Element Manifest entsprechen (grün). Die Parameter der Methode entsprechen den Direction=”In” Parametern des Manifest (orange). Einzige Ausnahme ist der interne Parameter “___Context” bei dem die Unterstriche fehlen. Die Keys der Hashtable entsprechen den Direction=”Out” Parametern des Manifests (rot).
6. Sandboxed Solution hochladen in der Solution Gallery hochladen und das Site Collection Feature aktivieren
7. Workflow bauen
ENDE
Microsoft Virtual Academy
Erstellt in Daniel Wessels, Office 365, Training von Daniel Wessels
Hallo zusammen,
ich hoffe, Ihr hattet einen schönen 3. Advent.
Ich habe mich letzte Woche mit Heike Ritter (Blog, @HeikeRitter) von Microsoft getroffen und wir haben relativ spontan ein kurzes Interview zur Microsoft Virtual Academy aufgenommen.
[vimeo http://vimeo.com/33501314]
Die Aktion, die Heike nach der Demo anspricht, findet am Freitag, den 16.12. um 13:30 Uhr statt.
Die Adresse der Facebook-Fanpage lautet: https://www.facebook.com/WirsindTechNet.
Und damit wünsche ich euch eine schöne Woche und einen hoffentlich nicht zu stressigen Endspurt in Richtung Weihnachten.
Office 365: erste Schritte mit dem P-Plan, Tipps & Tricks zur Massenhinzufügung von Benutzern
Erstellt in Allgemein, Martina Grom, Office 365 von Martina Grom
Am heutigen 3ten Advent einmal eine kurze Vorstellung von Office 365 anhand des P-Plans. Bereits letzte Woche habe ich dazu eine Trial erstellt, die schnell eingerichtet ist. Eine Trial im P-Plan umfasst 10 User für 30 Tage, beim E-Plan sind es 25 User im E3-Plan, hier ist es sehr smart, da damit auch gleich Office professional plus mitgetestet werden kann.
Der P-Plan umfasst Exchange Online, Lync Online und SharePoint Online.
Gleich nach dem Login auf https://portal.microsoftonline.com finden wir uns – als User – auf der Startseite wieder und können hier gleich in die Outlook Web Apps einsteigen, den Lync Client installieren oder auf die Teamwebsite zugreifen.
Als Administrator sehen Sie in der Verwaltung gleich die am häufigsten verwendeten Befehle, z.B. Benutzerkennwörter zurück setzen.
Schnell einrichten eines Abos
Am schnellsten gehen Sie bei der Einrichtung eines neuen Abo’s so vor:
1. Domain hinzufügen und verifizieren.
Damit erhalten alle Benutzer auch gleich das korrekte Login mit der eigenen Domain. Für die Massenhinzufügung von Benutzeraccount können Sie sich eine CSV Datei direkt im Portal laden, ausfüllen und damit alle User sehr schnell hinzufügen.
Ich habe dazu die CSV Datei als Excel Datei gespeichert und fülle dort die Felder aus.
Anzeigename und Benutzername habe ich hier noch nicht ausgefüllt, dies mache ich über eine Excel Formel, die ich kurz beschreiben möchte (alle Softwareentwickler sollen an dieser Stelle einfach zum Punkt: importieren weiterspringen). Ich verwende dazu in Spalte D, Zelle D3 folgende Formel:
=B3&” “&C3
Danach fülle ich die restlichen Spalten mit dem nach unten kopieren aus.
Wie schaut die gleiche Formel für das Feld Benutzername aus?
=B2&"."&C2&"@DOMAINNAME.com"
Mit dieser Vorlage können Sie sehr schnell User eintragen. Die Datei wird dann als CSV gespeichert. Dies öffne ich dann in einem Editor und ersetze mit Suchen und Ersetzen das Semikolon durch ein Komma.
Importieren der Benutzer
Nachdem nun alle User in der CSV Datei vorhanden sind, werden sie importiert.
Die Überprüfung hat ergeben, dass alles korrekt ist:
Nun die Region festlegen und Lizenzen zuweisen. Danach sind die User angelegt und die temporären Kennwörter werden erstellt.
Schon sind alle meine SharePoint Advent Kollegen angelegt.
Office 365: Kalender in Outlook einbinden
Erstellt in Martina Grom, Office 365 von Martina Grom
Mit Office 365 bietet sich eine super Gelegenheit in die Welt von SharePoint einzusteigen: keine eigene Installation eines Servers – sondern einfach mit ein paar wenigen Klicks, schon hat man sein eigenes SharePoint. Das möchte ich kurz herzeigen – anhand einer Trialversion von Office 365 – P-Plan. Der P-Plan ist geeignet für 1-25 User. Wer die Enterprise Features des E-Plans nicht benötigt, kann diesen verwenden.
Zunächst habe ich mich zu einer Trial angemeldet – die ist nach wenigen Minuten einsatzbereit.
Mit SharePoint Online steht dann ein Portal zur Verfügung, mit dem Dokumente ausgetauscht werden können, verschiedene User schnell miteinander arbeiten können, Dokumente von überall abrufbar sind und ich auch eine eigene kleine Website sofort einsetzen kann (mehr dazu in einem späteren Blogpost). Zusätzlich kann ich darüber auch Access Datenbanken zur Verfügung stellen – die eigene DVD Sammlung schnell online.
Jede Menge Platz gibt es im P-Plan auch: 10GB pro Abonnement, zusätzlich 500 MB / Benutzer. Fass Sie mit externen Usern zusammenarbeiten wollen – im P-Plan können Sie dazu maximal 50 externe Benutzer einladen.
Einen Kalender in SharePoint Online hinzufügen
Ein Kalender ist in SharePoint Online schnell hinzugefügt. Zuerst einmal die Seite bearbeiten:
Dann im Register bearbeiten auf “einfügen” klicken:
Mit Klick auf Kalender ist der Kalender schon eingefügt.
Dieser Kalender eignet sich hervorragend als Gruppenkalender und kann auch einfach in Outlook eingebunden werden. Der Vorteil ist dabei, dass er auch in Outlook immer mit SharePoint Online synchron ist und alle im Team immer die aktuellen Teamtermine abrufen können. Über Kalenderoptionen kann er mittels der Schaltfläche “Verbindung mit Outlook herstellen” mit Outlook verbunden werden.
Tipp: dies ist übrigens auch eine hervorragende Möglichkeit, Gruppenkalender, die bisher in öffentlichen Ordnern geführt wurden, in SharePoint Online abzubilden.
Der Kalender ist damit in Outlook eingebunden und kann dort ganz einfach verwendet werden!
Viel Erfolg mit den ersten Schritten in Office 365!