MRO arbetsflöde fallstudie med mossa, SPD, InfoPath & web services.

Översikt

Detta inlägg beskriver en studie som beskriver en faktisk MRO (Underhåll, Reparation och operationer) arbetsflödet godkännandeprocess genomförs i MOSS.

Detta är inte en öppet teknisk diskussion, men i stället syftar till att ge en verklig-värld exempel som visar hur MOSS plattformen träffade en verkliga behov.

(Denna post är arga Inlagd mellan http://paulgalvin.spaces.live.com och http://blogs.conchango.com)

Bakgrund

Klientens MRO process hade präglats av följande

  • Manuell godkännandeprocessen.
  • Vissa stöd med hjälp av excel kalkylblad.
  • Oregelbunden godkännandeprocessen. Samma MRO köp godkännandeprocessen skulle variera dag till dag, person efter person.
  • Massor av papper och handskrivna signaturer — inköpsrekvisitioner krävs upp till 3 Skriftliga signaturer innan slutligt godkännande.

Målen för projektet ingår:

  • Helt automatisera processen.
  • Tillämpa enterprise normer för godkännande.
  • Ger konsoliderad vy av MRO inköp till olika chefer.
  • Detaljerad granskningslogg.

Som en bieffekt av lösningen, Skriftliga signaturer inte längre krävs.

Godkännandeprocessen

Godkännandeprocessen består av fyra "simma lanes": Beställaren, Direkt manager, Funktionella manager och division manager.

Beställaren:

Ser behovet av inköp och startar processen. Observera att beställaren får eller får inte faktiskt ange inköpsrekvisitionen, men i stället direkt en annan anställd att göra det.. Vissa gånger, upphovsmannen har inte teknisk expertis för att fylla ut PO rekvisitionen. Till exempel, en användare kanske vill rekvirera en ny bärbar dator, men vet inte den bästa leverantören, IT-standarder, m.m.. I detta fall, beställaren verk med det och det fyller faktiskt rekvisitionen.

Direkt manager:

Detta är direkt chef för beställaren (som kan skilja sig från den person som faktiskt ingåtts MOSS PO rekvisitionen). Direkta chefer måste godkänna PO rekvisitionen innan systemet söker godkännande ytterligare ner linjen.

Funktionella Manager:

Den funktionella manager är individen ansvarar för att föreslagna köp överensstämmer med företagets standarder inom ramen för en särskild corporate funktion. Till exempel, IT-inköp är godkända av en funktionell IT-chef.

Divisionschef:

Division chefer godkänna inköpsrekvisitioner strängt av dollarn belopp. Divisionschef godkänna inköpsrekvisitioner som överstiger en konfigurerbar dollar belopp.

Lösningen

Vi använde följande verktyg och komponenter för att genomföra lösningen:

MOSS: Fungerar som en plattform för som allt annat "hänger". MOSS ger berggrunden tjänster för säkerhet, ledar-data, granskningshistorik och andra funktioner.

InfoPath forms services: En MOSS-komponent, Detta gör att användare kan fylla i inköpsrekvisitioner via en webbläsare.

SharePoint Designer (SPD): Vi brukade SPD genomföra automatiserade arbetsflödesprocessen.

Web Service: En c#-webbtjänst förbättrar användarupplevelsen genom att ge övergripande val listor i InfoPath-formuläret och ger bättre prestanda när det gäller filtrering av data. Se Här för en teknisk djupdykning i denna fråga och våra skäl för att använda det.

Anpassade listor: MOSS användarprofiler som tillhandahålls en viss användares direkta chef, men kom inte med de flesta data som kontrollerade arbetsflödet beslut (t.ex. om divisional manager krävs att godkänna PO rekvisitionen). Vi använde anpassade listor i en "Enterprise Data" webbplats för att underhålla data som "Divisional Manager godkännande Dollar belopp", "Funktionell Area Manager" och så vidare. Listor integrerad mycket fint med InfoPath och ger också skapa/uppdatera/ta bort (CRUD) funktionalitet med gransknings- och ur lådan.

Användningsfall

Denna användningsfall illustrerar hur lösningen passar ihop:

  1. Paul vill ha en ny laptop. Han beskriver sitt behov att Vivek, en IT-person förtrogen med företagets laptop standarder, Rekommenderad leverantörer, m.m..
  2. Vivek loggar in MOSS, öppnar formuläret PO rekvisition och kommer in rekvisitionen för Paul. Formuläret efterfrågar en köp kategori som sedan använder webbtjänsterna för att fylla en listruta för företag-godkända leverantörer av Vivek. Vivek också anger företagets funktionella området av detta köp (t.ex. "DET" eller "Ekonomi").
  3. SPD baserade arbetsflödet startas, bestämmer Pauls direkt manager och dirigerar rekvisitionen till hans manager, Stacy.
  4. Stacy har godkänt inköpsrekvisitionen.
  5. SPD arbetsflöde inspekterar rekvisitionen och bestämmer det är en IT-köp. Det dirigerar arbetsflödet till funktionell IT-chef, Wonson.
  6. Wonson godkänner rekvisitionen.
  7. SPD arbetsflöde igen inspekterar rekvisitionen och bestämmer att köpesumman överstiger en maxium dollar belopp och dirigerar det till division manager för godkännande.
  8. Divisionschef godkänner inköpsrekvisitionen.

Anteckningar

  • Användningsfallet visar en "ren" köra utan avslag eller hopp.
  • Alla godkännare har möjlighet att godkänna eller avslå rekvisitionen samt ge skriftliga kommentarer. Detta loggas i redovisningsspårningen.
  • Om en ansvarig projektledare avslår inköpsrekvisitionen när som helst, PO rekvisitionen är "död" och processen måste startas från början.
  • Arbetsflödet meddelar beställaren vid varje steg i processen.
  • Ingen skriftlig signaturer — klienten bestäms (efter några kraftfulla rekommendationer) att granskningen trail som tillhandahålls via arbetsflödeshistorik, serveras deras revision behov.
  • Ansträngning — Det tog ungefär tre man veckor att genomföra denna lösning.

Slutsats

Den här lösningen utnyttjar MOSS som utveckling och körning plattform. Klienten kunde utnyttja core MOSS funktioner för att automatisera en rutinmässig affärsprocess som påverkas nästan varje anställd i företaget. Med undantag för en enkel webbtjänst (som själv utnyttjar MOSS), nästan inga faktiska "programmering" krävdes.

Lösningen fungerar även som en "showcase" för klienten, visar hur olika MOSS funktioner kan kombineras för att skapa en fullfjädrad affärsprogram och generera nya konsulterande möjligheter i framtiden.

Ordlista

MRO: Underhåll, reparation och operationer. Dessa inköp vanligtvis innehåller objekt som anteckningsblock, stolar, persondatorer, skrivare, mobiltelefoner och liknande.

Examen 70-542: Studera rekommendationer (Microsoft Office SharePoint Server 2007 – Programutveckling)

UPPDATERING: I kommentarer, någon postat denna länk: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. Det ser bra ut för mig också.

Jag passerade MOSS teknisk examen idag, titeln "Microsoft Office SharePoint Server 2007 – Application Development". Jag hittade det testet för att vara ganska stränga och att det matchas upp ganska bra med Microsofts handboken.

Jag har jobbat med mossa på en daglig basis och inget slår faktiska praktisk erfarenhet för alla dessa tentor.

Som sagt, Jag noterade vad jag studerade när jag studerade. Jag tror att alla dessa resurser är hjälpsam, särskilt som ett sätt att stärka det praktiska erfarenhet.

Angående Länk
Excel Services http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Sök Ingen särskild rekommendation. Jag hade tagit en klass på tidigare i år och erfarenheten bar mig genom. Arbeta med Sökcentret"" komponent i MOSS.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Publik http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Profiler http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Content Mgmt 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 Praktisk arbeta med KPI i MOSS.
Arbetsflöde http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Information mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variationer http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Poster mgmt http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Många av dessa länkar ledde till fler länkar och jag tenderade att följa dem upp till 3 nivåer djup.

Jag skulle inte säga att allt jag läst direkt tillämpas på tentan, men jag ångrar inte läsa något av det och även om vissa bitar var inte direkt relevanta. Det är alla bra saker att veta och jag rekommenderar starkt material för alla blivande väl avrundad MOSS utvecklare.

MOSS/WSS sökresultat (och dataviews): Visa det råa XML-data

Detta kan vara uppenbart för många, men tag studera för min mossa programmering examen, Jag lärde mig att det är ganska lätt att få den faktiska XML från en sökfråga via användargränssnittet.

En snabb metod är som följer:

  • Tillgång avancerad sökning.
  • Gör en sökning som returnerar några data.
  • Redigera sidan (via Webbplatsinställningar).
  • Ändra XSL till följande:

<?XML version="1.0" kodning="UTF-8"?>
<
XSL:Stylesheet version="1.0" xmlns:XSL="http://www.w3.org/ 1999/XSL/Transform">
<
XSL:utgång metoden="XML" version="1.0" kodning="UTF-8" strecksatsen="Ja"/>
<
XSL:mall match="/">
<
Pre>
<
XSL:kopia av Välj="*"/>
</
Pre>
</
XSL:mall>
</
XSL:Stylesheet>

  • Hit tillämpas.
  • Visa källa i webbläsaren.

Observera att den <Pre> tag göra inte mycket utom tjänar som bekväm markör när du visar resultaten.

Detta trick kan vara till stor hjälp när arbetar med hanterade egenskaper och anpassa söker. Det kommer att ge en slutgiltig lista på XML som du kan använda i din xslt som varit mycket bra senaste 25 gånger skapat jag några anpassade sökresultat.

Detta borde arbeta för dataviews samt, men jag har inte testat det ännu.

Lysande och detaljerad bild av content management API

Stefan Goßner har satt ihop en fantastisk 4-serie på SharePoint-innehåll och distribution API Här. Det erbjuder en bra överblick och mycket goda exempel i kod (C#).

Först plockade jag upp denna länk från joris poelmans blogg på http://jopx.blogspot.com/.

Även om du gillar mig, att du inte har haft att göra mycket praktisk arbete för content management, Detta är väl värt 20 minuter av din tid att läsa.

Med hjälp av API, man kan:

  • Exportera och importera innehåll mycket lätt.
  • Nytt överordnat innehåll. Om du vill exportera vissa innehåll från en webbplats "A" och skicka det till webbplats "B" men i en helt ny plats i hierarkin, Detta är möjligt.
  • Exportera innehåll från en plats A och importera valda bitar till plats A.
  • Länka innehåll (vilket innebär att ta itu med alla hyperlänkar).

WSS, doc libs & listor, Beräknade kolumner där [Mig]

Någon på Internets frågade om hur du skapar en beräknad kolumn i en lista som skulle visa ett värde som formaterats som"[Användaren] – [Status] – [Plats]" som i "Paul Galvin – Dricka [gratis] Öl – The Beach".

Paul skulle gå in och uppdatera sin post i listan och den beräknade kolumnen skulle uppdatera på rätt sätt. Den [Användaren] bör som standard den användaren att ange/uppdatering av förteckningen.

En beräknad kolumn kan inte använda "flyktiga" funktioner såsom [Mig] eller [Idag]. Jag löste det i en testmiljö med dessa steg:

  1. Skapa en textspalt som heter "Aktuella användare".
  2. Ange ett standardvärde till [Mig]
  3. Skapa en beräknad kolumn som kallas "Calc Test".
  4. Ange dess värde = [Aktuell användare]

Jag gick, ett objekt har lagts till i listan och det arbetade.

Skickade min 70-315 examen i dag!

Jag passerade den "utveckla och implementera Web applikationer med Microsoft Visual C# .NET och Microsoft Visual Studio .NET" tentan idag i stora staten NJ vid ärevördiga kontoren för SolarTech i Hasbrouck Heights.

Jag satte denna tenta upp där med BizTalk i form av svårigheter. Du kan inte försköna din väg genom det.

Att studera, Jag använde den MCAD/MCSD Self Paced Training kit boken rätt Utveckla webbapplikationer med Microsoft Visual Basic .NET och Visual C# .NET.

Microsoft riktlinjer (Här) är exakt rätt IMO. Boken handlar om allt och om du har en smula eller erfarenhet, Det bör vara en rättfram examen. Om inte, ta den tid få några verkliga världen erfarenhet eller åtminstone utföra laborationer i boken. Som förmodligen ger dig vad du behöver.

Jag gå även så långt att rekommendera boken till pro's, särskilt självlärd människor som jag själv. Det omfattar vissa grundläggande saker som jag aldrig hade en anledning att snubbla på i mina resor och jag sparkar mig själv lite för att aldrig ha tagit sig tid att lära dem.

SharePoint Designer, “Samla in Data från användare” och använder dessa resultat.

Använda den "samla in datan från användare" åtgärder för att skapa och tilldela en uppgift till en användare som efterfrågar dem data. Bland annat, Jag har använt det en användaren att godkänna eller avvisa en begäran och ange några kommentarer.

Denna åtgärd sker i form av:

Samla data från Denna användare (Utgång till Variabel: collect1)

Att klicka på data drar upp en serie dialogrutor där du kan ange vilka data som användaren bör ge när slutföra uppgiften och Denna användare är uppenbart.

Den produktion delen (Variabel: collect1) sparar ID för uppgiften. Du använda detta i ditt arbetsflöde för att extrahera användarens faktiska svar via den "jämför valfri datakälla" villkor.

Detta villkor visar som

Om fältet är lika med värde

Klicka på fältet och sedan f(x) ikonen och det drar upp en annan dialogruta. Använd denna generaliserad dialogrutan till att tala om SPD två saker;

1. Vad är den listan och kolumnen vars värde du vill jämföra.

2. Hur bör arbetsgångsmotorn hitta specifika raden i listan?

Att göra detta:

  1. Ändra "källa" dropdown att peka på listan i rätt. Observera att dialogrutan expanderas och visar ett "hitta the listobjekt" avsnitt.
  2. I Lookup Detaljer fältet dropdown, Markera namnet på det fält vars värde du vill (Detta mappas till vad du heter i dialogrutan samla in data från ovan).
  3. I den "hitta listobjektet" avsnitt, Välj "uppgifter:ID" i fältet dropdown.
  4. I värdefältet, Klicka på f(x). Ännu en dialogrutan öppnas.
  5. Ändra källan "arbetsflödesdata"
  6. Välj arbetsflödesvariabeln som matchar till "Output till variabeln" från åtgärden samla in data.
  7. Klicka på OK/OK och du är klar.

Det ser ut så här för mig:

bild

Vid denna punkt, Du kan nu använda det värdet i arbetsflödet som krävs.

Ytterligare anmärkningar:

Som en kort parentes, Jag skapar alltid en korrekt namngivna arbetsflödesvariabel av typen "lista objekt-ID" och använda det istället för den automatiskt genererade "collect1".

Detta "jämför valfri datakälla" dialogrutan används på flera olika ställen i SPD och är väl värt mastering.

== slutet

Technorati Tags:

Intermittent IE kraschar när åtkomst till dokument i ett dokumentbibliotek för WSS/MOSS

Jag har plågats av detta för 9 månader och jag ser att människor på MSDN och Usenet forum har det too.l

Ibland, När du öppnar ett word-dokument (eller andra doc typer) från ett dokument orsakar bibliotek bara krascha och gå bort i Internet Explorer (ta alla flikar med det om någon är öppna).

Snabbkorrigeringen MS kan lösa det: http://support.microsoft.com/kb/938888

Också, Det finns vissa beskrivning om problemet här:

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

Det verkliga XPath steget kommer framåt?

Översikt:

Skapat en anpassad lista som hanterar en innehållstyp med några dussin kolumner.

La den på en sida och sedan via SPD, omvandlas till en datavy.

Problem:

Min Xpath-uttrycket var tillbaka tom för en kolumn med namnet "Nuvarande Position". Jag refererade det thusly:

    <Table border = "1">
      <XSL:för varje Välj = "/ dsQueryResponse/rader/rad" >
        <TR>
          <TD>
            Nuvarande Status:
            <XSL:värdet av som select="@Current_x0020_Status"></XSL:värdet av>
          </TD>
        </TR>
      </XSL>
    </tabell>

Kolumnen i CT heter "Nuvarande Status". Det dyker upp i sökningen som "Nuvarande Status". Vart man än tittar, du ser "Nuvarande Status".

Medan stryk vansinnigt ca, Letar du efter en lösning, Jag hänvisade i stället till "@Recruiter" och se! — som faktiskt återvänt tillbaka aktuell status. Jag trodde att den skulle återgå rekryteraren när jag gjorde det.

Lösning:

Jag petade i SPD. Gå till sidan i SPD och det visar datavyn. Du kan kontrollera den faktiska data som tillhandahålls i vyn och tillhörande Xpath. Här fick jag reda på att verkligen, Xpath pekade på "Rekryterare". Konstigt nog, den "faktiska" rekryterare fältet pekade från "Recruiter1".

Ta med:

SPD ger auktoritära Xpath-uttryck för rader & kolumner i en datavy.

Andra, Det visar de faktiska uppgifterna. Så till exempel, en kolumn av typen visar detta:

<nobr><Spänn><En HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID = 17">Galvin, Paul</A><IMG gränsen ="0" höjd = "1" bredd = "3" src="/_layouts/images/blank.gif"/><en href = "javascript:’ onclick = "IMNImageOnClick();returnera false;’ Class = "ms-imnlink"><IMG namn ='imnmark’ titel =” Border =’0′ höjd ='12’ bredd ='12’ src='/_layouts/images/blank.gif’ Alt = "inga närvaroinformation’ SIP = "PGalvin@xxx.com’ ID = "imn_77, typ = smtp" /></en></Spänn></nobr>