Studiu de caz MRO flux de lucru folosind MOSS, SPD, InfoPath & servicii web.

Privire de ansamblu

Acest articol descrie un studiu de caz care descrie o MRO reale (Intretinere, Repararea şi operaţiuni) procesul de aprobare a fluxului de lucru, puse în aplicare în MOSS.

Acest lucru nu este o discuţie făţiş tehnice, dar în schimb au nevoie serveşte pentru a oferi un exemplu din lumea reală, care demonstrează cum platforma MOSS s-a întâlnit un real-lume.

(Această intrare este Crucea postat între http://paulgalvin.spaces.live.com şi http://blogs.conchango.com)

Fundal

Clientul MRO procesul a fost caracterizat de următoarele

  • Proces de aprobare manuală.
  • Unele suport folosind excel foi de calcul.
  • Proces de aprobare neregulate. Acelaşi proces de aprobare de cumpărare MRO ar varia de zi cu zi, persoana de persoana.
  • O mulţime de hârtie şi semnăturile de mână — cumpărare rechiziţiile impuse până la 3 scris de semnături înainte de aprobarea finală.

Obiectivele acestui proiect inclus:

  • Automatiza complet procesul.
  • Pune in aplicare standarde de Intreprindere pentru aprobarea.
  • Oferi consolidată de vedere al MRO purchasing Managers diverse.
  • Detaliate de auditare.

Ca un efect secundar al soluţiei, scris de semnături nu mai erau necesare.

Proces de aprobare

Procesul de aprobare este format din patru "benzi de înot": Iniţiator, Managerul direct, Manager funcţional şi divizia manager.

Iniţiator:

Vede necesitatea pentru achiziţionarea şi începe procesul. Reţineţi că iniţiatorul poate sau nu poate intra de fapt rechiziţionarea cumpărare, dar în schimb direct de un alt membru al personalului de a face acest lucru. Unele ori, iniţiatorul nu au expertiza tehnică să completaţi rechiziţionarea PO. De exemplu, un utilizator poate doriţi să aprovizionare un nou laptop, dar nu ştiu cel mai bun furnizor, Standardele IT, etc. În acest caz, lucrări ordonatorului cu ea şi ea se completează de fapt rechiziţionarea.

Managerul direct:

Acesta este managerul direct de ordonator (care poate fi diferit de la persoana care a intrat de fapt PO rechiziţionarea în MOSS). Managerii directe trebuie să aprobe rechiziţionarea PO înainte ca sistemul caută aprobarea mai departe în jos linie.

Manager funcţional:

Funcţionale managerul este persoana răspunzătoare de asigurarea că achiziția se conformează Intreprindere standardele în domeniul de aplicare de o anumită funcţie corporative. De exemplu, Achiziţiile de IT sunt aprobate de către un manager funcţional de IT.

Divizia Manager:

Divizia manageri aproba cumpărare rechiziţiile strict Dolar suma de. Divizia managerul aprobă rechiziţiile de cumpărare mai mare de o sumă de configurabil Dolar.

Soluţia

Am folosit următoarele instrumente şi componente pentru a implementa soluția:

MOSS: Serveste ca platforma de pe care orice altceva "atarna". MOSS oferă servicii de piatra de temelie pentru securitate, date principale, piste de audit şi alte caracteristici.

Servicii formulare InfoPath: O componentă de MOSS, Acest lucru permite utilizatorilor să completaţi rechiziţiile de cumparare prin intermediul unui browser web.

SharePoint Designer (SPD): Am folosit SPD pentru a implementa procesul de flux de lucru.

Serviciu web: Un serviciu de c# web îmbunătăţeşte experienţa utilizatorului activând în cascadă selecţii liste în formularul InfoPath şi oferă o performanţă mai bună cu privire la filtrarea datelor. A se vedea aici pentru o scufundare tehnică profundă pe acest subiect şi motivele noastre pentru utilizarea acestuia.

Liste particularizate: Profiluri de utilizator MOSS furnizat un anumit utilizator pe managerul directe, dar nu a furnizat cele mai multe dintre datele pe care deciziile de flux de lucru controlat (ex. Dacă managerul divizionare este necesar să aprobe rechiziţionarea PO). Am folosit liste particularizate într-o întreprindere date"" site-ul pentru a menţine date precum "Divizionare Manager aprobarea Dolar suma", "Funcţionale Area Manager" şi aşa mai departe. Listele integrat foarte frumos cu InfoPath şi să ofere, de asemenea, crea/actualizare/ştergere (CRUD) funcţionalitatea de audit şi securitatea din cutie.

Caz de utilizare

Acest caz de utilizare ilustrează cum soluţie se potriveşte împreună:

  1. Paul vrea un nou laptop. El descrie nevoilor sale la mihaela, un IT persoană familiarizat cu standardele corporative laptop, vânzătorii de preferat, etc.
  2. Jurnalele de Vivek în MOSS, accesează formularul de aprovizionare PO şi intră rechiziţionarea în numele Paul. Forma Vivek solicită o categorie de cumpărare care apoi utilizează serviciile web pentru a popula un drop-jos listă de furnizori aprobat de companie. Vivek specifică, de asemenea, zona funcţională corporative de această achiziţie (ex. "ACEASTA" sau "Finante").
  3. SPD pe bază de flux de lucru începe, determină Paul pe managerul direct şi rute rechiziţionarea său manager, Stacy.
  4. Stacy aprobă rechiziţionarea de cumpărare.
  5. Flux de lucru SPD inspectează rechiziţionarea şi determină este o achiziţie IT. Aceasta rute fluxul de lucru la managerul IT funcţionale, Wonson.
  6. Wonson, Avizeaza rechiziţionarea.
  7. SPD flux de lucru din nou inspectează rechiziţionarea şi stabileşte că suma de cumpărare depăşeşte o sumă de Dolar maxium şi rute-l la managerul de Divizia pentru aprobarea.
  8. Managerul de Divizia aprobă rechiziţionarea de cumpărare.

Note

  • Cazul utilizării demonstreaza o "curat" rula fără refuzuri sau salturi.
  • Fiecare aprobator are capacitatea de a aproba sau a respinge rechiziţionarea, precum şi a oferi comentarii scrise. Acestea sunt înregistrate în pista de audit.
  • În cazul în care un manager responsabil respinge rechiziţionarea de cumpărare în orice moment, aprovizionare PO este "mort" şi trebuie să înceapă procesul de la început.
  • Flux de lucru notifică iniţiatorul la fiecare pas al procesului de.
  • Nu scris de semnături — clientul determinate (după unele recomandări puternic) că audit trail prevăzute prin istorie de flux de lucru, servit nevoilor lor de audit.
  • Efort — a fost nevoie de om aproximativ trei săptămâni pentru a implementa această soluţie.

Concluzia

Aceasta solutie foloseste MOSS ca dezvoltare şi platforma de rulare. Clientul a fost capabil de a pârghie de bază MOSS caracteristici pentru a automatiza un proces de rutină de afaceri care a afectat aproape fiecare angajat din companie. Cu excepţia unui serviciu web simplu (care se valorifică MOSS), aproape nici o reală "programare" a fost necesară.

Soluţia, de asemenea, serveşte ca o "casetă de prezentare" pentru client, să demonstreze modul în care diferite MOSS caracteristici pot fi combinate pentru a crea o aplicaţie de afaceri plin featured şi pentru a genera noi oportunitati consultanta în viitor.

Glosar

MRO: Intretinere, repararea şi operaţiuni. Aceste achiziţii de obicei includ elemente cum ar fi agende, scaune, personale calculatoare, imprimante, telefoane mobile şi ca.

Examen 70-542: Recomandări de studiu (Microsoft Office SharePoint Server 2007 – Dezvoltarea de aplicaţii)

ACTUALIZARE: În Comentarii, cineva a postat acest link: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. Arata bine pentru mine prea.

Am trecut examenul tehnice MOSS astăzi, intitulat "Microsoft Office SharePoint Server 2007 – Dezvoltarea de aplicatii". Am găsit examen să fie destul de riguros şi că potrivit destul de bine cu Microsoft Ghid de pregătire.

Am fost de lucru cu MOSS pe o bază de zi cu zi şi nimic nu bate experienta hands-on reale pentru toate aceste examene.

A spus că, Am luat act de ceea ce eram ca am studiat. Eu cred că toate aceste resurse sunt utile, în special ca mijloc de consolidarea că hands-on experienţă.

Subiect Link-ul
Servicii Excel http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Căutare Nici o recomandare speciala. Am luat o clasa de căutare mai devreme în acest an şi real-lume experienţă mi-a efectuat. Lucra cu centrul"căutare" componenta de muşchi.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Audienţe http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Profile http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Conţinut 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 De lucru hands-on cu KPI lui în MOSS.
Flux de lucru http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Informaţii mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variaţii http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Înregistrările mgmt http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Multe dintre aceste link-uri a dus la mai multe link-uri şi am avut tendinţa să le urmeze până la 3 nivelurile profunde.

Nu aş spune că tot ce am citit direct aplicate la examenul de, dar nu regret citit oricare dintre acesta şi chiar dacă unele biţi nu erau direct relevante. Este toate lucrurile bune să ştiu şi eu recomand materialul pentru toţi dezvoltatorii care aspiră de muşchi bine rotunjite.

Rezultate de căutare MOSS/AAC (şi dataviews): Vezi prime datele XML

Acest lucru poate fi evident pentru mulţi, dar în timp ce studia pentru examenul de programare MOSS, Am învăţat că este destul de uşor pentru a obţine XML-ul real la o interogare de căutare prin intermediul interfeţei de utilizator.

O metoda rapida este după cum urmează:

  • Acces la cautare avansata.
  • Efectuaţi o căutare care returnează unele date.
  • Editare pagină (prin intermediul site-ul setări).
  • Schimbării XSL la următoarele:

<?XML versiunea="1.0" codificarea="UTF-8"?>
<
XSL:foaie de stil versiunea="1.0" xmlns:XSL="http://www.w3.org/ 1999/XSL/transformare">
<
XSL:ieşire metoda="XML" versiunea="1.0" codificarea="UTF-8" liniuţă="da"/>
<
XSL:şablon meci="/">
<
pre>
<
XSL:copie-a Selectaţi="*"/>
</
pre>
</
XSL:şablon>
</
XSL:foaie de stil>

  • Lovit se aplică.
  • Vezi sursa în browser.

Reţineţi că <pre> Tag-ul nu face mult cu excepţia serveşte ca un marker de convenabil atunci când vizualizaţi rezultatele.

Acest truc poate fi foarte util atunci când lucrează cu proprietăți gestionate şi personalizarea căutare. Va oferi o listă definitivă a XML disponibile pentru utilizare în dumneavoastră xslt care ar fi fost foarte util ultima 25 ori am creat unele rezultate de căutare personalizate.

Acest lucru ar trebui să lucreze pentru dataviews, precum şi, Deşi nu am testat asta încă.

Nici o CQWP pentru AAC? Încercaţi acest…

Văd că Eric Kraus s-a confruntat cu o cerinţă în mod normal, s-a întâlnit cu o parte web de interogare conținut. Problema? El a fost într-un mediu pur AAC cu nu au acces la CQWP. Mai degrabă decât curling sus în poziţie fetală (un îndemn trebuie să lupte în fiecare zi, se pare că), El a venit cu solutia care ofera cel putin AAC magazine o şansă de luptă pentru a reuşi. Este descris aici.

Vezi strălucitoare şi detaliate de management de conţinut API

Stefan Goßner a pune împreună o serie de 4 parte teribil pe conținut SharePoint şi implementare API aici. Acesta oferă o imagine de ansamblu mare şi foarte bune exemple în codul (C#).

Prima am luat acest link la joris poelmans blog-ul la http://jopx.blogspot.com/.

Chiar daca esti ca mine, în care nu aţi avut a face mult de lucru hands-on de management de conţinut, Acest lucru este bine în valoare de 20 minute din timpul dumneavoastră pentru a citi.

Utilizarea API, se poate:

  • Exportul şi importul de conţinut foarte uşor.
  • Re-mamă de conţinut. Dacă doriţi să exportaţi unele conţinut de pe un site "A" şi trimite-l la site-ul "B" dar într-un complet nou loc în ierarhia, Acest lucru este posibil.
  • Export de conţinut de la un site-ul A şi import biţi selectate în site-ul A.
  • Conţinutul de re-legare (sensul de a face cu toate hyperlink-urile).

WSS, doc libs & liste, Coloanele calculate care implică [Mine]

Cineva de pe Internet a fost întrebat despre cum să creaţi o coloană calculată pe o listă care să demonstreze o valoare formatate ca"[Utilizator] – [Statutul] – [Locaţie]" ca în "Paul Galvin – Băut [gratuit] Bere – Plaja".

Paul ar merge şi actualizează intrarea lui în lista şi coloană calculată va actualiza în mod corespunzător. The [Utilizator] ar trebui să implicit la utilizatorul intră/actualizarea listei.

O coloană calculată nu se poate utiliza "volatili" funcţii cum ar fi [Mine] sau [Astăzi]. Am rezolvat-o într-un mediu de testare cu aceşti paşi:

  1. Creaţi o coloană de text numit "Curent de utilizator".
  2. Setaţi valoarea sa implicită la [Mine]
  3. Creaţi o coloană calculată, numit "Calc Test".
  4. Setaţi valoarea lui = [Utilizatorul curent]

M-am dus, adaugă un element la lista şi it worked.

Meu trecut 70-315 examen azi!

Am trecut "în curs de dezvoltare şi de punere în aplicare Web aplicaţii cu Microsoft Visual C# .NET şi Visual Studio Microsoft.net" examen azi în stat mare NJ, în birourile Venerabilul SolarTech în Hasbrouck Heights.

Am pus acest examen acolo cu BizTalk în dificultate. Tu nu poate fals ţi de drum prin ea.

Pentru a studia, Am folosit MCAD/MCSD auto ritm Training kit de carte intitulată Dezvoltarea de aplicatii Web cu Microsoft Visual Basic .NET si Visual C# .NET.

Microsoft orientări (aici) sunt exact corect OMI. Cartea se adresează totul şi dacă aveţi un minimum sau real-lume experienţă, ar trebui să fie un examen de drept-înainte. Dacă nu, ia timp a lua ceva experienta de lumea reală sau cel puţin executa laboratoare în cartea. Care probabil vă va oferi ceea ce ai nevoie.

Am chiar merge atât de departe pentru a recomanda cartea la pro, mai ales autodidact oameni ca mine. Acesta acoperă unele lucruri de bază pe care am avut niciodată doar un motiv pentru a se poticni la în călătoriile mele şi eu sunt lovind-mă un pic pentru niciodată nu au luat timp pentru a le învăţa.

SharePoint Designer, “Colecta date de utilizator” şi folosind aceste rezultate.

Utilizaţi "colectarea de date de utilizator" acţiune pentru a crea şi de a atribui o sarcină la un utilizator care le solicită date. Printre alte lucruri, Am folosit-o pentru a solicita un utilizator pentru a aproba sau respinge o cerere şi introduce unele Comentarii.

Această acţiune se realizează de:

Colecta date la Acest utilizator (Ieşire la Variabila: collect1)

Făcând clic pe date trage o serie de casete de dialog unde se specifica ce date despre utilizator trebuie să ofere atunci când sarcina de completare şi Acest utilizator este evident.

Partea de ieşire (Variabila: collect1) salvează ID-ul de sarcina. Acest lucru utilizaţi în fluxul de lucru pentru a extrage răspunsul utilizatorului reale prin intermediul "compara orice sursă de date" condiţie.

Această condiţie Arată ca

Dacă câmp este egal cu valoarea

Faceţi clic pe câmp şi apoi f(x) pictograma şi se trage o altă casetă de dialog. Utilizaţi această casetă de dialog generalizate la a spune SPD două lucruri;

1. Ce este lista şi coloana a căror valoare doriţi să comparaţi.

2. Cum ar trebui să localizaţi motorul de flux de lucru rând specifice în această listă?

Pentru a face acest lucru:

  1. Schimba sursa"" verticală la punctul de la lista de activităţi corect. Reţineţi că caseta de dialog se extinde pentru a arăta un "găsi element de listă" secţiunea.
  2. În lista verticală de câmp Lookup detalii, Selectaţi numele de câmp a cărui valoare doriţi (Aceasta hărţi la ceea ce ai sunat în caseta de dialog colectarea de date de mai sus).
  3. În "găsi elementul din listă" secţiunea, Selectaţi "sarcini:ID-UL" în lista verticală de câmp.
  4. În câmpul valoare, faceţi clic pe f(x). Se va deschide o altă casetă de dialog.
  5. Schimba sursa "date de flux de lucru"
  6. Selectaţi variabila de flux de lucru care se potriveşte "ieşire a variabilei" la colectarea de date de acţiune.
  7. Faceţi clic pe OK/OK şi aţi terminat.

Se pare ca acest lucru pentru mine:

imagine

La acest punct, Acum puteţi folosi această valoare în fluxul de lucru necesare.

Note suplimentare:

Ca o scurta paranteza, Întotdeauna creează un flux de lucru în mod corespunzător numit variabila de tip "lista element ID" şi de a folosi în loc de auto-generat "collect1".

Acest "compara orice sursă de date" set de dialog este utilizat în mai multe locuri diferite în SPD şi este bine în valoare de a stăpâni.

== sfârşitul

Technorati Tags:

Intermitentă IE se blochează la accesarea documentelor într-o bibliotecă de documente WSS/MOSS

I-am fost afectate de acest lucru pentru 9 luni şi am vedea că oamenii de pe forumuri MSDN şi Usenet au o too.l

Uneori, atunci când se accesează un document word (sau alte tipuri de doc) dintr-un document Biblioteca provoacă Internet Explorer pur şi simplu accident şi du-te departe (având toate filele cu ea în cazul în care orice se deschide).

Această remediere rapidă MS pot rezolva aceasta: http://support.microsoft.com/kb/938888

De asemenea, Există unele descriere despre problema aici:

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

Va transmite adevărat pas XPath?

Privire de ansamblu:

Creat o listă personalizată, care gestionează un tip de conținut cu câteva zeci de coloane.

Adaugă-l la o pagină şi, apoi, prin intermediul SPD, convertit într-o vizualizare de date.

Problema:

Meu expresia Xpath se întorcea gol pentru o coloană numită "Poziţia curentă". Am face referire acesta astfel:

    <masă de frontieră = "1">
      <XSL:pentru fiecare = selectaţi "/ dsQueryResponse/rânduri/rând" >
        <TR>
          <TD>
            Starea curentă:
            <XSL:valoare-de select="@Current_x0020_Status"></XSL:valoarea de>
          </TD>
        </TR>
      </XSL>
    </tabel>

Coloana în CT este numit "Starea curentă". Acesta apare în căutare ca "Starea curentă". Oriunde te uiti, tu a vedea "Curent stare".

În timp ce bătaie nebuneşte aproximativ, în căutarea pentru o soluţie, În schimb m-am referit "@Recruiter" şi Iată că! — că de fapt întors înapoi starea curentă. Am aşteptat-o să se întoarcă înapoi recrutorul atunci când am făcut-o.

Soluție:

Am poked în SPD. Du-te la acea pagină în SPD şi arată date. Tu poate inspecta real datelor furnizate la vedere si asociate Xpath. Aici am aflat că într-adevăr, Xpath a subliniat la "Recrutor". Destul de ciudat, "real" recrutor câmp a subliniat de la "Recruiter1".

cară-te:

DOCUP oferă autoritate expresii Xpath pentru rânduri & coloane într-o vizualizare de date.

Al doilea, se arată datele reale. Deci, de exemplu, o coloană de tip Arată acest lucru:

<NOBR><durata de><O HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID = 17 ">Grancea, Paul</ADRIAN><img frontieră ="0" inaltime = "1" latime = "3" src="/_layouts/images/blank.gif"/><o href = "javascript:’ onclick = "IMNImageOnClick();întoarce false;’ Class = "ms-imnlink"><img nume ='imnmark’ titlu =” frontieră =’0′ inaltime ='12’ latime ='12’ src='/_layouts/images/blank.gif’ alt = "nici o informaţie de prezenţa’ Savuraţi ='PGalvin@xxx.com’ ID = "imn_77, tip = smtp'/></o></durata de></NOBR>