Estudi de cas MRO Workflow utilitzant molsa, SPD, L'InfoPath & serveis web.

Visió de conjunt

Aquesta entrada es descriu un estudi de cas que descriu un present MRO (Manteniment, Reparació i operacions) procés d'aprovació d'un flux de treball implementats en MOSS.

Això no és un debat obertament tècnic, però en canvi necessita serveix per donar un exemple de món real que demostra com la plataforma de molsa conèixer un món real.

(Aquesta entrada és creu publicat entre http://paulgalvin.spaces.live.com i http://blogs.conchango.com)

Fons

Procés MRO del client havia caracteritzat per la següent

  • Procés d'aprovació manual.
  • Algun suport utilitza Superar fulls de càlcul.
  • Procés d'aprovació irregular. El mateix procés d'aprovació MRO compra que varien el dia a dia, persona per persona.
  • Munt de paper i mà escrit signatures — comprar requisitions necessaris fins a 3 signatures escrits abans d'aprovació definitiva.

Els objectius d'aquest projecte inclòs:

  • Plenament automatitzar el procés.
  • Fer complir les normes d'empresa per a l'aprovació.
  • Proporciona una vista consolidada de la MRO compra a diferents gestors.
  • Pista d'auditoria detallada.

Com a efecte secundari de la solució, signatures escrits ja no es requerien.

Procés d'aprovació

El procés d'aprovació consisteix en nedar quatre "carrils": Causant, Gestor directe, Director funcional i gerent de la divisió.

Causant:

Veu la necessitat per a la compra i comença el procés. Tingueu en compte que el causant pot o no pot realment entrar a la sol·licitud de compra, però en canvi directe un altre membre del personal per fer-ho. Algunes vegades, el causant no té els coneixements tècnics d'emplenar la sol·licitud de PO. Per exemple, un usuari pot voler exemple un nou ordinador portàtil, però no sap el millor venedor, Estàndards, etc. En aquest cas, les obres d'autor amb això i en realitat omple la sol·licitud.

Gestor directe:

Aquest és el gestor directe del causant (que pot ser diferent de la persona que en realitat va entrar la requisicions PO en MOSS). Gestors directes ha d'aprovar la sol·licitud PO abans el sistema busca aprovació més en la línia.

Director funcional:

El director funcional és la persona responsable de garantir que la proposta de compra conforme als estàndards d'empresa en l'àmbit d'una determinada funció corporatiu. Per exemple, Compres són aprovats per un director de TI funcional.

Gerent de la divisió:

Gestors de divisió aprovar compra requisitions estrictament per la quantitat de dòlars. Gerent de la divisió aprovar la compra requisitions en més d'una quantitat de dòlars configurable.

La solució

Hem utilitzat les següents eines i components d'implementar la solució:

MOSS: Serveix com a plataforma de la qual tota la resta es "penja". MOLSA proporciona serveis de base per a la seguretat, dades mestres, senders d'auditoria i altres característiques.

Serveis dels formularis de InfoPath: Un component de molsa, Això permet usuaris per omplir requisitions compra mitjançant un navegador web.

Dissenyador de SharePoint (SPD): Utilitzàvem SPD d'implementar el procés automatitzat de flux de treball.

Servei web: Un servei de web c# realça l'experiència d'usuari permetent en cascada llistes de seleccions en forma l'InfoPath i proporciona millor actuació pel que fa a les dades de filtratge. Veure aquí per a una immersió profunda tècnica sobre aquest tema i les nostres raons per utilitzar-lo.

Llistes de costum: Perfils d'usuari MOSS proporcionat cap directe d'un usuari determinat, però no va proporcionar la major part de les dades que controlaven les decisions de flux de treball (e. g. Si el director de la divisió és necessària per aprovar la sol·licitud de PO). Fem servir llistes personalitzades en un "dades d'empresa" lloc per mantenir dades com "Divisió director aprovació dòlar quantitat", "Funcionals àrea Manager" i així successivament. Llistes molt ben integrat amb l'InfoPath i també proporcionar creació/actualització/supressió (PORQUERIA) funcionalitat amb l'auditoria i seguretat de la caixa.

Cas d'ús

Aquest cas d'ús il. lustra com encaixa la solució:

  1. Paul vol un portàtil nou. Descriu les seves necessitats per Vivek, una persona de TI familiaritzat amb estàndards de corporatius portàtil, venedors preferits, etc.
  2. Vivek registres en MOSS, accedeix al formulari de sol·licitud PO i entra en la sol·licitud en nom de Paul. Forma Vivek demana per a una categoria de compra que llavors utilitza els serveis web a una llista desplegable de proveïdors de companyia aprovada de poblar. Vivek també especifica l'àrea funcional corporativa d'aquesta compra (e. g. "QUE" o "Finances").
  3. SPD basat en un flux de treball s'inicia, determina cap directe de Paul i encamina la sol·licitud a la seu mànager, Stacy.
  4. Stacy aprova la sol·licitud de compra.
  5. SPD workflow inspecciona la requisicions i determina que és una compra de TI. -Rutes el flux de treball de director d'IT funcional, Wonson.
  6. Wonson s'aprova la sol·licitud.
  7. SPD workflow nou inspecciona la requisicions i determina que l'import de compra supera una quantitat de dòlars d'àrea i encamina a la gerent de la divisió d'aprovació.
  8. El gerent de la divisió s'aprova la sol·licitud de compra.

Notes

  • El cas d'ús demostra un "net" córrer sense rebuigs ni salts.
  • Cada Aprovador té la capacitat per aprovar o rebutjar la sol·licitud, així com proporcionar comentaris escrits. Aquestes es registren en la pista d'auditoria.
  • Si un gestor responsable rebutja la sol·licitud de compra en qualsevol moment, la requisicions PO està "mort" i el procés hagi iniciat des del principi.
  • Flux de treball notifica el causant en cada pas del procés.
  • Cap escrits signatures — el client determinat (després d'algunes recomanacions contundents) que l'auditoria recorreguda com proporcionats mitjançant la història d'un flux de treball, se serveix a les seves necessitats d'auditoria.
  • Esforç — va prendre diverses setmanes aproximadament tres homes per implementar aquesta solució.

Conclusió

Aquesta solució aprofita MOSS com una plataforma de temps d'execució i desenvolupament. El client era capaç a força característiques principals molsa per automatitzar un procés de negocis de rutina que va afectar a gairebé tots els empleats de la companyia. Un servei web senzill amb l'excepció (que això mateix aprofita la molsa), gairebé no real "programació" era necessari.

La solució també serveix d'aparador"" per al client, demostrant com diferents característiques molsa es poden combinar per crear una aplicació plenament presentat negoci i generar noves oportunitats en el futur.

Glossari

MRO: Manteniment, reparació i operacions. Aquestes compres típicament inclouen elements com ara Quaderns de notes, cadires, ordinadors personals, Impressores, els telèfons mòbils i similars.

Examen 70-542: Recomanacions d'estudi (Servidor de SharePoint de Microsoft Office 2007 – Desenvolupament d'aplicacions)

ACTUALITZACIÓ: En els comentaris, algú enviava aquest enllaç: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. Sembla bo per a mi massa.

Em va passar l'examen tècnic de molsa avui, titulat "Microsoft Office SharePoint Portal Server 2007 – Desenvolupament d'aplicacions". He trobat l'examen serà força rigorós i que Igualada bastant bé amb Microsoft Guia de preparació.

He estat treballant amb molsa sobre una base diària i res que els batecs experiència pràctica real per a aquests exàmens.

Que va dir, Vaig prendre nota de que estava estudiant, com he estudiat. Crec que tots aquests recursos són útils, especialment com a mitjà de reforç que mans experiència.

Tema Enllaç
Serveis excel http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Cerca Cap recomanació especial. Jo havia pres una classe a principis d'any de cerca i experiència del món real em va dur a. Treballar amb el centre de cerca"" component de molsa.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Audiències http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Perfils http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Mgmt contingut 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 Mans treballar amb KPI en MOSS.
Flux de treball http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Mgmt informació http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variacions http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Mgmt registres http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
L'InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Molts d'aquests vincles portat a més enllaços i tendia a seguir-los fins a 3 nivells de profunditat.

Jo no diria que tot el que llegeixo directament aplicada a l'examen, però no em penedeixo de res d'això la lectura i fins i tot si alguns trossos no estaven directament relacionats. És totes les coses bones de saber i recomano el material per a tots els desenvolupadors de molsa ben arrodonits aspirants.

Resultats de la cerca de molsa/WSS (i dataviews): visualitzar les dades XML crus

Això pot ser obvi per a molts, però temps estudiant per meu examen de programació de molsa, He après que és força fàcil d'obtenir l'XML real d'una consulta de cerca mitjançant la interfície d'usuari.

Un mètode ràpid és el següent:

  • Cerca avançada d'accés.
  • Realitzar una recerca que retorna algunes dades.
  • Edita la pàgina (mitjançant la configuració del lloc).
  • Canvia l'XSL per les següents:

<?XML versió="1.0" codificació="UTF-8"?>
<
XSL:full d'estil versió="1.0" xmlns:XSL="http://www.w3.org/ 1999 / / transformació XSL">
<
XSL:sortida mètode="XML" versió="1.0" codificació="UTF-8" sagnia=""/>
<
XSL:plantilla Partit="/">
<
pre>
<
XSL:còpia de Selecciona="*"/>
</
pre>
</
XSL:plantilla>
</
XSL:full d'estil>

  • Colpia aplicar.
  • Mostra la font en el navegador.

Tingueu en compte que la <pre> etiqueta no fer molt excepte serveixen com a marcador còmode quan visualitzeu els resultats.

Aquest truc pot ser molt útil quan treballant amb propietats administrades i personalització de la recerca. Proporcionarà una llista definitiva de l'XML disponible per al seu ús en el seu xslt que hauria estat molt útil l'últim 25 vegades he creat alguns resultats de cerca personalitzats.

Això hauria de treballar per a dataviews, així, encara que no he provat això encara.

No CQWP per WSS? Tasti això…

Vaig veure que Eric Kraus es va enfrontar a un requisit normalment es va reunir amb un element web de consulta de continguts. El problema? Va ser en un entorn de WSS pur sense accés a la CQWP. En lloc d'arraulir en posició fetal (un impuls que ha de lluitar cada dia, sembla), va acostar amb la solució que dóna com a mínim botigues WSS una casualitat de baralla per tenir èxit. És descrita aquí.

Vista detallada i brillant de gestió de continguts API

Stefan Goßner ha reunit una sèrie de 4 parts terrible en el contingut del SharePoint i desplegament API aquí. Ofereix una visió molt i molt bons exemples de codi (C#).

En primer lloc recollit aquest enllaç de joris poelmans bloc a http://jopx.blogspot.com/.

Fins i tot si vostè és com jo, que no li han hagut de fer molta feina Hands-on per a la gestió de continguts, això val la pena 20 minuts del seu temps per llegir.

Utilitzant l'API, es pot:

  • Exportar i importar contingut molt fàcilment.
  • Contingut re-principal. Si voleu exportar el contingut d'un lloc "A" i enviar-lo al lloc "B" però en un totalment nou lloc en la jerarquia, Això és possible.
  • Exportar el contingut d'un lloc A i importar fragments seleccionats al lloc A.
  • Torna a enllaçar contingut (significat d'acord amb tots els enllaços).

WSS, doc libs & llistes, Amb la participació de columnes calculades [Mi]

Algú de la Internets estava preguntant sobre com crear una columna calculada en una llista que mostra un valor formatat"[L'usuari] – [L'estat] – [Localització]" com en "Paul Galvin – Beure [lliure] Cervesa – La platja".

Paul vols entrar i actualitzar la seva entrada a la llista i la columna calculada actualitzaria adequadament. El [L'usuari] hauria d'omissió a la l'usuari entrar/actualització de la llista.

Una columna calculada no pot utilitzar "seguretat i volàtil" funcions com [Mi] o [Avui]. El resolia en un entorn de prova amb aquests passos:

  1. Crear una columna de text anomenat "Usuari actual".
  2. Posi el seu valor per defecte [Mi]
  3. Crear una columna calculada anomenada "Prova Calc".
  4. Posi el seu valor = [L'usuari actual]

Vaig anar, afegir un element a la llista i treballava.

Passat el meu 70-315 examen avui!

Vaig passar el "desenvolupament i implementació Web aplicacions amb Microsoft Visual c# .NET i Microsoft Visual Studio .NET" examen avui en el gran estat de NJ a les oficines venerable de SolarTech a Hasbrouck Heights.

Poso aquest examen altura de BizTalk quant a dificultat. Vostè no pot falsificar el seu camí a través del mateix.

A l'estudi, He utilitzat el el MCAD/MCSD propi ritme formació equipament llibre titulat Desenvolupament d'aplicacions Web amb Microsoft Visual Basic .NET i Visual c# .NET.

Directrius de Microsoft (aquí) són exactament correcte IMO. El llibre planteja tot i si tens una mica o l'experiència del món real, hauria de ser un examen senzilla. Si no, prendre el temps aconseguir alguna experiència en el món real o executar almenys els laboratoris en el llibre. Que probablement li donarà el que necessites.

Jo fins i tot anar tan lluny com per recomanar el llibre a pro, persones especialment autodidactes com jo. Cobreix algunes coses bàsiques que mai m'havia una raó per ensopegar en els meus viatges i jo estic puntades a mi mateix una mica per no haver pres el temps per aprendre.

Dissenyador de SharePoint, “Recollir dades d'usuari” i utilitzant els resultats.

Utilitzar els "recollir dades d'usuari" acció per crear i assignar una tasca a un usuari que incitant-los les dades. Entre altres coses, L'he utilitzat per impulsar un usuari per aprovar o rebutjar una petició i introduir alguns comentaris.

Aquesta acció pren la forma de:

Recollir dades des de aquest usuari (Sortida a Variable: collect1)

Fent clic a dades tira d'una sèrie de quadres de diàleg on especifica quines dades l'usuari hauria de proporcionar quan completant la tasca i aquest usuari és obvi.

La part de producció (Variable: collect1) estalvia l'ID de la tasca. Utilitza aquesta en el seu flux de treball per extreure la resposta actual de l'usuari mitjançant la "comparar qualsevol font de dades" condició.

Aquesta condició Mostra com

Si camp és igual a valor

Feu clic a camp i llavors la f(x) icona i treu un altre quadre de diàleg. Utilitzeu aquest quadre de diàleg generalitzada per dir coses SPD dos;

1. Què és la llista i columna el valor que voleu comparar.

2. Com el motor de flux de treball ha localitzar la fila específic en aquesta llista?

Fer-ho:

  1. Canviar la font"" desplegable per apuntar a la llista de tasques correctes. Fixeu-vos que el quadre de diàleg s'expandeix per mostrar un "trobar l'element de llista" secció.
  2. Al quadre desplegable d'àmbit Lookup detalls, Seleccioneu el nom del camp el valor que es vol (això mapes per què vostè diu en el quadre de diàleg de recollir dades des de dalt).
  3. En el "trobar l'element de llista" secció, Seleccioneu "les tasques:ID" al quadre desplegable d'àmbit.
  4. En el camp de valor, feu clic a la f(x). Això obre un altre quadre de diàleg.
  5. Canviar la font "dades de flux de treball"
  6. Seleccioneu el flux de treball variable que coincideix amb el de la "sortida a Variable" des de l'acció de recollir dades.
  7. Clic correcte/OK i ja està.

Sembla com això per a mi:

imatge

En aquest punt, pot ara utilitzar aquell valor en el seu flux de treball segons calgui.

Notes addicionals:

Com una banda breu, Sempre crea una variable de flux de treball apropiadament anomenat de tipus "llista ID d'element" i l'ús que en lloc de la auto-generat "collect1".

Aquest "comparar qualsevol font de dades" diàleg conjunt s'utilitza en diversos llocs diferents del SPD i val la pena el domini.

= = final

Etiquetas de Technorati:

Intermitent I.E. s'estavella en accedir a documents en una biblioteca de documents WSS/molsa

Jo he estat infestats per això per a 9 mesos i vaig veure que la gent en els fòrums de MSDN i Usenet té too.l

Vegades, en accedir a un document del word (o altres tipus de document) des d'un document biblioteca provoca Explorador d'Internet simplement xoqués i se n'anirà (tenint totes les pestanyes amb ella si obriu qualsevol són).

Aquest hotfix MS pot solucionar-lo: http://support.microsoft.com/kb/938888

També, hi ha alguna descripció sobre el problema aquí:

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

Enviarà el pas XPath real?

Visió de conjunt:

Crear una llista personalitzada que gestiona un tipus de contingut amb algunes dotzena columnes.

Afegeix-lo a una pàgina i llavors via SPD, convertida en una visualització de dades.

Problema:

La meva expressió de Xpath tornava en blanc per a una columna anomenada "Posició actual". Referenciava així:

    <frontera taula = "1">
      <XSL:= seleccionar per a cada "/ files/dsQueryResponse/fila" >
        <tr>
          <TD>
            Estat actual:
            <XSL:valor de a select="@Current_x0020_Status"></XSL:valor de>
          </TD>
        </tr>
      </XSL>
    </taula>

La columna del CT s'anomena "Estat actual". Apareix a la cerca com "Estat actual". Onsevulla que miri, veieu "Estat actual".

Mentre uns bojament consisteix, buscant una solució, En canvi m'he referit a "@Recruiter" i vet aquí! — que realment tornar enrere la situació actual. Me l'esperava per tornar enrere el reclutador quan feia que.

Solució:

Em va ficar el SPD. Anar a la pàgina de l'SPD i Mostra la visualització de dades. Vostè pot inspeccionar l'actual dades proporcionada a la vista i associats Xpath. Aquí vaig saber que en efecte, el Xpath va assenyalar "Reclutat". Curiosament, la "real" camp reclutat assenyalat des de "Recruiter1".

Emportar-se:

SPD proporciona les expressions Xpath autoritzat per files & columnes a una visualització de dades.

Segon, Mostra les dades reals. Així, per exemple, una columna del tipus demostra:

<nobr><span><Un HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID = 17»>Galvin, Paul</A><frontera img ="0" Alçada = "1" amplada = "3" src="/_layouts/images/blank.gif"/><un href = "javascript:’ onclick = "IMNImageOnClick();retorn fals;’ Class = 'ms-imnlink'><img nom ='imnmark’ títol =” frontera =’0′ alçada ='12’ amplada ='12’ src='/_layouts/images/blank.gif’ alt = "no hi ha informació de presència’ Preneu ='PGalvin@xxx.com’ Identificador ='imn_77, tipus = smtp'/></un></span></nobr>