Thursday, October 20, 2016

Microsoft Sharepoint Designer Team Blog

Training Site Template - Teil 1: Einführung Hallo Leute, Sean Gabriel hier. Ich bin ein Programm-Manager für den Sharepoint Designer-Team, und ich arbeite in erster Linie auf unsere Anwendung Bauerfahrung. Ich bin auf jeden Fall gespannt auf mein Wissen hier - so, wenn Sie Themen in der App Gebäudeflächen, die Sie möchten, um in diesem Blog abgedeckt sehen, zögern Sie nicht zu fragen. Sie können die Anwendungsvorlagen für Windows Sharepoint Services 3.0 gehört. eine Reihe von kürzlich veröffentlichten Sharepoint-Website-Vorlagen, die entworfen sind, um 40 gemeinsame Kundenszenarien zu lösen. Ich hatte das Vergnügen, den Aufbau einer dieser Vorlagen selbst, und ich möchte Ihnen zeigen, wie man es zu tun mit Sharepoint Designer 2007 - von Anfang bis Ende! Die Vorlage werde ich diskutieren, ist Mitarbeiterschulung Scheduling und Materialien. Der beste Weg, um es zu verstehen ist, es zu downloaden und zu versuchen Sie es selbst, aber hier ist ein kurzer Überblick über, wie es funktioniert: Zwei Arten von Nutzer die Website, Dozenten und Studenten (Lernende) zu besuchen. Wenn ein Lehrer hat eine Klasse zu unterrichten, er / sie es in die Lehrveranstaltungen Liste hinzufügt, und geben Dinge wie das Datum, Ort und Anzahl der verfügbaren Plätze. Die Schüler können dann durch die Liste der kommenden Kurse durchsuchen und melden Sie sich für alles, was sie interessiert sind - und die App verfolgt die Registrierungsliste, erinnert Benutzer, wenn eine Klasse wird in Kürze beginnen, und sammelt Feedback der Studenten nach dem Unterricht vorbei ist. Auf einen Blick können beide Studenten und Dozenten einen persönlichen Dashboard ihres Trainings auf der Homepage der Website anzuzeigen. Diese Verhaltensweisen werden durch den Einsatz von Workflow und einigen spezialisierten Instanzen des Data Form Webpart (DFWP) erreicht. Hier ist der Kampf Plan, wie wir bauen die App: Gestalten Sie die Schlüssellisten - Kurse, Zulassungen etc. Fügen Sie Sign-up und Erinnerungslogik mit Workflow - Override Standardliste Ansichten und Formulare zur App Verhalten steuern Erstellen Sie Dashboard-Seite mit aggregierten Blick auf mehrere Listen Für die meisten dieser Elemente werden wir in der Verwendung von SPD, aber die erste Kugel ist etwas, was wir über den Browser für jetzt tun müssen. Lassen Sie uns also die heutige gehen Sie durch die Liste Design, uns für den Aufbau der DFWPs nächste Mal einrichten. Liste Schema Design Wenn Sie suchen, um "Alle Websiteinhalte" auf der Trainingsseite, werden Sie die folgende Liste von Listen finden Sie unter: Das Herzstück dieser App ist die Lehrveranstaltungen Liste. Ein Kurs ist ein viel wie einen Termin -, die einen Titel, Ort, Beginn und Ende Zeit, etc. hat - so ein großartiger Ort zu beginnen ist mit der eingebauten Kalenderliste. Auf Ihrer leeren Sharepoint-Website (Sie folgenden sind zusammen, nicht wahr?) Wie folgt vor: Klicken Sie auf Websiteaktionen & gt; Schaffen Wählen Sie Kalender unter dem Tracking-Säule Nennen Sie es "Kurse" und geben Sie eine Beschreibung Sharepoint hat sich um die uns der Kalender-Ansicht, wie, die Sie in dem Ausbildungszentrum siehe unter "Die nächsten Kurse" übernommen (Nebenbemerkung: und dies funktioniert, weil Kurse werden nun mit Hilfe der Kalender-Inhaltstyp). Aber das Schema ist es noch Probleme. Lassen Sie uns passen unsere neue Liste in der Umgebung von Kursen speziell - ja, aus der Kalenderansicht, wo Sie sind jetzt: Klicken Sie auf Einstellungen & gt; Listeneinstellungen Klicken Sie auf Erstellen Spalte für jeden Einzelposten unterhalb ein, und füllen Sie das folgende Info (Standardwerte verwenden sofern nicht anders angegeben): "Lehrer". Person oder Gruppe. Ok "Gefüllt Seats". Anzahl. Ja, um Erforderlich. Min 0 Dezimalstellen 0 Default 0. Ok "Gesamtplätze". Anzahl. Ja, um Erforderlich. Min 0 Dezimalstellen 0 Default 0. Ok Klicken Sie auf die Namen der einzelnen vorhandenen Spalte und ändern Sie es wie folgt angegeben: Titel . Benennen Sie auf "Kurstitel". Nein zur erforderlich. Ok Beschreibung . Benennen Sie auf "Kursbeschreibung". Ok Jetzt sind unsere Kurse Liste hat einen Lehrer mit ihm verbunden, und Platzhalter für die Berechnung der Anzahl der verfügbaren Plätze in der Klasse (die wir zu einem späteren Zeitpunkt zu bekommen). Noch nicht über die Ansichten in dieser Liste Sorge, wir über jene beim nächsten Mal so gut läuft werden. Da ging ich Sie durch die Kurse Liste im Detail Ich werde Ihnen vertrauen, um schnell durch den Rest der Liste folgen. Als nächstes ist Kursmaterialien, die keine Unterlagen zu den Kursen im Zusammenhang halten wird. Klingt wie eine Dokumentbibliothek Werke, aber jeder doc einen Zeiger müssen wieder in die Lehrveranstaltungen Liste, so dass wir wissen, welche natürlich ist es mit verbunden. Hier ist, wie es geht: Klicken Sie auf Websiteaktionen & gt; Schaffen . Document Library Nennen Sie es "Kursunterlagen" und suppy eine Beschreibung, verwendeten wir "Microsoft Office Powerpoint-Präsentation" als doc-Vorlage Klicken Sie auf Einstellungen & gt; Dokumentbibliothekseinstellungen In der Spalte "Course". Sieh nach oben. Ja, um Erforderlich. Hier erhalten Sie Informationen aus Lehrveranstaltungen. In dieser Spalte Kurstitel. Ok Außerdem wollen wir natürlich Feedback von Studenten zu sammeln, nachdem sie die Klasse genommen haben. Hier können Sie so breit oder spezifische wie Sie wollen, aber das sind die Schritte für die Erstellung der Kurs Umfragen Liste, die Sie in dem Ausbildungszentrum heute sehen: Klicken Sie auf Websiteaktionen & gt; Schaffen . Benutzerdefinierte Liste Nennen Sie es "Course Surveys" und geben Sie eine Beschreibung Klicken Sie auf Einstellungen & gt; Listeneinstellungen Klicken Sie auf Titel. Benennen Sie den "One-Line-Bewertung". Nein zur erforderlich. Ok In der Spalte "gründliche Überprüfung". Mehrere Textzeilen. Ok In der Spalte "Course". Sieh nach oben. Ja, um Erforderlich. Hier erhalten Sie Informationen aus Lehrveranstaltungen. In dieser Spalte Kurstitel. Ok So fügen Sie die folgenden 3 Spalten. Wahl. Ja, um Erforderlich. Versorgungs Auswahl *. Radio-Buttons. Leer Standard. Ok "Wirksamkeit des Lehrers" "Nutzen der Kursunterlagen" "Zufriedenheit mit dem Kurs" * = Füllen Sie die Antworten auf die Umfrage, können Sie sie auf dem Bild auf der rechten Seite (oder versuchen Sie, ein neues Element Course Surveys in der Vorlage). Darüber hinaus müssen wir die Spur von Registrierungen für jeden Kurs zu halten, und während es gibt viele Wege, dies zu tun, das Modell, das wir für diese Vorlage verwendet wurde, war eine separate Liste: zu wesentlichen Geschäften (Name, Kurs) Paaren. Wir werden die Sitzbedarf sowohl in den Front-End-Ansichten durchzusetzen und Back-End-Workflow. So jetzt, legen den Grundstein mit dieser Anmeldungen Liste: Klicken Sie auf Websiteaktionen & gt; Schaffen . Benutzerdefinierte Liste Nennen Sie es "Anmeldungen", und liefern eine Beschreibung Klicken Sie auf Einstellungen & gt; Listeneinstellungen Klicken Sie auf Titel. Nein zur erforderlich. Ok In der Spalte "Kurs-ID". Sieh nach oben. Ja, um Erforderlich. Hier erhalten Sie Informationen aus Lehrveranstaltungen. In dieser Spalte Kurs-ID. Ok Jetzt tun genau dasselbe in die Vergangenheit Anmeldungen Liste zu erstellen (aber ändern Sie den Namen, natürlich). Von hier aus können die (optional) Ankündigungen zu erstellen und Links-Listen, die Sie im Site-Aktionen & gt finden werden; Erstellen Sie unter Kommunikation und Tracking-Säulen auf. Gut gemacht! Sie haben nun 7 Listen, die alle Daten in der Mitarbeiterschulung Scheduling und Materialien vor Ort unterzubringen. Die 8. Liste (Aufgaben) wird auf dem Weg kurz sein, da beim nächsten Mal werde ich Ihnen zeigen, wie Sie die Arbeitsabläufe für die Registrierung und Erinnerungen ich bereits erwähnt erstellen. Das ist der Schlüssel, um die Bereitstellung vielfältiger Anwendungslogik hinter unserem Sharepoint-Website hier. Bis dann - Training Site Template - Teil 2: Workflows Hallo, Es ist Sean wieder mit einer anderen Rate des Template-Entwicklung Komplettlösung. Zuletzt legten wir die Liste Schema für die Mitarbeiterschulung Scheduling und Materialien Vorlage, einem der neuen Anwendungsvorlagen für Windows Sharepoint Services 3.0. In dieser Serie zeige ich Ihnen, wie wir bauten eine dieser Vorlagen von Grund auf, und heute werden wir alle Arbeitsabläufe der Ausbildungs ​​Website mithilfe von Sharepoint Designer Autor. Wenn das getan ist, werden Sie das ganze Back-End der Vorlage erstellt haben, so in einer zukünftigen Raten wir uns die Hände schmutzig mit Sharepoint-Ansichten und Formulare bekommen. Öffnen Sie eine neue Installation des Ausbildungszentrums in SPD und Sie werden die Ordner-Liste auf dem Bild rechts zu sehen - mit den drei Workflows Sie erstellen werden heute in der Workflow Designer. Sie werden einige der reichen Verhalten, die Sie nicht in einem statischen Web-App finden Sie liefern, und Sie nicht brauchen, um Code schreiben, um es getan. Lasst uns anfangen! Automatische Erinnerungen Die Menschen sind vergesslich. Computer sind nicht. Also, wenn ein Lehrer kommt zu Ihrem Ausbildungszentrum, um einen Kurs zu erstellen, warum sollten sie haben sich daran zu erinnern, als es ist? Das ist, wo Sie in diesen Workflow, die wir auf der Kurse Liste setzen können kommen: In SPD, gehen Sie zu Datei & gt; New & gt; Arbeitsablauf. Nennen Sie es "Instructor Erinnerung" und fügen Sie es in die Sharepoint-Liste "Kurse" Markieren Sie das Kästchen, um dieses Workflow automatisch gestartet, wenn ein neues Element erstellt Klicken Sie auf Weiter & gt; fortsetzen Von hier aus werden Sie wollen 3 Schritte, die logisch unseren Workflow zu trennen wird in Gruppen von ähnlichen Aktionen zu erstellen. Klicken Sie auf Hinzufügen Workflow-Schritt auf dem Weg zu den nächsten Schritt, und in jedem Fall, wenn Sie die aufgeführten spezifischen Aktions nicht sehen, klicken Sie auf die Schaltfläche Aktionen & gt; Mehr Aktionen. um die vollständige Liste zu sehen. Darüber hinaus bin ich mit [Klammern] zu dem, was Sie in jedem Platzhalter tun müssen, beziehen. Also, bevor Sie beginnen, zunächst zwei Variablen zu erstellen (klicken Sie auf Variablen & gt;.. Fügen Sie sie zu machen), sogenannte "Reminder Time" (Datum / Uhrzeit) und sogenannte "Subject" (String). Sie werden sie brauchen, wenn Sie zu den einzelnen Schritten erhalten: Erster Schritt: nennen Sie es "Set Erinnerungszeit" Keine Bedingungen Aktionen & gt; In Time to Date - In -24 Stunden [fx. Aktuelle Artikel, Startzeit] (Ausgabe in Variable: Reminder Time) Aktionen & gt; Erstellen Sie dynamische String - Shop "RE: [fx Aktuelle Artikel, Kurstitel.]" In Variable: Betreff Zweiter Schritt: nennen Sie es "Bestätigung senden" Keine Bedingungen Aktionen & gt; Senden Sie eine E-Mail - E-Mail [. ] Um: Workflow-Lookup. . Aktuelle Artikel, Ausbilder Betreff: fx. Aktuelle Artikel, Veranstaltungstitel Körper: Dies ist eine Bestätigung, dass Sie geplant sind, zu lehren [Hinzufügen Lookup, um Körper. Aktuelle Artikel, Kurstitel] unter [Lookup In den Körper. Aktuelle Artikel, Startzeit] auf [Lookup In den Körper. Aktuelle Artikel, Gebiet]. Für weitere Informationen, besuchen Sie bitte die Ausbildung vor Ort. Dritter Schritt: dem Namen "Erinnerung senden zu Kurs" AGB & gt; Vergleichen Kurse Feld - Wenn Erstellt weniger als [fx ist. Workflow-Daten, Variable: Reminder Time] Aktionen & gt; Pause Bis Datum - Pause, bis [fx. Workflow-Daten, Variable: Reminder Time] Aktionen & gt; Senden Sie eine E-Mail - E-Mail [. ] Zu: wie oben Betreff: fx. Workflow-Daten, Variable: Betreff Körper: Dies ist eine Erinnerung, die Sie geplant sind, zu lehren [Hinzufügen Lookup, um Körper. Aktuelle Artikel, Kurstitel] unter [Lookup In den Körper. Aktuelle Artikel, Startzeit] auf [Lookup In den Körper. Aktuelle Artikel, Ort] in 24 Stunden. Für weitere Informationen, besuchen Sie bitte die Ausbildung vor Ort. Klicken Sie auf Fertig Sinn ergeben? Wir schicken zwei Mahnungen für alle, die ein neues Element in die Lehrveranstaltungen Liste hinzufügt (dh ein Lehrer Schaffung eines natürlich) - ein Recht, wenn sie es als eine Bestätigung, und weitere 24 Stunden vor dem Kurs ist geplant. Und der erste Schritt war, um die variable Zuordnung getrennt zu halten, es ist nichts falsch mit, es zu tun in den anderen Schritten rechts bevor sie verwendet werden. Wir wollen eine ähnliche Erinnerung für Studenten zu tun, aber wir können es zur gleichen Zeit, die wir durchsetzen Sitzpolitik (jedes Element in Kurse einen verfügbaren Sitze und Gesamtplätze), da es nur tun, wirklich Sinn macht, um Erinnerungen, wenn Sie senden tatsächlich machen es zu einem Kurs. Verarbeitungsstudenten Anmeldungen Wenn Sie versuchen, einen neuen Kurs, indem Sie zu Kurse & gt hinzuzufügen; Neu. Du diese Zeile in der neuen Form zu sehen: Und Sie werden auch feststellen, dass es gibt keine Zeile für die Sitzplatzkapazität oder gefüllte Sitze, auch wenn wir diese Felder hinzugefügt, um die Kurse Schema in Teil eins. Ich werde Ihnen den Trick beibringen, Formularelemente beim nächsten Mal zu verstecken, was wichtig ist, jetzt hier ist, dass 0 werden unser Wachposten Wert im Workflow zu kommen. Lassen Sie uns durch diesen einen gehen ein wenig schneller, indem Sie einige Kurzschrift. . bedeutet, beziehe ich mich auf einen String (wahrscheinlich für lange automatisch generierte E-Mails), die Sie den vollständigen Text für die durch Öffnen Teilnehmer registration. xoml in SPD finden. Kurse * bedeutet, dass Sie eine Lookup wieder in den Lehrveranstaltungen Liste durchzuführen. Um dies zu tun, starten Sie durch Drücken fx und holen Quelle: Kurse, an welcher Stelle Sie werden sehen, das "Hier finden Sie die Liste Item" Sektion erscheinen. In diesem Abschnitt Abgleichsfeld: Kurse: ID to Value: Anmeldungen: Kurs-ID (verwenden Sie die in der Nähe von fx Aktuelle Artikel, Kurs-ID.). Variable: = nichts mit einem führenden Variable: vor ihm ist ein Workflow-Variable, die in fx gefunden werden kann. Workflow-Daten. Beginnen Sie mit einem neuen Workflow als "Teilnehmer-Registrierung", um Anmeldungen angebracht ist und ausgelöst wird, wenn ein Element erstellt. Create 7 Variablen, bevor Sie beginnen, 4 vom Typ String (Betreff, Bestätigung Körper, Erinnerung Körper, Erinnerung Körper 2), 2 Datum / Uhrzeit (Erinnerungszeit, Erinnerungszeit 2), 1 Anzahl (New Gefüllt Sitze). Von dort zu bauen, die Schritte: "Cache alle Variablen" Keine Bedingungen Aktionen & gt; Erstellen Sie dynamische String (x4) Geschäft . in Variable: Bestätigungsstelle Geschäft . in Variable: Reminder Körper Geschäft . in Variable: Reminder Körper 2 Geschäft . in Variable: Betreff "Erzwingen Sitzpolitik" AGB & gt; Vergleichen Sie alle Datenquellen (x2) Wenn [fx. Kurse *, Gesamtplätze] gleich 0 oder [fx. Kurse *, Gefüllt Sitze] weniger als [fx. Kurse *, Gesamtplätze] Aktionen & gt; Stellen Sie Workflow-Variable (x2) Variable setzen: Reminder Time to [fx. Kurse *, Startzeit] Variable setzen: Erinnerungszeit 2 bis [fx. Kurse *, Endzeit] Aktionen & gt; Haben Berechnung - Berechnen Sie [fx. Kurse *, Gefüllt Sitze] plus 1 (Ausgabe auf Variable: New Gefüllt Sitze) Aktionen & gt; Update List Item Liste: Kurse * Hinzufügen. . Set Gefüllt Sitze zu Variabel: New Filled Sitze Klicken Sie auf Hinzufügen 'Else If' Bedingte Verzweigung Keine Bedingungen Aktionen & gt; Eintrag löschen - Los Löschen in Anmeldungen (Aktueller Artikel) Aktionen & gt; Stopp-Workflow - Beenden Sie den Workflow und melden "Kurs ist bereits voll." "Set Erinnerungszeit" Keine Bedingungen Aktionen & gt; In Time to Date - In -24 Stunden bis Variable: Reminder Time (Ausgabe in Variable: Reminder Time) "Send confirmation" Keine Bedingungen Aktionen & gt; Senden Sie eine E-Mail - E-Mail. "Erinnerung senden zu Kurs" AGB & gt; Vergleichen Anmeldungen Feld - Wenn Erstellt weniger als Variable: Erinnerungszeit Aktionen & gt; Pause Bis Datum - Pause, bis Variable: Erinnerungszeit Aktionen & gt; Senden Sie eine E-Mail - E-Mail. "Erinnerung senden Feedback" AGB & gt; Vergleichen Anmeldungen Feld - Wenn Erstellt weniger als Variable: Reminder Time 2 Aktionen & gt; Pause Bis Datum - Pause, bis Variable: Reminder Time 2 Aktionen & gt; Senden Sie eine E-Mail - E-Mail. "Move to Historische Anmeldungen" Keine Bedingungen Aktionen & gt; Copy List Item - Artikel kopieren in Anmeldungen (Aktueller Artikel), um Vergangenheit Anmeldungen Aktionen & gt; Eintrag löschen - Los Löschen in Anmeldungen (Aktueller Artikel) Huch, ich weiß. Aber zum Glück das war so schlimm, wie es nur geht. Hier ist eine kurze Erklärung - ein Schüler für einen Kurs anmelden, aber sie werden nicht in zu bekommen sofort (technisch, bekommen sie in, aber können sie rausgeschmissen sofort, wenn die Sitz Logik versagt werden). Nachdem Sie alle Variablen, die wir überprüfen, ob Gesamtplätze 0 (unbegrenzt) oder größer als Gefüllt Sitze (dh gibt es Raum im Verlauf?). Wenn nicht, vorzeitig abgebrochen wir (löschen / Stopp Schritt zwei), andernfalls wir die Mathematik, und fügen Sie 1, um den gefüllten Sitze, Erinnerungen senden, usw. Der letzte Schritt ist die Archivierung im Spiegelliste Frühere Registrierungen, etwas, das mehr werden wird offensichtlich zum Teil drei, wenn wir bauen das vordere Ende. A Dirty Workflow-Geheimnis Das ist alles schön und gut, aber was passiert, wenn jemand aus dem Kurs abmelden möchte? Wir müssen von der Anzahl der gefüllten Sitzplätze 1 subtrahieren, dann ihre Eintragung von Anmeldungen zu löschen, aber hier ist ein Problem - Workflow kann nicht ausgelöst zu laufen, bevor ein Element gelöscht werden. Also hier ist, wie wir fake it -. Seit Workflow ausführen können, wenn ein Element geändert wird, werden wir einen anderen Sentinel Wert für unsere Workflows zu interessieren einzurichten DELETE scheint ziemlich selbsterklärend, nicht wahr? (Beachten Sie, dass diese Problemumgehung hat einige schwerwiegende Folgen - wir müssen Artikel Deletion in Anmeldungen zu verstecken und blockieren alle Änderungen an unserem Bereich so dass der Benutzer nie löst den Sentinel Mach dir keine Sorgen, ich werde zu gegebener Zeit zu erklären..) Unsere letzte Workflow "Attendee Aufhebung der Registrierung" (in Ermangelung eines besseren Wortes), um Anmeldungen angebracht, ausgelöst, wenn ein Element geändert wird. Eine Variable, bevor Sie beginnen: einen String namens Log-Meldung. Nicht einmal wirklich notwendig, nur für die Nachwelt: "Heben Sie die Registrierung von Kurs" AGB & gt; Vergleichen Anmeldungen Feld - Wenn Titel gleich "LÖSCHEN" Aktionen & gt; Eintrag löschen - Los Löschen in Anmeldungen (Aktueller Artikel) Aktionen & gt; Erstellen Sie dynamische String - Store. in Variable: Log-Meldung Aktionen & gt; Stop-Workflow - Beenden Sie den Workflow und melden Sie Variable: Log-Meldung Und dort haben Sie es, dynamisches Verhalten, das eine lange Zeit, um in einem Blog-Post buchstabieren dauert, aber geht ein langer Weg in Richtung der Reichtum und die Robustheit der Sharepoint-App. Es ist uns genommen ein paar wichtige Design-Entscheidungen zu uns kommen, und so im dritten Teil werden wir erfahren, welche Folgen das für die Front-End-System, die von Sharepoint-Ansichten und Formulare angetrieben wird hält. Ich werde Ihnen dann sehen!


No comments:

Post a Comment