MRO Workflow Fallstudie mit MOSS, SPD, InfoPath & Web-services.

Übersicht

Dieser Eintrag beschreibt eine Fallstudie beschreibt eine tatsächliche MRO (Wartung, Reparatur und Operationen) Workflowgenehmigungsprozess implementiert in MOSS.

Dies ist kein offen technische Diskussion, aber stattdessen dazu dient, ein Real-World Beispiel, das veranschaulicht, wie die MOSS-Plattform erfüllt eine reale bieten müssen.

(Dieser Eintrag ist Kreuz und zwischen http://paulgalvin.spaces.live.com und http://blogs.conchango.com)

Hintergrund

MRO-der Client-Prozess hatte folgende geprägt

  • Manuelle Genehmigungsprozess.
  • Einige Unterstützung mit excel-Tabellen.
  • Unregelmäßige Genehmigungsprozess. Der selben MRO Kauf Genehmigungsprozess würde Tag zu Tag variieren., Person von person.
  • Viel Papier und handschriftliche Unterschriften — Bestellanforderungen Sie benötigt bis zu 3 schriftliche Unterschriften vor der endgültigen Genehmigung.

Die Ziele dieses Projektes enthalten:

  • Vollständige Automatisierung des Prozesses.
  • Unternehmen-Normen zur Genehmigung zu erzwingen.
  • Bereitstellen Sie konsolidierte Ansicht der MRO Einkauf zu verschiedenen Managern.
  • Detaillierten Audit trail.

Als Nebeneffekt der Lösung, schriftliche Unterschriften wurden nicht mehr benötigt.

Genehmigungsprozess

Der Genehmigungsprozess besteht aus vier "schwimmen Bahnen": Urheber, Direkten Vorgesetzten, Funktionalen Manager und Leiter der division.

Urheber:

Sieht die Notwendigkeit für den Kauf und startet den Prozess. Beachten Sie, dass der Urheber kann oder nicht wirklich die Bestellanforderung betreten kann, sondern Sie stattdessen direkt einen anderen Bediensteten zu tun. Einige Male, der Urheber muss nicht das technische Know-how der Bestellanforderung PO ausfüllen. Zum Beispiel, ein Benutzer kann möchte einen neuen Laptopcomputer zu requirieren, aber der beste Anbieter nicht kennt, IT-standards, usw.. In diesem Fall, die Urheber-arbeiten mit ihm und es tatsächlich füllt der Bestellanforderung.

Direkten Vorgesetzten:

Dies ist die direkten Vorgesetzten des Urhebers (die von der Person abweichen kann, tatsächlich die PO-Banf MOSS eingegangen). Direkte Manager müssen der PO-BANF genehmigen, bevor das System Zustimmung weiter auf der ganzen Linie sucht.

Funktionalen Manager:

Der funktionale Manager ist dafür verantwortlich, dass der geplante Kauf Unternehmen Standards im Rahmen eines bestimmten Unternehmens Funktion entspricht den einzelnen. Zum Beispiel, IT-Käufe werden durch funktionale IT-Manager genehmigt..

Bereichsleiter:

Bereichsleiter Bestellanforderungen streng durch Dollarbetrag genehmigen. Bereichsleiter genehmigen Bestellanforderungen eine konfigurierbare Dollarbetrag übersteigenden.

Die Lösung

Wir haben die folgenden Tools und Komponenten zur Implementierung der Lösung:

MOOS: Dient als Plattform, aus denen alles andere "hängt". MOSS bietet Fundament für Sicherheit, Stammdaten, Audittrails und andere Funktionen.

InfoPath Forms services: Eine MOSS-Komponente, Dies ermöglicht Benutzern, Bestellanforderungen über einen Webbrowser auszufüllen.

SharePoint Designer (SPD): Wir verwendet SPD, um den automatisierten Workflow-Prozess zu implementieren.

Web-Service: Ein c#-Webdienst verbessert die Benutzerfreundlichkeit durch kaskadierende Auswahl-Listen im InfoPath-Formular aktivieren und bietet eine bessere Leistung in Bezug auf das Filtern von Daten. Siehe Hier für eine technische Tieftauchen zu diesem Thema und unsere Gründe für die Verwendung.

Benutzerdefinierte Listen: MOSS-Benutzerprofile gemäß eines bestimmten Benutzers direkten Vorgesetzten, aber die meisten Daten nicht bieten konnte, die Entscheidungen der Workflow gesteuert (zB. ob Bereichsleiter erforderlich ist, um die PO-Banf genehmigen). Wir verwendet benutzerdefinierte Listen in eine "Enterprise-Daten" Website-Daten wie z. B. "Divisional Manager Genehmigung Dollar-Betrag", "Funktionelle Area Manager" und So weiter. Listen mit InfoPath sehr schön integriert und bieten auch erstellen/aktualisieren/löschen (CRUD) Funktionalität mit Überwachungs- und Out of the box.

Anwendungsfall

Dieser Anwendungsfall wird veranschaulicht, wie die Lösung zusammen hängen:

  1. Paul will einen neuen laptop. Er beschreibt seine Bedürfnisse, Vivek, ein IT-Mitarbeiter mit Firmen Laptop Normen vertraut, bevorzugte Lieferanten, usw..
  2. Vivek Protokolle in MOSS, greift auf das PO BANF-Formular und betritt die Bestellanforderung im Auftrag von Paul. Form aufgefordert eine Kauf-Kategorie, die dann die Webdienste verwendet, um eine Dropdown-Liste der Unternehmen genehmigte Anbieter füllen, Vivek. Vivek gibt auch den Firmen Funktionsbereich von diesem Kauf (zB. "ES" oder "Finance").
  3. SPD-basierten Workflow gestartet, Pauls direkten Vorgesetzten bestimmt und leitet die Anforderung an seinem manager, Stacy.
  4. Stacy billigt die Bestellanforderung.
  5. SPD Workflow prüft der Bestellanforderung und feststellt, dass es ist ein IT-Kauf. Es leitet den Workflow an der funktionale IT-manager, Wonson.
  6. Wonson billigt der Bestellanforderung.
  7. SPD Workflow wieder prüft der Bestellanforderung und feststellt, dass der Kaufbetrag einen Maxium Dollar-Betrag übersteigt und sie an die Bereichsleiter für die Zulassung leitet.
  8. Die Bereichsleiter genehmigt die Bestellanforderung.

Hinweise

  • Der Anwendungsfall zeigt eine "saubere" Führen Sie ohne Ablehnungen oder Sprünge.
  • Jede genehmigende Person hat die Fähigkeit, genehmigen oder ablehnen der Bestellanforderung sowie schriftliche Stellungnahmen. Diese werden im Audit-Trail protokolliert..
  • Lehnt ein Verantwortlicher Manager die Bestellanforderung zu einem beliebigen Zeitpunkt, die PO-Bestellanforderung ist "tot" und der Prozess muss von Anfang an gestartet werden.
  • Workflow benachrichtigt den Absender bei jedem Schritt des Prozesses.
  • Keine schriftlichen Unterschriften — der Client bestimmt (nach einigen kraftvollen Empfehlungen) dass das Audit-trail gemäß über Workflow-Historie, Ihre Überwachungsbedarf serviert.
  • Aufwand — Es dauerte etwa drei Mann Wochen diese Lösung implementieren.

Abschluss

Diese Lösung nutzt MOSS als Entwicklung und Laufzeit-Plattform. Der Client konnte nutzen Kern-MOSS-Funktionen um eine routinemäßige Geschäftsprozess zu automatisieren, der fast jeder Mitarbeiter im Unternehmen betroffen. Mit Ausnahme von einer einfachen Web-service (die wiederum nutzt MOSS), fast keine eigentliche "Programmierung" Es bedurfte.

Die Lösung dient auch als "Schaufenster" für den client, zeigen, wie verschiedene MOSS-Funktionen kann kombiniert werden, um ein voll ausgestattetes Business-Anwendung zu erstellen und generieren neue Beratungs-Möglichkeiten in der Zukunft.

Glossar

MRO: Wartung, Reparatur und Operationen. Diese Käufe beinhalten in der Regel Elemente wie Notizblöcke, Stühle, Personal Computer, Drucker, Handys und dergleichen.

Prüfung 70-542: Studie-Empfehlungen (Microsoft Office SharePoint Server 2007 – Anwendungsentwicklung)

UPDATE: In den Kommentaren, jemand diesen Link gepostet: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. Es sieht auch gut zu mir.

Ich ging heute die technische Prüfung von MOSS, berechtigt "Microsoft Office SharePoint Server 2007 – Application Development". Ich fand die Prüfung ziemlich streng sein und daß es sich ganz gut mit Microsofts abgestimmt Vorbereitungshandbuch.

Ich arbeite mit Moos auf einer täglichen Basis und es geht nichts über tatsächliche praktische Erfahrungen für alle diese Prüfungen.

Sagte, Ich nahm zur Kenntnis, was ich studieren war, als ich studierte. Ich glaube, dass all diese Ressourcen hilfreich sind, vor allem als Mittel zur Stärkung, praktische Erfahrung.

Betreff Link
Excel Services http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Suche Keine besondere Empfehlung. Ich hatte eine Klasse Suche Anfang dieses Jahres übernommen und Praxiserfahrung brachte mich durch. Arbeiten Sie mit "Suchcenter" Komponente des MOOSES.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Publikum http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Profile http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Content-Management http://www.sharepointblogs.com/tonstegeman/archive/2007/02/01/moss-custom-policies-part-1-creating-a-custom-information-management-policy.aspx

http://blogs.msdn.com/ecm/archive/2007/03/04/customize-the-page-editing-toolbar-in-moss-2007.aspx

http://msdn2.microsoft.com/en-us/library/aa674506.aspx

BI Praktische Arbeiten mit KPI in MOSS.
Workflow http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Info-mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variationen http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Records mgmt http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Viele dieser Verbindungen zu mehr Links geführt und ich ihnen folgen bis zu über tendenziell 3 Ebenen tief.

Ich würde nicht sagen, dass alles, was ich direkt lesen auf die Prüfung angewendet, aber ich bereue nicht, nichts davon zu lesen und selbst wenn einige Bits waren nicht direkt relevant. Es ist alles gut zu wissen, und ich empfehle das Material für alle angehenden abgerundetes MOSS Entwickler.

MOSS/WSS-Suchergebnisse (und ' DataViews '): die unformatierten XML-Daten anzeigen

Dies ist offensichtlich für viele möglicherweise, aber Weile Studium für meine Programmierung MOSS-Prüfung, Ich habe gelernt, dass es ziemlich einfach, die eigentliche XML von eine Suchanfrage über die Benutzeroberfläche zu erhalten.

Eine schnelle Methode ist wie folgt:

  • Zugriff auf Erweiterte Suche.
  • Führen Sie eine Suche, die einige Daten zurückgibt.
  • Die Seite bearbeiten (über Websiteeinstellungen).
  • Ändern Sie die XSL-Datei folgt:

<?XML Version="1.0" Codierung="UTF-8"?>
<
XSL:Stylesheet Version="1.0" xmlns:XSL="http://www.w3.org/1999/XSL/Transform">
<
XSL:Ausgabe Methode="XML" Version="1.0" Codierung="UTF-8" Gedankenstrich="Ja"/>
<
XSL:Vorlage Spiel="/">
<
Pre>
<
XSL:Kopie von Wählen Sie="*"/>
</
Pre>
</
XSL:Vorlage>
</
XSL:Stylesheet>

  • Hit gelten.
  • Quelltext im Browser anzeigen.

Beachten Sie, dass die <Pre> Tag tut nicht viel außer dienen als Marker bequem Wenn Sie die Ergebnisse anzeigen.

Dieser Trick kann sehr hilfreich sein, beim Arbeiten mit verwalteten Eigenschaften und Anpassung suchen. Es wird einer endgültigen Liste der XML zur Verfügung, damit Sie in Ihrem Xslt verwenden, die sehr hilfreich gewesen wäre die letzte bieten 25 Mal habe ich einige angepasste Suchergebnisse.

Dies sollte für Dataviews sowie arbeiten, Wenn ich das so noch nicht getestet.

Keine CQWP für WSS? Versuchen Sie dieses…

Ich sehe, dass Eric Kraus eine Forderung, die normalerweise mit einem Webpart für Inhaltsabfragen erfüllt angesichts. Das problem? Er war in einer reinen WSS-Umgebung kein Zugriff auf die CQWP. Anstatt in die fetale Position Eisstockschießen (den Drang habe, jeden Tag zu kämpfen, Es scheint), Er kam mit Lösung, die mindestens WSS Geschäfte eine reelle Chance zum Erfolg bietet. Es wird beschrieben Hier.

Brillante und detaillierte Ansicht des Content-Management-API

Stefan Goßner hat eine tolle Serie in 4 Teilen auf die SharePoint-Inhalte und Bereitstellung API zusammengestellt Hier. Es bietet einen großen Überblick und sehr gute Beispiele im code (C#).

Ich nahm zuerst diesen Link von Joris Poelmans Blog unter http://jopx.blogspot.com/.

Auch wenn Sie wie ich sind, insofern Sie nicht viel praktische Arbeit für Content Management zu tun gehabt haben, Dies lohnt sich 20 Minuten Ihrer Zeit zu lesen.

Mithilfe der API, kann man:

  • Exportieren und Importieren von Inhalt sehr leicht.
  • Inhalt neu unterordnen. Wenn Sie einige Inhalte von einer Website "A exportieren möchten" und schicken Sie es an Standort B"" aber in einer völlig neuen Platz in der Hierarchie, Dies ist möglich.
  • Exportieren von Inhalt von einem Standort A und Standort A ausgewählte Bits importieren.
  • Neuverknüpfung von Inhalt (d. h., alle Hyperlinks bewältigen).

WSS, Doc-libs & Listen, Mit berechneten Spalten [Mich]

Jemand auf den Internets war Fragen, wie eine berechnete Spalte auf eine Liste zu erstellen, die einen Wert formatiert als zeigen würde"[Benutzer] – [Status] – [Lage]" wie in "Paul Galvin – Trinken [frei] Bier – Der Strand".

Paul würde reingehen und seinen Eintrag in der Liste zu aktualisieren und die berechnete Spalte würde entsprechend aktualisieren. Die [Benutzer] Standardmäßig sollte die der Benutzer eingeben/Aktualisierung der Liste.

Eine berechnete Spalte kann nicht "volatile verwendet." Funktionen wie [Mich] oder [Heute]. Ich löste es in einer Testumgebung mit diesen Schritten:

  1. Erstellen Sie eine Textspalte mit dem Namen "Aktueller Benutzer".
  2. Legen Sie den Standardwert auf [Mich]
  3. Erstellen einer berechneten Spalte namens "Calc-Test".
  4. Legen Sie dessen Wert = [Aktuelle Benutzer]

Ich ging in, ein Element in der Liste und es funktionierte aufgenommen.

Übergebenen mein 70-315 Prüfung heute!

Ich ging die "Entwicklung und Umsetzung Web-Anwendungen mit Microsoft Visual c# .NET und Microsoft Visual Studio .NET" Prüfung heute in der großen staatlichen NJ in den ehrwürdigen Räumlichkeiten der SolarTech in Hasbrouck Heights.

Ich habe diese Prüfung dort mit BizTalk in Bezug auf die Schwierigkeit. Sie können nicht Ihren Weg durch sie fälschen..

Um zu studieren, Ich habe die das MCAD/MCSD Self-Paced Training Kit-Buch mit dem Titel Entwicklung von Webanwendungen mit Microsoft Visual Basic .NET und c# .NET.

Microsoft-Richtlinien (Hier) sind genau richtige IMO. Das Buch richtet sich alles, und wenn Sie ein gewisses Maß oder Praxiserfahrung haben, Es sollte ein geradlinig-Prüfung. Wenn nicht, nehmen Sie der Zeit-Get einige Erfahrungen der realen Welt oder zumindest führen Sie die Übungseinheiten in dem Buch. Das wird wahrscheinlich Ihnen geben was Sie brauchen.

Ich gehen sogar so weit, das Buch Pro empfehlen, vor allem Autodidakt Leute wie mich. Es umfasst einige grundlegende Dinge, die ich eben nie einen Grund zu stolpern auf meinen Reisen gehabt und ich bin selbst ein bisschen treten wegen nie die Zeit, sie zu lernen.

SharePoint Designer, “Daten vom Benutzer sammeln” und mit diesen Ergebnissen.

Verwenden Sie die "Sammeln von Daten vom Benutzer" Aktion erstellen und einer Aufgabe einem Benutzer zuweisen, die sie werden aufgefordert für Daten. Unter anderem, Ich habe es verwendet, um einen Benutzer zu genehmigen oder ablehnen eine Anforderung und geben einige Kommentare.

Diese Aktion erfolgt in Form von:

Sammeln Daten Von dieser Benutzer (Ausgabe Variable: collect1)

Anklicken Daten zieht sich eine Reihe von Dialogfeldern, in dem Sie angeben, welche Daten der Benutzer beim bereitstellen sollte, Abschließen der Aufgabe und dieser Benutzer liegt auf der Hand.

Der Ausgabe-Teil (Variable: collect1) speichert die ID der Aufgabe. Hier können Sie in Ihrem Workflow tatsächliche Antwort des Benutzers über die "vergleichen jede Datenquelle extrahieren" Zustand.

Diese Bedingung wird als

If Feld entspricht Wert

Klicken Sie auf Feld und dann die f(x) Symbol und es zieht sich ein weiteres Dialogfenster. Verwenden Sie dieses generalisierte Dialogfeld zur SPD zwei Dinge zu sagen;

1. Was ist die Liste und die Spalte deren Wert vergleichen möchten.

2. Wie sollte die Workflow Engine bestimmter in dieser Liste Suchen von Zeilen?

Dazu:

  1. Ändern der Quelle"" Dropdown auf der richtigen Aufgabenliste zeigen. Beachten Sie, dass das Dialogfeld erweitert die Anzeige um eine "Find the List Item" Abschnitt.
  2. In der Suche Details Feld-Dropdownliste, Wählen Sie den Namen der das Feld, dessen Wert Sie möchten (zugeordnet, was Sie in dem Dialogfeld sammeln Daten von oben genannt).
  3. In der "finden des Listenelements" Abschnitt, Wählen Sie "Aufgaben:ID" in der Feld-Dropdownliste.
  4. Im Wertfeld, Klicken Sie auf die f(x). Noch ein weiteres Dialogfeld wird geöffnet.
  5. Ändern Sie den Quelldaten "Workflow"
  6. Wählen Sie die Workflow-Variable, die auf die "Ausgabe um Variable entspricht" von der Erhebung von Daten-Aktion.
  7. Klicken Sie auf OK/OK und Sie sind fertig.

Es sieht aus wie dieses für mich:

Bild

An diesem Punkt, Jetzt können Sie diesen Wert in Ihrem Workflow nach Bedarf.

Zusätzliche Hinweise:

Als eine kurze Nebenbemerkung, Ich erstelle immer eine entsprechend benannten Workflow-Variable des Typs "List Item ID" und verwenden Sie diese anstelle der automatisch generierten "collect1".

Diese "vergleichen jede Datenquelle" Dialogfeld festgelegt wird in verschiedenen Orten in SPD und lohnt sich beherrschen.

== Ende

Technorati Tags:

Intermittierende IE stürzt beim Zugriff auf Dokumente in einer Dokumentbibliothek WSS/MOSS

Ich habe von diesem für geplagt 9 Monate und ich sehe, dass Menschen auf der MSDN und Usenet-Foren es too.l haben

Manchmal, beim Zugriff auf ein Word-Dokument (oder andere Doc-Typen) aus einem Dokument Bibliothek bewirkt, dass Internet Explorer einfach abstürzt und weggehen (Alle Tabs mit ihm nehmen, wenn alle sind öffnen).

MS Hotfix kann es lösen.: http://support.microsoft.com/kb/938888

Auch, Es gibt einige Beschreibung über das Problem hier:

http://jopx.blogspot.com/2007/07/solving-internet-explorer-crash-when.html

Wird der reale XPath-Schritt nach vorne?

Übersicht:

Erstellt eine benutzerdefinierte Liste, die einen Inhaltstyp mit einigen Dutzend Spalten verwaltet.

Hat es auf eine Seite und dann über SPD, in einer Datenansicht umgewandelt.

Problem:

Meine Xpath-Ausdruck war für eine Spalte namens "Aktuelle Position" leer zurückgeben.. Ich verwiesen es Wasserverbrauch:

    <Table Border = "1">
      <XSL:für jede select = "/ DsQueryResponse/Zeilen/Zeile" >
        <TR>
          <TD>
            Aktueller Status:
            <XSL:Wert des select="@Current_x0020_Status"></XSL:Wert der>
          </TD>
        </TR>
      </XSL>
    </Tabelle>

Die Spalte im CT heißt "Aktueller Stand". Es zeigt sich in der Suche als "Aktueller Stand". Wohin man sieht, Sie finden Sie unter "Aktueller Stand".

Während Sie wie verrückt über Prügel, auf der Suche nach einer Lösung, Stattdessen bezog ich mich auf "@Recruiter" und siehe da! — tatsächlich zurückgegeben, das wieder den aktuellen status. Ich erwartete es der Werber wieder zurückzugeben, wenn ich den Tat.

Lösung:

Ich stieß über in SPD. Gehen Sie auf diese Seite in SPD und es zeigt die Datenansicht. Sie können überprüfen, die tatsächlichen Daten zur Ansicht bereitgestellt und zugehörige Xpath. Hier fand ich heraus, dass tatsächlich, der Xpath wies auf "Recruiter". Seltsam genug, die "tatsächliche" Recruiter Feld wies von "Recruiter1".

Mitnehmen:

SPD bietet autorisierenden Xpath-Ausdrücke für Zeilen & Spalten in einer Datenansicht.

Sekunde, Es zeigt die tatsächlichen Daten. So zum Beispiel, eine Spalte vom Typ zeigt dies:

<nobr><Spannweite><Ein HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID = 17 ">Galvin, Paul</A><Img Border ="0" Höhe = "1" Breite = "3" src="/_layouts/images/blank.gif"/><a Href = "Javascript:’ OnClick = "IMNImageOnClick();false zurück;’ Klasse = "ms-Imnlink"><IMG Name ='Imnmark’ Titel =” Grenze =’0′ Höhe = 12’ Breite = 12’ src='/_layouts/images/blank.gif’ Alt = "keine Anwesenheitsinformationen’ SIP ='PGalvin@xxx.com’ ID = "imn_77, Typ smtp ='/></eine></Spannweite></nobr>